修正A2C过火墙、删除工单同步删除工单关联的号码

This commit is contained in:
root
2026-06-26 21:24:31 +08:00
parent 09bfa9ae01
commit 6130125427
8 changed files with 100 additions and 28 deletions
@@ -5,10 +5,11 @@ declare(strict_types=1);
namespace app\common\library\scrm\spider;
use app\common\library\scrm\AbstractScrmSpider;
use app\common\library\scrm\AntiBotConfigBuilder;
use app\common\library\scrm\UnifiedScrmData;
/**
* A2C 云控蜘蛛
* A2C 云控蜘蛛Real Browser + Turnstile 过盾 + UI 翻页)
*/
class A2cSpider extends AbstractScrmSpider
{
@@ -50,6 +51,7 @@ class A2cSpider extends AbstractScrmSpider
'authActions' => [
['type' => 'wait', 'ms' => 2000],
],
'antiBot' => AntiBotConfigBuilder::build('a2c', $this->pageUrl),
];
}
@@ -45,6 +45,29 @@ class SplitTicketRuleService
]);
}
/**
* 工单物理删除时,移除该工单同步导入的号码(manual_manage=0
*
* 关联键与 SplitTicketNumberSyncService 一致:admin_id + split_link_id + ticket_name
* manual_manage=1 的手动管理号码保留
*
* @return int 删除行数
*/
public function deleteSyncedNumbersForTicket(Ticket $ticket): int
{
$ticketName = trim((string) ($ticket['ticket_name'] ?? ''));
$linkId = (int) ($ticket['split_link_id'] ?? 0);
if ($ticketName === '' || $linkId <= 0) {
return 0;
}
return Number::where('admin_id', (int) $ticket['admin_id'])
->where('split_link_id', $linkId)
->where('ticket_name', $ticketName)
->where('manual_manage', 0)
->delete();
}
/**
* 手动切换工单状态时,联动非手动管理的号码
*/