---
panlei
2019-12-16 c10f46d7c207c2c02cbf07a5678d41c9c02b0c72
cache/cache.go
@@ -50,7 +50,9 @@
   initTimeRules() //初始化时间规则缓存
   initCameraTaskRules() //初始化摄像机任务规则缓存
   initCameraTaskRules() //初始化摄像机任务规则缓存按摄像机
   initCameraTaskRulesAll() // 初始化摄像机任务规则缓存全部
   initCamera() //初始化摄像机信息
@@ -58,10 +60,11 @@
   initSdks() //初始化sdk列表信息
   initSoData()
   initSoData() // sopath
   initDictionary() // 初始化字典
   initTaskSdkArgs()
   initChan <- true
}
@@ -85,6 +88,7 @@
      initCameraTaskRules()
   case protomsg.TableChanged_T_CameraTaskArgs: //更新摄像机规则配置参数
      initCameraTaskRules()
      initCameraTaskRulesAll()
   case protomsg.TableChanged_T_Sdk: //更新sdk配置
      initSdks()
   default:
@@ -127,6 +131,16 @@
      cMap.Set(PREFIX_POLYGON+k, v)
   }
}
// 缓存区域并不根据id
func initPolygonsById() {
   var api dbapi.CameraApi
   data := api.FindAllPolygons()
   for _, item := range data {
      if item.Type != "line" {
         cMap.Set(PREFIX_POLYGON+item.Id, item)
      }
   }
}
func initTimeRules() {
   var api dbapi.CameraApi
@@ -147,15 +161,17 @@
      if err := json.Unmarshal(b, &dicss); err == nil {
         for key, dics1 := range dicss {
            for _, dic := range dics1 {
               logger.Debug("字典缓存初始化", PREFIX_DIC + key + dic.Value, dic)
               cMap.Set(PREFIX_DIC + key + dic.Value, dic)
            }
         }
      }
   }
   logger.Info("取字典缓存:", GetDic(PREFIX_DIC + "nCarColor2"))
}
func initTaskSdkArgs() {
   //var api dbapi.TaskApi
   //all := api.FindAllTaskDefaultArgs("TASKRULE")
   //.Println(all)
}
func initCameraTaskRules() {
   var api dbapi.CameraTaskArgsApi
   all := api.FindAll()
@@ -165,6 +181,11 @@
   }
}
func initCameraTaskRulesAll() {
   var api dbapi.CameraTaskArgsApi
   all := api.FindAll()
   cMap.Set(PREFIX_RULE, all)
}
func initSdks() {
   var api dbapi.SdkApi
   sdks := api.FindAll("")
@@ -201,6 +222,15 @@
   }
}
func GetPolygonsById(id string) *protomsg.CameraPolygon {
   obj, b := cMap.Get(PREFIX_POLYGON + id)
   if b {
      return obj.(*protomsg.CameraPolygon)
   } else {
      return nil
   }
}
//从缓存中获取时间规则
func GetTimeRuleById(id string) (exist bool, rule protomsg.CameraTimerule) {
   obj, b := cMap.Get(PREFIX_TIME + id)
@@ -220,6 +250,15 @@
      return nil
   }
}
//根据摄像机id从缓存中获取摄像机的任务规则设置
func GetCameraTaskRulesAll() []*protomsg.TaskGroupArgs {
   obj, b := cMap.Get(PREFIX_RULE)
   if b {
      return obj.([]*protomsg.TaskGroupArgs)
   } else {
      return nil
   }
}
func GetSdkById(sdkId string) (sdk protomsg.Sdk, err error) {
   obj, b := cMap.Get(PREFIX_SDK + sdkId)
@@ -232,9 +271,7 @@
// 获取字典值
func GetDic(key string) (name string) {
   logger.Info("字典值key:",PREFIX_DIC + key)
   obj, b := cMap.Get(PREFIX_DIC + key)
   logger.Info("取字典值:",obj.(Dic))
   if b {
      return obj.(Dic).Name
   } else {