panlei
2019-11-18 18827e9e25797b6d24ad7ad4785f7e80fe46a409
cache/cache.go
@@ -12,6 +12,7 @@
   "github.com/satori/go.uuid"
   "strconv"
)
const (
   PREFIX_CAMERA = "CAMERA_"
   PREFIX_POLYGON = "POLYGON_"
@@ -19,11 +20,11 @@
   PREFIX_RULE = "RULE_"
   SERVER_KEY = "SERVERINFO"
   PREFIX_SDK = "SDK_"
   PREFIX_DIC     = "DIC_"
   PREFIX_SO = "SO"
)
var cMap *shardmap.ShardMap
func Init(initChan chan bool,dbIp string,surveyPort int,pubSubPort int){
   cMap = shardmap.New(uint8(32))
@@ -57,6 +58,8 @@
   initSdks() //初始化sdk列表信息
   initSoData()
   initDictionary() // 初始化字典
   initChan <- true
}
@@ -134,6 +137,18 @@
   }
}
func initDictionary() {
   var api dbapi.DicApi
   flag, dics := api.FindByType("")
   if flag {
      for key, dics := range dics.(map[string][]Dic) {
         for _,dic := range dics {
            cMap.Set(PREFIX_DIC+key+dic.value, dic)
         }
      }
   }
}
func initCameraTaskRules(){
   var api dbapi.CameraTaskArgsApi
   all := api.FindAll()
@@ -207,6 +222,16 @@
      return sdk,errors.New("sdk not found")
   }
}
// 获取字典值
func GetDic(key string) (value string) {
   obj, b := cMap.Get(PREFIX_SDK + key)
   if b {
      return obj.(Dic).value
   } else {
      return ""
   }
}
func initSoData() {
   var api dbapi.SoApi
@@ -226,3 +251,13 @@
      return sdk,errors.New("sdk not found")
   }
}
type Dic struct {
   Id          string
   value       string
   Name        string
   Type        string
   Description string
   Sort        int
   Parent_id   string
}