make(RecordRepository::class) ->getSearch([]) ->field(['id','uid','mer_id','order_id','commission_merchants_money']) ->whereIn('order_id',$data['order_ids']) ->where('commission_merchants_status',0) ->where('commission_merchants_money','>',0) ->with([ 'mer' => function($query){ $query->field('mer_id,mer_name,mer_avatar,spread_uid as mer_spread_uid')->bind(['mer_name','mer_avatar','mer_spread_uid']); }, 'user' => function($query){ $query->field('uid,nickname,avatar')->bind(['nickname','avatar']); }, ]) ->select() ->toArray(); if($list){ $userBillRepository = app()->make(UserBillRepository::class); $userRepository = app()->make(UserRepository::class); $updateData = []; foreach($list as $singleInfo){ if((int)$singleInfo['mer_spread_uid'] > 0){ $userBillRepository->incBill($singleInfo['mer_spread_uid'], 'brokerage', 'commission_merchants', [ 'link_id' => $singleInfo['order_id'], 'status' => 0, 'title' => '获得招商佣金', 'number' => $singleInfo['commission_merchants_money'], 'mark' => $singleInfo['nickname'] . '在' . $singleInfo['mer_name'] . '进行消费,奖励招商佣金' . floatval($singleInfo['commission_merchants_money']), 'balance' => 0 ]); $userRepository->incBrokerage($singleInfo['mer_spread_uid'], $singleInfo['commission_merchants_money']); $updateData[] = [ 'id' => $singleInfo['id'], 'commission_merchants_status' => 1 ]; }else{ $updateData[] = [ 'id' => $singleInfo['id'], 'commission_merchants_status' => 2 ]; } } // 修改成功信息 Record::batchUpdate(array_values($updateData)); } } catch(\Exception $e){ $data['error_msg'] = $e->getMessage(); Log::info('招商员佣金结算 - 失败: '.var_export($data,1)); } $job->delete(); } public function failed($data){ Log::info('招商员佣金结算 - 失败(failed): '.var_export($data,1)); } }