手动关闭状态不要自动打开重启同步

This commit is contained in:
root
2026-07-07 14:56:39 +08:00
parent 2e621bf970
commit 92b4faf61f
12 changed files with 166 additions and 14 deletions
@@ -279,11 +279,22 @@ class Ticket extends Backend
$params['sync_fail_count'],
$params['speed_snapshot_count'],
$params['speed_snapshot_time'],
$params['click_count']
$params['click_count'],
$params['manual_manage']
);
return $params;
}
/**
* 用户切换工单状态时写入 manual_manage,防止同步自动恢复开启
*
* @param array<string, mixed> $values
*/
private function applyManualManageForStatusChange(array &$values): void
{
(new SplitTicketRuleService())->applyManualManageForStatusChange($values);
}
/**
* 手动同步选中工单(投递 CLI 后台执行,Web 请求立即返回)
*/
@@ -408,6 +419,7 @@ class Ticket extends Backend
$ruleService = new SplitTicketRuleService();
if (isset($values['status'])) {
$this->applyManualManageForStatusChange($values);
$pk = $this->model->getPk();
$adminIds = $this->getDataLimitAdminIds();
$query = $this->model->where($pk, 'in', $ids);
@@ -582,6 +594,9 @@ class Ticket extends Backend
$params['number_type_custom'] = '';
}
$oldStatus = (string) ($row['status'] ?? 'hidden');
if (isset($params['status']) && (string) $params['status'] !== $oldStatus) {
$this->applyManualManageForStatusChange($params);
}
$result = false;
Db::startTrans();
try {