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) } }