select(); $logs = []; foreach($lists as $item){ $id = isset($item['id'])? $item['id'] : 0; $score = isset($item['score'])? $item['score'] : 0; $money = isset($item['money'])? $item['money'] : 0; $profit = isset($item['profit_money'])? $item['profit_money'] : 0; $greenScore = UserModel::where('id', $id)->value('green_score'); $newGreenScore = $greenScore; if($money>0){ echo "用户{$id} {$money} 余额转入
"; $logs[] = [ 'uid'=> $id, 'type'=> 12, 'score'=> $money, 'create_at'=> date('Y-m-d H:i:s'), 'from_id'=> 0, 'uid2'=> 0, 'state'=> 1, 'before_score'=> $newGreenScore, 'after_score'=> $newGreenScore+$money, 'remark'=> '余额转入' ]; $newGreenScore += $money; } if($profit>0){ echo "用户{$id} {$profit} 利润转入
"; $logs[] = [ 'uid'=> $id, 'type'=> 12, 'score'=> $profit, 'create_at'=> date('Y-m-d H:i:s'), 'from_id'=> 0, 'uid2'=> 0, 'state'=> 1, 'before_score'=> $newGreenScore, 'after_score'=> $newGreenScore+$profit, 'remark'=> '利润转入' ]; $newGreenScore +=$profit; } if($newGreenScore>0 && !UserModel::where('id',$id)->inc('score',$newGreenScore)->update()){ Db::rollback(); return 'fail'; } } if($logs){ if(!ScoreLogModel::insertAll($logs)){ Db::rollback(); return 'fail'; } if(!UserModel::where('id','>',0)->update(['money'=>0,'profit_money'=>0,'update_time'=>date('Y-m-d H:i:s')])){ Db::rollback(); return 'fail'; } } Db::commit(); return 'success'; } }