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 +++++++++++-----
service/esSearch.go | 3 +--
models/locationAnalysis.go | 2 +-
3 files changed, 13 insertions(+), 8 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
}
diff --git a/models/locationAnalysis.go b/models/locationAnalysis.go
index 8e7b20a..62ff299 100644
--- a/models/locationAnalysis.go
+++ b/models/locationAnalysis.go
@@ -230,7 +230,7 @@
if err != nil {
return err
}
- logger.Debugf("records %s last result %s", m.Task.Name, records)
+ logger.Debugf("records %s last result %+v", m.Task.Name, records)
domains, err := domainToLocation(records)
if err != nil {
return err
diff --git a/service/esSearch.go b/service/esSearch.go
index c5a14e9..700e438 100644
--- a/service/esSearch.go
+++ b/service/esSearch.go
@@ -89,7 +89,6 @@
"filter": filters,
},
},
- "size": 0,
"sort": []interface{}{map[string]interface{}{"picDate": map[string]interface{}{"order": "asc"}}},
"_source": map[string]interface{}{"includes": []interface{}{}, "excludes": []interface{}{"*.feature"}},
}
@@ -148,7 +147,7 @@
PicMaxUrl: source["picMaxUrl"].(string),
}
- cameraLocation := source["cameraId"].(map[string]interface{})
+ cameraLocation := source["cameraLocation"].(map[string]interface{})
record.CameraLocation = CameraLocation{
Building: cameraLocation["building"].(string),
Unit: cameraLocation["unit"].(string),
--
Gitblit v1.8.0