diff --git a/application/admin/model/User.php b/application/admin/model/User.php index 822c81b1743d5623f582f1d6d7bb2a64b99045d1..3f883d78ac6bde965786bb99e53821cdd6adbf72 100644 --- a/application/admin/model/User.php +++ b/application/admin/model/User.php @@ -47,12 +47,11 @@ class User extends Model self::beforeUpdate(function ($row) { $changedata = $row->getChangedData(); - if (isset($changedata['money'])) { - $origin = $row->getOriginData(); + $origin = $row->getOriginData(); + if (isset($changedata['money']) && (function_exists('bccomp') ? bccomp($changedata['money'], $origin['money'], 2) !== 0 : (double) $changedata['money'] !== (double) $origin['money'])) { MoneyLog::create(['user_id' => $row['id'], 'money' => $changedata['money'] - $origin['money'], 'before' => $origin['money'], 'after' => $changedata['money'], 'memo' => '管理员变更金额']); } - if (isset($changedata['score'])) { - $origin = $row->getOriginData(); + if (isset($changedata['score']) && (int) $changedata['score'] !== (int) $origin['score']) { ScoreLog::create(['user_id' => $row['id'], 'score' => $changedata['score'] - $origin['score'], 'before' => $origin['score'], 'after' => $changedata['score'], 'memo' => '管理员变更积分']); } }); diff --git a/composer.json b/composer.json index b059b41abe4a0b0a0869f4e1294efce1ccd50bc0..1de5563d2ab5682213480973e6d8781c5c6c33db 100755 --- a/composer.json +++ b/composer.json @@ -29,6 +29,7 @@ "ext-json": "*", "ext-curl": "*", "ext-pdo": "*", + "ext-bcmath": "*", "txthinking/mailer": "^2.0" }, "config": {