From d21db1c6a6ffb2d2567348ce252d498f62b9b116 Mon Sep 17 00:00:00 2001 From: wong <106998207@qq.com> Date: Mon, 14 Jul 2025 11:59:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A5=BD=E5=8F=8B=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WeChatDeviceApi/Adapters/ChuKeBao/Adapter.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Server/extend/WeChatDeviceApi/Adapters/ChuKeBao/Adapter.php b/Server/extend/WeChatDeviceApi/Adapters/ChuKeBao/Adapter.php index cd164828..495b7ae7 100644 --- a/Server/extend/WeChatDeviceApi/Adapters/ChuKeBao/Adapter.php +++ b/Server/extend/WeChatDeviceApi/Adapters/ChuKeBao/Adapter.php @@ -153,9 +153,10 @@ class Adapter implements WeChatServiceInterface public function handleCustomerTaskWithStatusIsNew(int $current_worker_id, int $process_count_for_status_0) { - $task = Db::name('customer_acquisition_task') ->where(['status' => 1,'deleteTime' => 0]) + ->whereRaw("id % $process_count_for_status_0 = {$current_worker_id}") + ->order('id desc') ->select(); if (empty($task)) { @@ -164,11 +165,16 @@ class Adapter implements WeChatServiceInterface $taskData = []; foreach ($task as $item) { + $reqConf = json_decode($item['reqConf'], true); + $device = $reqConf['device'] ?? []; + $deviceCount = count($device); + if ($deviceCount <= 0){ + continue; + } $tasks = Db::name('task_customer') ->where(['status'=> 0,'task_id'=>$item['id']]) - ->whereRaw("id % $process_count_for_status_0 = {$current_worker_id}") ->order('id DESC') - ->limit(5) + ->limit($deviceCount) ->select(); $taskData = array_merge($taskData, $tasks); }