where([ 'user_id'=>$userId ])->find(); if (!$user) { return false; } $before = $user->money; if($type == 'money'){ $after = function_exists('bcadd') ? bcadd($user->money, $money, 2) : $user->money + $money; if($money > 0){ $totalMoney = function_exists('bcadd') ? bcadd($user->money_total, $money, 2) : $user->money_total + $money; $changeParams['money_total'] = $totalMoney; } if($isFreeze){ $freezeMoney = function_exists('bcadd') ? bcadd($user->money_freeze, ($money * -1), 2) : $user->money_freeze + ($money * -1); $changeParams['money_freeze'] = $freezeMoney; } }else{ $after = $before; } $totalMoney = function_exists('bcadd') ? bcadd($user->$type, $money, 2) : $user->$type + $money; $changeParams[$type] = $totalMoney; $user->save($changeParams); //写入日志 if($memo !== false){ if($type != 'money'){ $money = 0; } self::addLog($userId,$money,$before,$after,$memo); } return true; } /** * 添加日志 * @param $userId * @param $money * @param $before * @param $after * @param $memo * @return void */ public static function addLog($userId,$money,$before,$after,$memo = '') { self::create(['user_id' => $userId, 'money' => $money, 'before' => $before, 'after' => $after, 'memo' => $memo,'uniacid'=>UNIACID]); } }