| | |
| | | } |
| | | } |
| | | } |
| | | func (arg *Arg) fillLiker(){ |
| | | 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) |
| | | } |
| | | //logger.Info("------------------第一次看args:",*arg) |
| | | } |
| | | func Compare(args *SdkDatas, groupRule *protomsg.GroupRule) { |
| | | compareFlag := 0 |
| | | tableIds := "" |
| | |
| | | if groupRule.Rules[j].PolygonId == areaMap.areaId { |
| | | for _, arg := range areaMap.args { |
| | | 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 * 100 |
| | | arg.Liker = append(arg.Liker, &baseinfo) |
| | | } |
| | | arg.fillLiker() |
| | | } |
| | | if compareFlag == 2 { |
| | | array := strings.Split(tableIds, ",") |
| | |
| | | } |
| | | } |
| | | } |
| | | logger.Info("-------------------成功给liker赋值:", arg.Liker) |
| | | logger.Info("-------------------成功给liker赋值,长度为:", len(arg.Liker)) |
| | | } |
| | | //logger.Info("=======第一次看args:",areaMap.args) |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | 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 { |
| | |
| | | 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("规则配置的阈值非法") |