qixiaoning
1 天以前 c3fd4effdef0cc5955f89b5df279b14841e857f5
camera-service/controllers/area.go
@@ -1,17 +1,18 @@
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 {
@@ -104,11 +105,14 @@
      }
   }
   //获取督查任务
   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" {
@@ -119,7 +123,7 @@
         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
            }
         }
@@ -138,7 +142,7 @@
}
// 将区域和摄像机数组转换目录树形结构
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 {
@@ -147,7 +151,7 @@
         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 {
@@ -162,7 +166,7 @@
               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 {