panlei
2019-12-09 759c5b9f8ef6c503f62da3b766a580a4dd6fa026
cache/cache.go
@@ -50,7 +50,9 @@
   initTimeRules() //初始化时间规则缓存
   initCameraTaskRules() //初始化摄像机任务规则缓存
   initCameraTaskRules() //初始化摄像机任务规则缓存按摄像机
   initCameraTaskRulesAll() // 初始化摄像机任务规则缓存全部
   initCamera() //初始化摄像机信息
@@ -85,6 +87,7 @@
      initCameraTaskRules()
   case protomsg.TableChanged_T_CameraTaskArgs: //更新摄像机规则配置参数
      initCameraTaskRules()
      initCameraTaskRulesAll()
   case protomsg.TableChanged_T_Sdk: //更新sdk配置
      initSdks()
   default:
@@ -127,6 +130,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
@@ -163,6 +176,11 @@
   }
}
func initCameraTaskRulesAll() {
   var api dbapi.CameraTaskArgsApi
   all := api.FindAll()
   cMap.Set(PREFIX_RULE, all)
}
func initSdks() {
   var api dbapi.SdkApi
   sdks := api.FindAll("")
@@ -199,6 +217,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)
@@ -218,6 +245,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)