| | |
| | | if !exist { |
| | | continue |
| | | } |
| | | alarmRules, exist := source["alarmRules"] |
| | | if exist { |
| | | if alarmB,ae := json.Marshal(alarmRules);ae ==nil { |
| | | var alarmRArr []AlarmRule |
| | | if ae = json.Unmarshal(alarmB, &alarmRArr);ae ==nil && len(alarmRArr) >0 { |
| | | d["alarmLevel"] = alarmRArr[0].AlarmLevel |
| | | } |
| | | } |
| | | } else { |
| | | d["alarmLevel"] = "" |
| | | } |
| | | pmArr := pmax.([]interface{}) |
| | | if len(pmArr) > 0 { |
| | | d["picMaxUrl"] = pmArr[0] |
| | |
| | | if len(tiArr) > 0 { |
| | | ti := tiArr[0] |
| | | d["picSmUrl"] = ti.PicSmUrl |
| | | if ti.TargetType == "face" { |
| | | d["targetType"] = ti.TargetType |
| | | if ti.TargetType == "FaceDetect" { |
| | | sLabelStr, ok := source["showLabels"] |
| | | if ok { |
| | | labelArr := strings.Split(sLabelStr.(string), "/") |
| | | if len(labelArr) == 3 { |
| | | d["gender"] = labelArr[0] |
| | | d["ageDescription"] = labelArr[1] |
| | | d["race"] = labelArr[2] |
| | | } |
| | | //labelArr := strings.Split(sLabelStr.(string), "/") |
| | | //if len(labelArr) == 3 { |
| | | // d["gender"] = labelArr[0] |
| | | // d["ageDescription"] = labelArr[1] |
| | | // d["race"] = labelArr[2] |
| | | //} |
| | | d["showLabels"] = sLabelStr |
| | | } else { |
| | | d["showLabels"] = "" |
| | | } |
| | | |
| | | |
| | | if bInfos,ok := source["baseInfo"]; ok && bInfos != nil { |
| | | d["baseInfo"] = getSourceBaseInfo(bInfos) |
| | | bd := getSourceBaseInfo(bInfos) |
| | | d["baseInfo"] = bd //比对到的底库的人 |
| | | } else { |
| | | d["baseInfo"] = []interface{}{} |
| | | } |
| | | d["sdkType"] = "人脸" |
| | | d["sdkType"] = source["taskName"] |
| | | } else { |
| | | d["sdkType"] = source["taskName"] |
| | | d["picSmUrl"] = d["picMaxUrl"] |
| | |
| | | d["picSmUrl"] = d["picMaxUrl"] |
| | | } |
| | | |
| | | |
| | | d["videoNum"] = source["videoUrl"] |
| | | vUri := source["videoUrl"] |
| | | if vUri != nil && vUri.(string) != "" { |
| | | d["videoNum"] = "http://"+vUri.(string) |
| | | } else { |
| | | d["videoNum"] = "" |
| | | } |
| | | |
| | | sources = append(sources, d) |
| | | } |
| | |
| | | } else { |
| | | return nil, dat |
| | | } |
| | | } |
| | | |
| | | type AlarmRule struct { |
| | | GroupId string `json:"groupId"` |
| | | AlarmLevel string `json:"alarmLevel"` |
| | | } |
| | | |
| | | type TargetInfo struct { |
| | |
| | | type BaseInfo struct { |
| | | TaskId string `json:"taskId"` |
| | | TaskName string `json:"taskName"` |
| | | LikePer string `json:"likePer"` |
| | | LikePer float32 `json:"likePer"` |
| | | TableId string `json:"tableId"` |
| | | TableName string `json:"tableName"` |
| | | PersonId string `json:"personId"` |
| | |
| | | TargetName string `json:"targetName"` |
| | | TargetId string `json:"targetId"` |
| | | TableId string `json:"tableId"` |
| | | CompareScore string `json:"compareScore"` |
| | | CompareScore float32 `json:"compareScore"` |
| | | MonitorLevel string `json:"monitorLevel"` |
| | | Content string `json:"content"` |
| | | TableName string `json:"tableName"` |
| | |
| | | Content: t.Content, |
| | | }) |
| | | } |
| | | } else { |
| | | fmt.Println("unmarshal bInfos err:", err) |
| | | } |
| | | } else { |
| | | fmt.Println("marshal bInfos err:", err) |
| | | } |
| | | |
| | | return baseInfoArr |
| | |
| | | preSec = strconv.Itoa(sec) |
| | | } |
| | | var filterArr []string |
| | | var mustNotArr []string |
| | | //是否查报警数据 |
| | | if ishub == "hub" { |
| | | filterArr = append(filterArr,"{\"term\":{\"alarmRules.alarmLevel.raw\":\"二级\"}}") |
| | | mustNotArr = append(mustNotArr,"{\"term\":{\"alarmRules.alarmLevel.raw\":\"五级\"}}") |
| | | } |
| | | |
| | | filterArr = append(filterArr, "{\"range\":{\"picDate\":{\"gte\":\"now+8h-"+preSec+"s\",\"lt\":\"now+8h\"}}}") |
| | | |
| | | filterStr := "" |
| | | mustNotStr := "" |
| | | if len(filterArr) >0 { |
| | | filterStr = strings.Join(filterArr, ",") |
| | | } |
| | | param := "{\"query\":{\"bool\":{\"filter\":["+filterStr+"]}},\"size\":\""+sizeStr+"\",\"sort\":[{\"picDate\":{\"order\":\"desc\"}}]," + |
| | | "\"_source\":{\"includes\":[\"cameraAddr\",\"baseInfo\",\"targetInfo\",\"content\",\"id\",\"picMaxUrl\",\"picDate\",\"showLabels\",\"taskName\",\"sdkName\",\"videoUrl\"],\"excludes\":[\"*.feature\",\"*.attachTarget\",\"*.targetLocation\",\"alarmRules\"]}" + |
| | | if len(mustNotArr) > 0 { |
| | | mustNotStr = strings.Join(mustNotArr, ",") |
| | | } |
| | | param := "{\"query\":{\"bool\":{\"filter\":["+filterStr+"],\"must_not\":["+mustNotStr+"]}},\"size\":\""+sizeStr+"\",\"sort\":[{\"picDate\":{\"order\":\"desc\"}}]," + |
| | | "\"_source\":{\"includes\":[\"cameraAddr\",\"baseInfo\",\"targetInfo\",\"content\",\"id\",\"picMaxUrl\",\"picDate\",\"showLabels\",\"taskName\",\"sdkName\",\"videoUrl\",\"alarmRules\"],\"excludes\":[\"*.feature\",\"*.attachTarget\",\"*.targetLocation\"]}" + |
| | | "}" |
| | | err, tokenRes := GetEsDataReq(url, param, true) |
| | | |