---
panlei
2019-07-17 cb12e2fbf196a2184af4a3d269e3283c41a1eb34
ruleserver/readyDataForRule.go
@@ -6,7 +6,6 @@
   "basic.com/pubsub/protomsg.git"
   "basic.com/pubsub/sdkcompare.git"
   "encoding/json"
   "fmt"
   "ruleprocess/cache"
   "ruleprocess/logger"
   "strconv"
@@ -17,10 +16,31 @@
   bigCache.Init()
}
type BaseInfo struct {
   TableId string `json:"tableId"`
   TableName string `json:"tableName"`
   BwType string `json:"bwType"`
   CompareScore float64 `json:"compareScore"`
   PersonId string    `json:"personId"`
   PersonName string   `json:"personName"`
   PersonPicUrl string `json:"personPicUrl"`
   PhoneNum string `json:"phoneNum"`
   Sex string `json:"sex"`
   IdCard string `json:"idCard"`
   MonitorLevel string `json:"monitorLevel"`
   Content string `json:"content"`
}
// 以摄像机id查出跟其相关的所有任务下的所有规则组
func GetRuleGroup(cameraId string) []*protomsg.TaskGroupArgs {
func GetRuleGroup(cameraId string,taskId string) *protomsg.TaskGroupArgs {
   all := cache.GetCameraTaskRulesByCameraId(cameraId)
   return all
   logger.Info("==================所有的任务的规则组:",all)
   var taskGroup  *protomsg.TaskGroupArgs
   for _,task := range all  {
      if task.TaskId == taskId {
         taskGroup = task
      }
   }
   return taskGroup
}
// 根据摄像机id拿到摄像机所有区域
func GetPolygons(cameraId string) []protomsg.CameraPolygon {
@@ -99,7 +119,7 @@
// 给目标填充liker
func (arg *Arg) fillLiker() {
   bytes := sdkcompare.GetComparePersonBaseInfo(nil, arg.Feature, 70)
   bytes := sdkcompare.GetComparePersonBaseInfo(nil, arg.Feature, 40)
   var m map[string]float32
   err1 := json.Unmarshal(bytes, &m)
   if err1 != nil {
@@ -110,11 +130,16 @@
   for key,_ := range m {
      ids = append(ids,key)
   }
   logger.Info("------------------------------------------------------------------------------------------------------------------------")
   logger.Info("=====================人员id的集合为:",ids)
   baseinfos, err1 := esutil.Dbpersoninfosbyid(ids)
   if err1 != nil {
      logger.Error("查询底库人员信息出错", err1)
   }
   fmt.Println("底库人员信息:",baseinfos)
   logger.Debug("----------------++++++++++++++++++++底库人员信息:",baseinfos)
   for _,baseinfo := range baseinfos  {
      logger.Info("---------看看每个底库人员的信息:",baseinfo)
   }
   //baseinfo.CompareScore = Retain(val)
   //arg.Liker = append(arg.Liker, &baseinfo)
   //logger.Info("------------------第一次看args:",*arg)
@@ -191,7 +216,7 @@
      if threshold <= obj.Score && size <= float64(obj.Rects.Width*obj.Rects.Height) && intersectionper <= PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale) {
         // 这步要备齐表达式里所需要的所有参数
         a.targetNum++
         arg1 := Arg{obj.Score, PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale), float64(obj.Rects.Width * obj.Rects.Height), obj.IsYolo, obj.Rects, obj.Feature, obj.ThftRes, []*protomsg.Baseinfo{}}
         arg1 := Arg{obj.Score, PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale), float64(obj.Rects.Width * obj.Rects.Height), obj.IsYolo, obj.Rects, obj.Feature, obj.ThftRes, []*BaseInfo{}}
         //logger.Println("放进去的arg:-------", arg1)
         a.args = append(a.args, &arg1)
         a.filterData = append(a.filterData, &arg1)