修复删除工单所有关联号码

This commit is contained in:
root
2026-07-05 23:03:50 +08:00
parent 744d8b26a4
commit ef4c8153c2
4 changed files with 4 additions and 8 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ class Ticket extends Model
protected static function init(): void protected static function init(): void
{ {
// 删除工单时:释放同步锁,并物理删除同步导入的号码(manual_manage=0 // 删除工单时:释放同步锁,并物理删除该工单关联的全部号码
self::beforeDelete(function (self $ticket): void { self::beforeDelete(function (self $ticket): void {
(new SplitTicketSyncLockService())->release((int) $ticket['id']); (new SplitTicketSyncLockService())->release((int) $ticket['id']);
(new SplitTicketRuleService())->deleteSyncedNumbersForTicket($ticket); (new SplitTicketRuleService())->deleteSyncedNumbersForTicket($ticket);
@@ -54,10 +54,9 @@ class SplitTicketRuleService
} }
/** /**
* 工单物理删除时,移除该工单同步导入的号码(manual_manage=0 * 工单物理删除时,移除该工单关联的全部号码(manual_manage=1
* *
* 关联键与 SplitTicketNumberSyncService 一致:admin_id + split_link_id + ticket_name * 关联键与 SplitTicketNumberSyncService 一致:admin_id + split_link_id + ticket_name
* manual_manage=1 的手动管理号码保留
* *
* @return int 删除行数 * @return int 删除行数
*/ */
@@ -72,7 +71,6 @@ class SplitTicketRuleService
return Number::where('admin_id', (int) $ticket['admin_id']) return Number::where('admin_id', (int) $ticket['admin_id'])
->where('split_link_id', $linkId) ->where('split_link_id', $linkId)
->where('ticket_name', $ticketName) ->where('ticket_name', $ticketName)
->where('manual_manage', 0)
->delete(); ->delete();
} }
@@ -19,7 +19,7 @@ class Ticket extends Model
protected static function init(): void protected static function init(): void
{ {
// 删除工单时:释放同步锁,并物理删除同步导入的号码(manual_manage=0 // 删除工单时:释放同步锁,并物理删除该工单关联的全部号码
self::beforeDelete(function (self $ticket): void { self::beforeDelete(function (self $ticket): void {
(new SplitTicketSyncLockService())->release((int) $ticket['id']); (new SplitTicketSyncLockService())->release((int) $ticket['id']);
(new SplitTicketRuleService())->deleteSyncedNumbersForTicket($ticket); (new SplitTicketRuleService())->deleteSyncedNumbersForTicket($ticket);
@@ -54,10 +54,9 @@ class SplitTicketRuleService
} }
/** /**
* 工单物理删除时,移除该工单同步导入的号码(manual_manage=0 * 工单物理删除时,移除该工单关联的全部号码(manual_manage=1
* *
* 关联键与 SplitTicketNumberSyncService 一致:admin_id + split_link_id + ticket_name * 关联键与 SplitTicketNumberSyncService 一致:admin_id + split_link_id + ticket_name
* manual_manage=1 的手动管理号码保留
* *
* @return int 删除行数 * @return int 删除行数
*/ */
@@ -72,7 +71,6 @@ class SplitTicketRuleService
return Number::where('admin_id', (int) $ticket['admin_id']) return Number::where('admin_id', (int) $ticket['admin_id'])
->where('split_link_id', $linkId) ->where('split_link_id', $linkId)
->where('ticket_name', $ticketName) ->where('ticket_name', $ticketName)
->where('manual_manage', 0)
->delete(); ->delete();
} }