zhangzengfei
2025-02-06 cf2300a3bf596f57ab2ca1a8e134eea1beb24bf6
完善托管
1个文件已修改
28 ■■■■■ 已修改文件
models/disappear.go 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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)
}