修复A2C工单蜘蛛

This commit is contained in:
root
2026-07-01 01:26:27 +08:00
parent 9f2e904fab
commit 54c13c54ef
22 changed files with 1614 additions and 272 deletions
@@ -13,7 +13,7 @@ use app\admin\model\split\Ticket;
class SplitTicketRuleService
{
/**
* 同步后应用全部规则并写回工单/号码
* 同步后应用工单开关规则;号码开关以爬虫/platform 快照为准(不再跑单号上限/下号比率)
*/
public function applyAfterSync(Ticket $ticket, int $completeCount): void
{
@@ -22,8 +22,9 @@ class SplitTicketRuleService
if ($fresh) {
if ((string) $fresh['status'] === 'hidden') {
$this->cascadeTicketClosedToNumbers($fresh);
} else {
(new SplitTicketNumberSyncService())->applyStatusFromPlatformSnapshot($fresh);
}
$this->applyNumberRules($fresh);
}
}
@@ -69,7 +70,7 @@ class SplitTicketRuleService
}
/**
* 手动切换工单状态时,联动非手动管理的号码
* 手动切换工单状态时,非手动号码按 platform_status 对齐开关
*/
public function syncNumbersWithTicketStatus(Ticket $ticket): void
{
@@ -78,17 +79,17 @@ class SplitTicketRuleService
$this->cascadeTicketClosedToNumbers($ticket);
return;
}
$this->applyNumberRules($ticket);
(new SplitTicketNumberSyncService())->applyStatusFromPlatformSnapshot($ticket);
}
/**
* 工单处于开启状态时,将云控在线的非手动号码设为开启
*
* @deprecated 请使用 applyNumberRules(会校验单号上限/下号比率
* @deprecated 请使用 applyStatusFromPlatformSnapshot(以 platform_status 为准
*/
public function syncOnlineNumbersWhenTicketOpen(Ticket $ticket): void
{
$this->applyNumberRules($ticket);
(new SplitTicketNumberSyncService())->applyStatusFromPlatformSnapshot($ticket);
}
/**