make(RecordRepository::class) ->getSearch([]) ->field(['id','uid','mer_id','order_id','commission_promoter_money']) ->whereIn('order_id',$data['order_ids']) ->where('commission_promoter_status',0) ->where('commission_promoter_money','>',0) ->with([ 'user' => function($query){ $query->field('uid,nickname,avatar,spread_uid')->bind(['nickname','avatar','spread_uid']); }, ]) ->select() ->toArray(); if($list){ $userBillRepository = app()->make(UserBillRepository::class); $userRepository = app()->make(UserRepository::class); $updateData = []; foreach($list as $singleInfo){ if((int)$singleInfo['spread_uid'] > 0){ $userBillRepository->incBill($singleInfo['spread_uid'], 'brokerage', 'commission_promoter', [ 'link_id' => $singleInfo['order_id'], 'status' => 0, 'title' => '获得推广佣金', 'number' => $singleInfo['commission_promoter_money'], 'mark' => $singleInfo['nickname'] . '进行消费,奖励推广佣金' . floatval($singleInfo['commission_promoter_money']), 'balance' => 0 ]); $userRepository->incBrokerage($singleInfo['spread_uid'], $singleInfo['commission_promoter_money']); $updateData[] = [ 'id' => $singleInfo['id'], 'commission_promoter_status' => 1 ]; }else{ $updateData[] = [ 'id' => $singleInfo['id'], 'commission_promoter_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)); } }