正在显示
1 个修改的文件
包含
11 行增加
和
6 行删除
| @@ -272,10 +272,15 @@ class RelayInquiry extends Command | @@ -272,10 +272,15 @@ class RelayInquiry extends Command | ||
| 272 | public function relayDetail($task, $form) | 272 | public function relayDetail($task, $form) |
| 273 | { | 273 | { |
| 274 | $this->output('获取转发对象'); | 274 | $this->output('获取转发对象'); |
| 275 | + | ||
| 276 | + //代理商组 一个组只发一个 | ||
| 277 | + $agent_group = collect($task['target'])->groupBy('agent_group'); | ||
| 275 | // 获取转发对象 重置num数量, array_rand数量不足会报错 | 278 | // 获取转发对象 重置num数量, array_rand数量不足会报错 |
| 276 | - $task['num'] = $task['num'] > count($task['target']) ? count($task['target']) : $task['num']; | ||
| 277 | - $relay_target_key = array_rand($task['target'], $task['num']); | ||
| 278 | - if (empty($relay_target_key)) { | 279 | + $num = $task['num'] > count($agent_group) ? count($agent_group) : $task['num']; |
| 280 | + $random_data = $agent_group->keys()->random($num)->map(function ($group) use ($agent_group) { | ||
| 281 | + return $agent_group[$group]->random(); | ||
| 282 | + })->all(); | ||
| 283 | + if (empty($random_data)) { | ||
| 279 | $this->logChannel()->info('当前任务未发现转发对象!', ['广告任务ID:' . $task['id'], '询盘ID:' . $form->id]); | 284 | $this->logChannel()->info('当前任务未发现转发对象!', ['广告任务ID:' . $task['id'], '询盘ID:' . $form->id]); |
| 280 | $form->status = ReInquiryForm::STATUS_FORGO; | 285 | $form->status = ReInquiryForm::STATUS_FORGO; |
| 281 | $form->remark = '当前任务未发现转发对象,广告ID: ' . $form->ad_id . '!'; | 286 | $form->remark = '当前任务未发现转发对象,广告ID: ' . $form->ad_id . '!'; |
| @@ -283,10 +288,10 @@ class RelayInquiry extends Command | @@ -283,10 +288,10 @@ class RelayInquiry extends Command | ||
| 283 | return false; | 288 | return false; |
| 284 | } | 289 | } |
| 285 | 290 | ||
| 286 | - foreach ($relay_target_key as $key) { | 291 | + foreach ($random_data as $item) { |
| 287 | // 推送站点 | 292 | // 推送站点 |
| 288 | - $domain = $task['target'][$key]['url']; | ||
| 289 | - $is_v6 = $task['target'][$key]['is_v6']; | 293 | + $domain = $item['url']; |
| 294 | + $is_v6 = $item['is_v6']; | ||
| 290 | $re_website = 'https://' . $domain . '/'; | 295 | $re_website = 'https://' . $domain . '/'; |
| 291 | 296 | ||
| 292 | $this->output('转发对象:' . $domain); | 297 | $this->output('转发对象:' . $domain); |
-
请 注册 或 登录 后发表评论