解决后台用户余额和积分修改时,因类型不同导致写入记录表无用记录的问题

pull/339/head
Henry 2021-07-13 11:43:17 +08:00
parent e05a8584e2
commit 4275d769ea
2 changed files with 4 additions and 4 deletions

View File

@ -47,12 +47,11 @@ class User extends Model
self::beforeUpdate(function ($row) { self::beforeUpdate(function ($row) {
$changedata = $row->getChangedData(); $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' => '管理员变更金额']); MoneyLog::create(['user_id' => $row['id'], 'money' => $changedata['money'] - $origin['money'], 'before' => $origin['money'], 'after' => $changedata['money'], 'memo' => '管理员变更金额']);
} }
if (isset($changedata['score'])) { if (isset($changedata['score']) && (int) $changedata['score'] !== (int) $origin['score']) {
$origin = $row->getOriginData();
ScoreLog::create(['user_id' => $row['id'], 'score' => $changedata['score'] - $origin['score'], 'before' => $origin['score'], 'after' => $changedata['score'], 'memo' => '管理员变更积分']); ScoreLog::create(['user_id' => $row['id'], 'score' => $changedata['score'] - $origin['score'], 'before' => $origin['score'], 'after' => $changedata['score'], 'memo' => '管理员变更积分']);
} }
}); });

View File

@ -29,6 +29,7 @@
"ext-json": "*", "ext-json": "*",
"ext-curl": "*", "ext-curl": "*",
"ext-pdo": "*", "ext-pdo": "*",
"ext-bcmath": "*",
"txthinking/mailer": "^2.0" "txthinking/mailer": "^2.0"
}, },
"config": { "config": {