From fca319958029fa924308e50cb61202d7d6ff5008 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期三, 19 二月 2025 13:33:37 +0800
Subject: [PATCH] 暂停聚集模型

---
 models/disappear.go |   42 +++++++++++++++++++++++++++++-------------
 1 files changed, 29 insertions(+), 13 deletions(-)

diff --git a/models/disappear.go b/models/disappear.go
index 3f09e2a..0532f6b 100644
--- a/models/disappear.go
+++ b/models/disappear.go
@@ -80,20 +80,37 @@
 	return nil
 }
 
-type PersonInfo struct {
-	DocumentNumber     string `json:"document_number"`
-	CommunityId        string `json:"community_id"`
-	OrgId              string `json:"org_id"`
-	PersonName         string `json:"person_name"`
-	IdCard             string `json:"id_card"`
-	LastAppearanceTime int64  `json:"last_appearance_time"`
-	LastDirection      string `json:"last_direction"`
-	LastLocation       string `json:"last_location"`
-}
-
 func (m *DisappearModel) Run() error {
 	results := make([]*db.ModelTaskResults, 0)
 	var ageFilter, labelFilter, keyFilter, lastFilter []PersonInfo
+
+	if m.MinAge == 0 && m.PersonLabel == "" && m.KeyPersonType == "" {
+		err := db.GetDB().Raw(`
+		SELECT
+			s.document_number,
+			s.community_id,
+			s.org_id,
+			p.person_name,
+			p.id_card,
+			s.last_appearance_time,
+			s.last_direction,
+			s.last_location 
+		FROM
+			snapshot_count_summary AS s
+			JOIN person AS p ON p.id = s.document_number 
+		WHERE
+			s.last_appearance_time > ?
+		`, m.StartTime).Scan(&lastFilter).Error
+		if err != nil {
+			logger.Warnf(err.Error())
+		}
+
+		if len(lastFilter) == 0 {
+			return fmt.Errorf("no results found that match the condition %+v", m.Task.Rules)
+		}
+
+		logger.Debugf("task %s match default result %d", m.Task.Name, len(lastFilter))
+	}
 
 	if m.MinAge > 0 {
 		err := db.GetDB().Raw(`
@@ -215,8 +232,7 @@
 	for _, p := range lastFilter {
 		if len(m.AreaIds) > 0 {
 			_, o1 := m.AreaIds[p.CommunityId]
-			_, o2 := m.AreaIds[p.OrgId]
-			if !o1 && !o2 {
+			if !o1 {
 				continue
 			}
 		}

--
Gitblit v1.8.0