panlei
2019-07-11 3fd2fac29fd11df82847658583c70454f94bad81
ruleserver/ruleToformula.go
@@ -266,7 +266,7 @@
                              if err1 != nil {
                                 logger.Error("查询底库人员信息出错", err1)
                              }
                              baseinfo.CompareScore = val * 100
                              baseinfo.CompareScore = val
                              arg.Liker = append(arg.Liker, &baseinfo)
                           }
                        }
@@ -289,8 +289,49 @@
                              }
                           }
                        }
                        logger.Info("-------------------成功给liker赋值:", arg.Liker)
                        logger.Info("-------------------成功给liker赋值,长度为:", len(arg.Liker))
                     }
                     for _, arg := range areaMap.filterData {
                        if compareFlag == 1 {
                           bytes := bigCache.Getdbpersonmsg("", arg.Feature, true)
                           var m map[string]float32
                           err1 := json.Unmarshal(bytes, &m)
                           if err1 != nil {
                              logger.Error("getBaseInfo解压错误", err1)
                           }
                           logger.Info("----------------------------------------map是", m)
                           for key, val := range m {
                              logger.Info("_______________________________________对比库的返回值", key, val)
                              baseinfo, err1 := esutil.Dbpersoninfosbyid(key)
                              if err1 != nil {
                                 logger.Error("查询底库人员信息出错", err1)
                              }
                              baseinfo.CompareScore = val
                              arg.Liker = append(arg.Liker, &baseinfo)
                           }
                        }
                        if compareFlag == 2 {
                           array := strings.Split(tableIds, ",")
                           for i := 0; i < len(array)-1; i++ {
                              bytes := bigCache.Getdbpersonmsg(array[i], arg.Feature, true)
                              var m map[string]float32
                              err1 := json.Unmarshal(bytes, &m)
                              if err1 != nil {
                                 logger.Error("getBaseInfo解压错误", err1)
                              }
                              for key, val := range m {
                                 baseinfo, err1 := esutil.Dbpersoninfosbyid(key)
                                 if err1 != nil {
                                    logger.Error("查询底库人员信息出错", err1)
                                 }
                                 baseinfo.CompareScore = val
                                 arg.Liker = append(arg.Liker, &baseinfo)
                              }
                           }
                        }
                        logger.Info("-------------------成功给liker赋值,长度为:", len(arg.Liker))
                     }
                     logger.Info("----------------------第二次看args:",areaMap.filterData)
                  }
               }
            }
@@ -318,7 +359,7 @@
         }
         ipcId := sdk.IpcId
         sdkName := sdk.SdkName
         logger.Info("规则的ipcId与sdkData的IpcId:",ipcId,"===",sdkData.IpcId)
         if ipcId == sdkData.IpcId {
            logger.Info("当前走的规则的算法是--:", sdkName, "---")
            for _, areaMap := range sdkData.AreaMapList {
@@ -682,7 +723,7 @@
      if rule.PolygonId == am.areaId { // 算法和区域都得对的上
         if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && rule.SdkArgAlias != "time_rule" {
            // 只需要过滤阈值,过滤完后数组长度大于0即为报警,但要考虑如何对每一张都报警呢
            // 只需要过滤阈值,过滤完后数组长度大于0即为报警
            argValue, err := strconv.ParseFloat(rule.SdkArgValue, 64)
            if err != nil {
               logger.Error("规则配置的阈值非法")