sunty
2024-05-30 61c76d09c574cbd308294dae7a2e9115d1ce5004
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("进出异常开始入口!!!!!!")
   tasks, err := db.GetAllTaskData()
@@ -44,17 +44,31 @@
         tkInfo.Name = taskInfo.Name
      }
   }
   //fmt.Println("tkInfo: ", tkInfo)
   //fmt.Println("docNumIdMap: ", len(docNumIdMap))
   //获取商住楼cameraid
   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 {