From 61c76d09c574cbd308294dae7a2e9115d1ce5004 Mon Sep 17 00:00:00 2001 From: sunty <1172534965@qq.com> Date: 星期四, 30 五月 2024 13:42:08 +0800 Subject: [PATCH] 调整进出异常过滤 置在数据段 --- rule/service.go | 29 ++++++++++++++++++++++++----- 1 files changed, 24 insertions(+), 5 deletions(-) diff --git a/rule/service.go b/rule/service.go index 2a476d2..5fac3c6 100644 --- a/rule/service.go +++ b/rule/service.go @@ -3,6 +3,7 @@ import ( "basic.com/valib/logger.git" "fmt" + "ruleModelEngine/cache" "ruleModelEngine/config" "ruleModelEngine/data" "ruleModelEngine/db" @@ -29,8 +30,7 @@ // return true //} -// 鎵ц绋嬪簭鍏ュ彛 -func ExecuteTask() { +func executeEnteringButNotLeaving(communityId string) { //杩涘嚭寮傚父甯冩帶浠诲姟锛屾殏鏃跺綊绫诲埌鏍囩璁$畻閮ㄥ垎 //fmt.Println("杩涘嚭寮傚父寮�濮嬪叆鍙o紒锛侊紒锛侊紒锛�") tasks, err := db.GetAllTaskData() @@ -44,17 +44,31 @@ tkInfo.Name = taskInfo.Name } } + //fmt.Println("tkInfo: ", tkInfo) + //fmt.Println("docNumIdMap: ", len(docNumIdMap)) + //鑾峰彇鍟嗕綇妤糲ameraid + + cameraIds := make([]string, 0) + for _, deviceInfo := range cache.Device { + if deviceInfo.AreaID == communityId && deviceInfo.BuildingType == db.BuildingTypeMixedUse { + cameraIds = append(cameraIds, deviceInfo.DeviceCode) + } + } + if len(cameraIds) == 0 { + logger.Info("涓嶅瓨鍦ㄥ晢浣忔ゼ璁惧锛�", cameraIds) + return + } + //鏌ヨ寰呭垽鏂繘鍑哄紓甯搁璀︽。妗� days := config.Api.AInterval - docNumIdMap, err := db.QueryLastIdByDayRange(days, days-1) + docNumIdMap, err := db.QueryLastIdByDayRange(communityId, cameraIds, days, days-1) if err != nil { logger.Error("QueryByDayRange err: ", err) } - //fmt.Println("docNumIdMap: ", len(docNumIdMap)) for docNumber, id := range docNumIdMap { //fmt.Println(docNumber, id) alarmRules := make([]db.AlarmRule, 0) - flag := task.EnteringButNotLeaving(docNumber, days) + flag := task.EnteringButNotLeaving(docNumber, communityId, cameraIds, days) if flag == true { alarmRules = append(alarmRules, db.AlarmRule{RuleId: strconv.Itoa(tkInfo.Id), RuleText: tkInfo.Name, AlarmLevel: "0"}) } @@ -67,7 +81,10 @@ logger.Info("AddAlarmRules success: ", id) } } +} +// 鎵ц绋嬪簭鍏ュ彛 +func ExecuteTask() { //return ruleInfo, err := db.GetAllData() if err != nil { @@ -85,11 +102,13 @@ } //fmt.Println(labeManage) for _, communityID := range communityIDs { + executeEnteringButNotLeaving(communityID) //涓囧叏绀惧尯 //if communityID != "50010101010000001001" { // continue //} fmt.Println("communityID: ", communityID) + //continue //鏌ヨ绀惧尯鍐呬汉鍛樻。妗堬紝鏂逛究鏁版嵁鏇存柊 personStatusList, err := db.QueryPersonStatusWithPagination(communityID, 30) if err != nil { -- Gitblit v1.8.0