package task
|
|
import (
|
"basic.com/valib/logger.git"
|
"ruleModelEngine/config"
|
"ruleModelEngine/db"
|
"strconv"
|
"time"
|
)
|
|
func TaskAnalysisService(id string) {
|
//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++ {
|
taskPerson, err = db.QueryById(id)
|
if err != nil {
|
logger.Error("QueryById Error", err)
|
}
|
if taskPerson.Id != "" {
|
break
|
}
|
time.Sleep(time.Second * 1)
|
}
|
//fmt.Println("personInfo: ", taskPerson)
|
//fmt.Println("device: ", cache.Device)
|
tasks, err := db.GetAllTaskData()
|
if err != nil {
|
logger.Error("GetAllTaskData Error", err)
|
}
|
//fmt.Println(tasks)
|
|
for _, task := range tasks {
|
switch task.Name {
|
case "未成年出顶楼":
|
flag := UnderageClimbingToRooftop(taskPerson)
|
if flag == true {
|
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, db.AlarmRule{RuleId: strconv.Itoa(task.Id), RuleText: task.Name, AlarmLevel: "0"})
|
}
|
case "窜楼":
|
flag := ClimbingFloorsIllegally(taskPerson, config.Api.CsHours, config.Api.CsTimes)
|
if flag == true {
|
alarmRules = append(alarmRules, db.AlarmRule{RuleId: strconv.Itoa(task.Id), RuleText: task.Name, AlarmLevel: "0"})
|
}
|
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, 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)
|
}
|
|
}
|