package task import ( "basic.com/valib/logger.git" "fmt" "ruleModelEngine/cache" "ruleModelEngine/db" "time" ) type alarmRule struct { ruleId int ruleText string } func TaskAnalysisService(id string) { alarmRules := make([]alarmRule, 0) time.Sleep(time.Second * 2) 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 * 15) } 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, alarmRule{ruleId: task.Id, ruleText: task.Name}) } case "未成年入商住楼": flag := UnderageEnteringCommercialBuilding(taskPerson) if flag == true { alarmRules = append(alarmRules, alarmRule{ruleId: task.Id, ruleText: task.Name}) } case "窜楼": flag := ClimbingFloorsIllegally(taskPerson) if flag == true { alarmRules = append(alarmRules, alarmRule{ruleId: task.Id, ruleText: task.Name}) } case "只进不出": flag := EnteringButNotLeaving(taskPerson) if flag == true { alarmRules = append(alarmRules, alarmRule{ruleId: task.Id, ruleText: task.Name}) } case "申住不一": flag := registeredAddressNotMatchActualResidence(taskPerson) if flag == true { alarmRules = append(alarmRules, alarmRule{ruleId: task.Id, ruleText: task.Name}) } default: continue } } }