From cf2300a3bf596f57ab2ca1a8e134eea1beb24bf6 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期四, 06 二月 2025 15:22:00 +0800 Subject: [PATCH] 完善托管 --- models/disappear.go | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git a/models/disappear.go b/models/disappear.go index c82bfcf..da3bd39 100644 --- a/models/disappear.go +++ b/models/disappear.go @@ -69,10 +69,10 @@ } - logger.Debugf("DisappearModel init finish ...task id:%s, name:%s, rule:%+v\n", task.ID, task.Name, m) + logger.Debugf("DisappearModel init finish ...task id:%s, name:%s, rule:%+v", task.ID, task.Name, m) if m.DisappearTime == 0 { - logger.Warnf("invalid parameters. task id:%s, name:%s\n", task.ID, task.Name) + logger.Warnf("invalid parameters. task id:%s, name:%s", task.ID, task.Name) return errors.New("invalid parameters") } @@ -102,7 +102,7 @@ s.org_id, p.person_name, p.id_card, - s.last_appearance_time, + p.last_appearance_time, s.last_direction, s.last_location FROM @@ -129,7 +129,7 @@ return fmt.Errorf("no results found that match the age condition %s - %s", m.MinAge, m.MaxAge) } - logger.Debugf("match age result %d", len(ageFilter)) + logger.Debugf("task %s match age result %d", m.Task.Name, len(ageFilter)) } if m.PersonLabel != "" { @@ -141,7 +141,7 @@ s.org_id, p.person_name, p.id_card, - s.last_appearance_time, + p.last_appearance_time, s.last_direction, s.last_location FROM @@ -159,7 +159,7 @@ return fmt.Errorf("no results found that match the label condition %s", m.PersonLabel) } - logger.Debugf("match label result %d", len(labelFilter)) + logger.Debugf("task %s match label result %d", m.Task.Name, len(labelFilter)) } // 鍚堝苟涓�涓嬫潯浠� @@ -180,7 +180,7 @@ s.org_id, p.person_name, p.id_card, - s.last_appearance_time, + p.last_appearance_time, s.last_direction, s.last_location FROM @@ -196,7 +196,7 @@ logger.Warnf(err.Error()) } - logger.Debugf("match key person result %d", len(keyFilter)) + logger.Debugf("task %s match key person result %d", m.Task.Name, len(keyFilter)) if len(lastFilter) > 0 { lastFilter = intersectPersonInfo(lastFilter, keyFilter) @@ -205,7 +205,9 @@ } } - logger.Debugf("last result %d", len(lastFilter)) + logger.Debugf("task %s last result %d", m.Task.Name, len(lastFilter)) + + var personIds = make(map[string]struct{}, 0) for _, p := range lastFilter { if len(m.AreaIds) > 0 { _, o1 := m.AreaIds[p.CommunityId] @@ -235,10 +237,18 @@ FirstPersonID: p.DocumentNumber, } + // 鍚屼竴涓汉鎶ヨ涓�娆� + if _, ok := personIds[p.DocumentNumber]; ok { + continue + } else { + personIds[p.DocumentNumber] = struct{}{} + } + results = append(results, result) } } + logger.Debugf("task %s last filter result %d", m.Task.Name, len(results)) return service.SaveTaskResults(results) } -- Gitblit v1.8.0