sunty
2024-09-09 28c5cf41c5064579dd62f79fd40dc5990e9565b2
task/service.go
@@ -2,20 +2,16 @@
import (
   "basic.com/valib/logger.git"
   "fmt"
   "ruleModelEngine/cache"
   "ruleModelEngine/config"
   "ruleModelEngine/db"
   "strconv"
   "time"
)
type alarmRule struct {
   ruleId   int
   ruleText string
}
func TaskAnalysisService(id string) {
   alarmRules := make([]alarmRule, 0)
   time.Sleep(time.Second * 2)
   //fmt.Println("布控入口")
   alarmRules := make([]db.AlarmRule, 0)
   time.Sleep(time.Millisecond * 1)
   var taskPerson db.TaskPerson
   var err error
   for i := 0; i <= 2; i++ {
@@ -26,47 +22,66 @@
      if taskPerson.Id != "" {
         break
      }
      time.Sleep(time.Second * 15)
      time.Sleep(time.Second * 1)
   }
   fmt.Println("personInfo: ", taskPerson)
   fmt.Println("device: ", cache.Device)
   //fmt.Println("personInfo: ", taskPerson)
   //fmt.Println("device: ", cache.Device)
   tasks, err := db.GetAllTaskData()
   if err != nil {
      logger.Error("GetAllTaskData Error", err)
   }
   fmt.Println(tasks)
   //fmt.Println(tasks)
   for _, task := range tasks {
      switch task.Name {
      case "未成年出顶楼":
         flag := UnderageClimbingToRooftop(taskPerson)
         if flag == true {
            alarmRules = append(alarmRules, alarmRule{ruleId: task.Id, ruleText: task.Name})
            alarmRules = append(alarmRules, db.AlarmRule{RuleId: strconv.Itoa(task.Id), RuleText: task.Name, AlarmLevel: "0"})
         }
      case "未成年入商住楼":
         flag := UnderageEnteringCommercialBuilding(taskPerson)
         if flag == true {
            alarmRules = append(alarmRules, alarmRule{ruleId: task.Id, ruleText: task.Name})
            alarmRules = append(alarmRules, db.AlarmRule{RuleId: strconv.Itoa(task.Id), RuleText: task.Name, AlarmLevel: "0"})
         }
      case "窜楼":
         flag := ClimbingFloorsIllegally(taskPerson)
         flag := ClimbingFloorsIllegally(taskPerson, config.Api.CsHours, config.Api.CsTimes)
         if flag == true {
            alarmRules = append(alarmRules, alarmRule{ruleId: task.Id, ruleText: task.Name})
            alarmRules = append(alarmRules, db.AlarmRule{RuleId: strconv.Itoa(task.Id), RuleText: task.Name, AlarmLevel: "0"})
         }
      case "只进不出":
         flag := EnteringButNotLeaving(taskPerson)
         if flag == true {
            alarmRules = append(alarmRules, alarmRule{ruleId: task.Id, ruleText: task.Name})
         }
      case "进出异常":
         continue
         //days := config.Api.AInterval
         //docNumIdMap, err := db.QueryLastIdByDayRange(days, days-1)
         //if err != nil {
         //   logger.Error("QueryByDayRange err: ", err)
         //}
         //
         //for docNumber, id := range docNumIdMap {
         //   flag := EnteringButNotLeaving(docNumber, id, days)
         //   alarmRules = append(alarmRules, db.AlarmRule{RuleId: strconv.Itoa(task.Id), RuleText: task.Name, AlarmLevel: "0"})
         //
         //   if flag == true {
         //      alarmRules = append(alarmRules, db.AlarmRule{RuleId: strconv.Itoa(task.Id), RuleText: task.Name, AlarmLevel: "0"})
         //   }
         //}
      case "申住不一":
         flag := registeredAddressNotMatchActualResidence(taskPerson)
         if flag == true {
            alarmRules = append(alarmRules, alarmRule{ruleId: task.Id, ruleText: task.Name})
            alarmRules = append(alarmRules, db.AlarmRule{RuleId: strconv.Itoa(task.Id), RuleText: task.Name, AlarmLevel: "0"})
         }
      default:
         continue
      }
   }
   addFlag, err := db.AddAlarmRules(alarmRules, id)
   if err != nil {
      logger.Error("AddAlarmRules err: ", err)
   }
   if addFlag == true {
      logger.Info("AddAlarmRules success: ", id)
   }
}