From 9bf9c64da2f0babb3313ba6b6b27c2f15bf62592 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期二, 11 二月 2025 11:04:58 +0800 Subject: [PATCH] 完善模型参数,修复bug --- models/accessRegularity.go | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/models/accessRegularity.go b/models/accessRegularity.go index 98e3197..26c021d 100644 --- a/models/accessRegularity.go +++ b/models/accessRegularity.go @@ -94,7 +94,7 @@ return fmt.Errorf("task id:%s, %s timeRange Time range setting error. %+v", task.ID, task.Name, task.Rules) } - logger.Debugf("LocationModel init finish ...task id:%s, name:%s, rule:%+v", task.ID, task.Name, m) + logger.Debugf("AccessRegularity init finish ...task id:%s, name:%s, rule:%+v", task.ID, task.Name, m) return nil } @@ -123,18 +123,22 @@ logger.Warnf(err.Error()) } + logger.Debugf("task %s base filter result %d", m.Task.Name, len(baseFilter)) esCli := db.GetEsClient() for _, p := range baseFilter { // 璋冪敤es鍒嗘瀽姝や汉鐨勫嚭琛岃寰嬫槸鍚︾鍚堟潯浠讹紝 杩斿洖绗﹀悎鏉′欢鐨勬鏁板拰鏈�鍚庝竴娆$鍚堟潯浠剁殑鏃堕棿 sTime := startDate.Format(time.DateTime) eTime := time.Now().Format(time.DateTime) captures, err := service.QueryEsRecord(esCli, sTime, eTime, nil, []interface{}{p.CommunityId}, []string{p.DocumentNumber}) + //logger.Debugf("task %s person %s captures %d", m.Task.Name, p.DocumentNumber, len(captures)) + if len(captures) == 0 || err != nil { continue } + //logger.Debugf("task %s person %s captures %+v", m.Task.Name, p.DocumentNumber, captures[0]) // 鏍规嵁鎶撴媿鏃堕棿鍜屽嚭鍏ユ柟鍚戯紝璁$畻绗﹀悎瑙勫垯鍐呯殑鍑哄叆娆℃暟 - hitCount := countValidDays(captures, m.StartHour, m.EndHour, m.LastDirection) + hitCount, pd := countValidDays(captures, m.StartHour, m.EndHour, m.LastDirection) if hitCount > m.Appearances { // 鍐欐暟鎹簱 @@ -147,7 +151,7 @@ OrgID: p.OrgId, ObjectIds: p.DocumentNumber, Location: p.FrequentAddress, - PicDate: time.Unix(p.LastAppearanceTime, 0).Format(time.DateTime), + PicDate: pd, FirstPersonID: p.DocumentNumber, } @@ -174,10 +178,11 @@ return "" } -func countValidDays(records []*service.ESRecordInfo, startHour, endHour int, direction string) int { +func countValidDays(records []*service.ESRecordInfo, startHour, endHour int, direction string) (int, string) { layout := "2006-01-02 15:04:05" // 鏃堕棿鏍煎紡 lastDirectionMap := make(map[string]string) // 璁板綍鏈�鍚庝竴鏉� Direction lastTimeMap := make(map[string]time.Time) // 璁板綍鏈�鍚庝竴鏉℃椂闂� + lastPicDate := "" // 鍒ゆ柇鏄惁璺ㄥぉ var isCrossDay bool @@ -219,6 +224,7 @@ if lastTime, exists := lastTimeMap[key]; !exists || t.After(lastTime) { lastTimeMap[key] = t lastDirectionMap[key] = record.CameraLocation.Direction + lastPicDate = record.PicDate } } @@ -230,5 +236,5 @@ } } - return count + return count, lastPicDate } -- Gitblit v1.8.0