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';
}
}