zhaoqingang
2025-02-19 12d094a193e190bedb1fcf35ac024eaec3c77e9f
models/disappear.go
@@ -84,6 +84,34 @@
   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(`
      SELECT
@@ -204,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
         }
      }