| | |
| | | package controllers |
| | | |
| | | import ( |
| | | "basic.com/pubsub/protomsg.git" |
| | | "basic.com/valib/bhomeclient.git" |
| | | "basic.com/valib/bhomedbapi.git" |
| | | "basic.com/valib/logger.git" |
| | | "github.com/satori/go.uuid" |
| | | "sort" |
| | | "strconv" |
| | | "strings" |
| | | "vamicro/camera-common/models" |
| | | "vamicro/camera-service/cache" |
| | | "vamicro/extend/util" |
| | | |
| | | "basic.com/pubsub/protomsg.git" |
| | | "basic.com/valib/bhomeclient.git" |
| | | "basic.com/valib/bhomedbapi.git" |
| | | "basic.com/valib/logger.git" |
| | | uuid "github.com/satori/go.uuid" |
| | | ) |
| | | |
| | | type AreaController struct { |
| | |
| | | } |
| | | } |
| | | |
| | | //获取督查任务 |
| | | tasks := models.GetTasks() |
| | | |
| | | var totalAreas models.AreaList |
| | | totalAreas = rAreas |
| | | sort.Sort(totalAreas) |
| | | logger.Debug("len(rAreas):", len(rAreas)) |
| | | arr := menuFormat(totalAreas, parentId, totalCams, treeType, ruleM) |
| | | arr := menuFormat(totalAreas, parentId, totalCams, treeType, tasks) |
| | | |
| | | for _, camE := range totalCams { |
| | | if camE.Areaid == "0" { |
| | |
| | | |
| | | if rows > 0 && e == nil { |
| | | isRunnig = camera.IsRunning |
| | | if crInfo, ok := ruleM[camera.Id]; ok && crInfo.Rules != nil && len(crInfo.Rules) > 0 && (camera.RunType == models.TYPE_RUNTYPE_POLL || camera.RunType == models.TYPE_RUNTYPE_REALTIME) { |
| | | if taskInfo, ok := tasks[camera.Id]; ok && taskInfo != nil && len(taskInfo) > 0 && (camera.RunType == models.TYPE_RUNTYPE_POLL || camera.RunType == models.TYPE_RUNTYPE_REALTIME) { |
| | | isAI = true |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | // 将区域和摄像机数组转换目录树形结构 |
| | | func menuFormat(dbArr []models.Area, parentId string, dbCams []models.CameraTreeNode, treeType int, ruleM map[string]protomsg.CameraAndRules) []models.TreeMenu { |
| | | func menuFormat(dbArr []models.Area, parentId string, dbCams []models.CameraTreeNode, treeType int, tasks map[string][]interface{}) []models.TreeMenu { |
| | | var arr []models.TreeMenu |
| | | for _, area := range dbArr { |
| | | if parentId == area.Parentid { |
| | |
| | | tmp.Type = "MENU" |
| | | tmp.Name = area.Name |
| | | |
| | | sontmp := menuFormat(dbArr, area.Id, dbCams, treeType, ruleM) |
| | | sontmp := menuFormat(dbArr, area.Id, dbCams, treeType, tasks) |
| | | tmp.Areanodes = sontmp |
| | | |
| | | for _, val := range dbCams { |
| | |
| | | rows, e := camera.SelectById(val.Id) |
| | | if rows > 0 && e == nil { |
| | | isRunnig = camera.IsRunning |
| | | if crInfo, ok := ruleM[camera.Id]; ok && crInfo.Rules != nil && len(crInfo.Rules) > 0 && (camera.RunType == models.TYPE_RUNTYPE_POLL || camera.RunType == models.TYPE_RUNTYPE_REALTIME) { |
| | | if taskInfo, ok := tasks[camera.Id]; ok && taskInfo != nil && len(taskInfo) > 0 && (camera.RunType == models.TYPE_RUNTYPE_POLL || camera.RunType == models.TYPE_RUNTYPE_REALTIME) { |
| | | isAI = true |
| | | } |
| | | //if camera.RunType == models.TYPE_RUNTYPE_POLL || camera.RunType == models.TYPE_RUNTYPE_REALTIME { |