package task
|
|
import (
|
"basic.com/valib/logger.git"
|
"ruleModelEngine/cache"
|
"ruleModelEngine/db"
|
"time"
|
)
|
|
func UnderageClimbingToRooftop(taskPerson db.TaskPerson) bool {
|
if taskPerson.Floor == "" {
|
return false
|
}
|
age, err := db.GetAgeById(taskPerson.DocumentNumber)
|
if err != nil {
|
logger.Error("GetAgeById: ", err)
|
return false
|
}
|
floor, _ := extractFloorNumber(taskPerson.Floor)
|
if age <= 16 && floor == cache.Device[taskPerson.CameraId].MaxBuildingFloor && taskPerson.TargetType == "body" {
|
return true
|
}
|
return false
|
}
|
func UnderageEnteringCommercialBuilding(taskPerson db.TaskPerson) bool {
|
age, err := db.GetAgeById(taskPerson.DocumentNumber)
|
if err != nil {
|
logger.Error("GetAgeById: ", err)
|
return false
|
}
|
//floor, _ := extractFloorNumber(taskPerson.Floor)
|
if age <= 16 && taskPerson.TargetType == "face" && cache.Device[taskPerson.CameraId].BuildingType == db.BuildingTypeMixedUse {
|
return true
|
}
|
return false
|
}
|
func ClimbingFloorsIllegally(taskPerson db.TaskPerson, hours int, times int) bool {
|
layout := "2006-01-02 15:04:05"
|
picDate, err := time.Parse(layout, taskPerson.PicDate)
|
startTime := picDate.Add(time.Duration(-hours) * time.Hour).Format(layout)
|
floors, err := db.QueryCheckDataByDocumentNumber(taskPerson.DocumentNumber, startTime, taskPerson.PicDate)
|
if err != nil {
|
logger.Error("QueryCheckDataByDocumentNumber: ", err)
|
return false
|
}
|
if floors >= times {
|
return true
|
}
|
return false
|
}
|
|
func EnteringButNotLeaving(docNumber string, communityId string, cameraIds []string, days int) bool {
|
total, err := db.QueryTimesByDocNumberDays(docNumber, communityId, cameraIds, days-1)
|
if err != nil {
|
logger.Error("QueryTimesByDocNumberDays err: ", err)
|
}
|
if total == 0 {
|
return true
|
}
|
|
return false
|
}
|
|
func registeredAddressNotMatchActualResidence(taskPerson db.TaskPerson) bool {
|
return false
|
}
|