diff --git a/signing/app/cla.go b/signing/app/cla.go index 1e41b4a..8fb6420 100644 --- a/signing/app/cla.go +++ b/signing/app/cla.go @@ -62,11 +62,13 @@ func (s *claService) Update(cmd *CmdToUpdateCLA) error { return err } - if err = s.cs.SetPendingCLAForLink(cmd.LinkId, cla.Id); err != nil { - logs.Error("set pending CLA for link failed: %s, err: %v", cmd.LinkId, err) + if !dp.IsCLATypeIndividual(cla.Type) { + if err = s.cs.SetPendingCLAForLink(cmd.LinkId, cla.Id); err != nil { + logs.Error("set pending CLA for link failed: %s, err: %v", cmd.LinkId, err) + } } - watch.TriggerNotify() + watch.TriggerNotify(cla.Type) return nil } diff --git a/signing/watch/notify_corp_admin.go b/signing/watch/notify_corp_admin.go index 419bf51..297fd52 100644 --- a/signing/watch/notify_corp_admin.go +++ b/signing/watch/notify_corp_admin.go @@ -42,18 +42,22 @@ func NotifyAdminWatchStop() { } // TriggerNotify 立即触发一次通知扫描,不等待定时器周期。 -// CLA 更新后应调用此函数,确保企业和个人都在最短时间内收到通知。 -func TriggerNotify() { +// t 指定要触发的 CLA 类型,只触发对应类型的扫描器。 +func TriggerNotify(t dp.CLAType) { if notifyAdminWatchInstance == nil { return } - select { - case notifyAdminWatchInstance.corpTrigger <- struct{}{}: - default: + if !dp.IsCLATypeIndividual(t) { + select { + case notifyAdminWatchInstance.corpTrigger <- struct{}{}: + default: + } } - select { - case notifyAdminWatchInstance.individualTrigger <- struct{}{}: - default: + if dp.IsCLATypeIndividual(t) { + select { + case notifyAdminWatchInstance.individualTrigger <- struct{}{}: + default: + } } }