| | |
| | | package esutil |
| | | |
| | | import ( |
| | | "basic.com/pubsub/protomsg.git" |
| | | "bytes" |
| | | "encoding/json" |
| | | "errors" |
| | |
| | | "io" |
| | | "io/ioutil" |
| | | "net/http" |
| | | "strconv" |
| | | "time" |
| | | "strings" |
| | | "basic.com/pubsub/protomsg.git" |
| | | "time" |
| | | ) |
| | | |
| | | func GetEsDataReq(url string, parama string, isSource bool) map[string]interface{} { |
| | |
| | | } |
| | | |
| | | //解析抓拍库人员结构 |
| | | func Videopersonsbyid(sources []map[string]interface{}) (tmpinfos []protomsg.Videopersons) { |
| | | func AIOceanAnalysis(sources []map[string]interface{}) (tmpinfos []protomsg.AIOcean) { |
| | | var ok bool |
| | | for _, source := range sources{ |
| | | var tmpinfo protomsg.Videopersons |
| | | var tmpinfo protomsg.AIOcean |
| | | tmpinfo.Id, ok = source["id"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | |
| | | tmpinfo.CameraId, ok = source["cameraId"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | |
| | | tmpinfo.CameraAddr, ok = source["cameraAddr"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | |
| | | tmpinfo.PicDate,ok = source["picDate"].(string) |
| | | //Isnil("picDate", ok) |
| | | tmpinfo.PicMaxUrl,ok = source["picMaxUrl"].(string) |
| | | //Isnil("picMaxUrl", ok) |
| | | tmpinfo.TaskId,ok = source["taskId"].(string) |
| | | //Isnil("taskId", ok) |
| | | tmpinfo.TaskName,ok = source["taskName"].(string) |
| | | //Isnil("taskName", ok) |
| | | tmpinfo.SdkName,ok = source["sdkName"].(string) |
| | | //Isnil("sdkName", ok) |
| | | tmpinfo.Content,ok = source["content"].(string) |
| | | //Isnil("content",ok) |
| | | tmpinfo.LikeDate,ok = source["likeDate"].(string) |
| | | //Isnil("likeDate",ok) |
| | | tmpinfo.DetectScore,ok = source["detectScore"].(string) |
| | | //Isnil("detectScore", ok) |
| | | tmpinfo.Sex,ok = source["sex"].(string) |
| | | //Isnil("sex",ok) |
| | | |
| | | age,ok := source["age"].(float64) |
| | | if ok { |
| | | tmpinfo.Age= int32(age) |
| | | } |
| | | //Isnil("age", ok) |
| | | |
| | | tmpinfo.AgeDescription,ok = source["ageDescription"].(string) |
| | | //Isnil("ageDescription",ok) |
| | | tmpinfo.Race,ok = source["race"].(string) |
| | | //Isnil("race",ok) |
| | | tmpinfo.SmileLevel,ok = source["smileLevel"].(string) |
| | | //Isnil("smileLevel",ok) |
| | | tmpinfo.BeautyLevel,ok = source["beautyLevel"].(string) |
| | | //Isnil("beautyLevel",ok) |
| | | if source["picSmUrl"] != nil { |
| | | //fmt.Println(source["picSmUrl"]) |
| | | for _,v := range source["picSmUrl"].([]interface{}) { |
| | | tmpinfo.PicSmUrl = append(tmpinfo.PicSmUrl, v.(string)) |
| | | } |
| | | //fmt.Println(tmpinfo.PicSmUrl) |
| | | } |
| | | tmpinfo.VideoUrl,ok = source["videoUrl"].(string) |
| | | //Isnil("videoUrl",ok) |
| | | tmpinfo.AnalyServerId,ok = source["analyServerId"].(string) |
| | | //Isnil("analyServerId",ok) |
| | | tmpinfo.AnalyServerName,ok = source["analyServerName"].(string) |
| | | //Isnil("analyServerName",ok) |
| | | tmpinfo.AnalyServerIp,ok = source["analyServerIp"].(string) |
| | | //Isnil("analyServerIp",ok) |
| | | tmpinfo.ClusterId,ok = source["clusterId"].(string) |
| | | //Isnil("clusterId",ok) |
| | | |
| | | isAlarm,ok := source["isAlarm"].(float64) |
| | | //fmt.Println(ok) |
| | | if ok { |
| | | tmpinfo.IsAlarm= strconv.FormatFloat(isAlarm, 'E', -1, 64)//float64 |
| | | tmpinfo.TaskId, ok = source["taskId"].(string) |
| | | tmpinfo.TaskName, ok = source["taskName"].(string) |
| | | tmpinfo.SdkName, ok = source["sdkName"].(string) |
| | | tmpinfo.PicMaxUrl, ok = source["picMaxUrl"].(string) |
| | | tmpinfo.VideoUrl, ok = source["videoUrl"].(string) |
| | | tmpinfo.PicDate, ok = source["picDate"].(string) |
| | | if source["targetInfo"] != nil { |
| | | for _, v := range source["targetInfo"].([]interface{}) { |
| | | m := v.(map[string]interface{}) |
| | | var ti protomsg.TargetInfo |
| | | ti.TargetId, ok = m["targetId"].(string) |
| | | ti.TargetScore, ok = m["targetScore"].(float64) |
| | | ti.Feature, ok = m["feature"].(string) |
| | | ti.PicSmUrl, ok = m["picSmUrl"].(string) |
| | | targetLocation := m["targetLocation"].(map[string]interface{}) |
| | | topLeft := targetLocation["topLeft"].(map[string]interface{}) |
| | | tx := topLeft["x"].(float64) |
| | | ty := topLeft["y"].(float64) |
| | | bottomRight := targetLocation["bottomRight"].(map[string]interface{}) |
| | | bx := bottomRight["x"].(float64) |
| | | by := bottomRight["y"].(float64) |
| | | ti.TargetLocation = &protomsg.TargetLocation{ |
| | | TopLeft: &protomsg.Location{ |
| | | X: tx, |
| | | Y: ty, |
| | | }, |
| | | BottomRight: &protomsg.Location{ |
| | | X: bx, |
| | | Y: by, |
| | | }, |
| | | } |
| | | //Isnil("isAlarm",ok) |
| | | |
| | | isAckAlarm,ok := source["isAckAlarm"].(float64) |
| | | //fmt.Println(ok) |
| | | if ok { |
| | | tmpinfo.IsAckAlarm= strconv.FormatFloat(isAckAlarm, 'E', -1, 64)//float64 |
| | | tmpinfo.TargetInfo = append(tmpinfo.TargetInfo, &ti) |
| | | } |
| | | //Isnil("isAckAlarm",ok) |
| | | |
| | | isCollect,ok := source["isCollect"].(float64) |
| | | if ok { |
| | | tmpinfo.IsDelete= int32(isCollect) |
| | | } |
| | | //Isnil("isCollect", ok) |
| | | |
| | | isDelete,ok := source["isDelete"].(float64) |
| | | if ok { |
| | | tmpinfo.IsDelete= int32(isDelete) |
| | | tmpinfo.OtherLabels, ok = source["otherLabels"].(string) |
| | | tmpinfo.ShowLabels, ok = source["showLabels"].(string) |
| | | tmpinfo.LikeDate, ok = source["likeDate"].(string) |
| | | if source["baseInfo"] != nil { |
| | | for _, v := range source["baseInfo"].([]interface{}) { |
| | | m := v.(map[string]interface{}) |
| | | var bi protomsg.BaseInfo |
| | | bi.TableId, ok = m["tableId"].(string) |
| | | bi.TableName, ok = m["tableName"].(string) |
| | | bi.CompareScore, ok = m["compareScore"].(float64) |
| | | bi.BwType, ok = m["bwType"].(string) |
| | | bi.TargetId, ok = m["targetId"].(string) |
| | | bi.TableName, ok = m["tableName"].(string) |
| | | bi.TargetPicUrl, ok = m["targetPicUrl"].(string) |
| | | bi.MonitorLevel, ok = m["monitorLevel"].(string) |
| | | bi.Labels, ok = m["labels"].(string) |
| | | bi.Content, ok = m["content"].(string) |
| | | tmpinfo.BaseInfo = append(tmpinfo.BaseInfo, &bi) |
| | | } |
| | | //Isnil("isDelete", ok) |
| | | |
| | | } |
| | | tmpinfo.IsAlarm, ok = source["isAlarm"].(bool) |
| | | tmpinfo.IsAckAlarm, ok = source["isAckAlarm"].(bool) |
| | | if source["alarmRules"] != nil { |
| | | //fmt.Println(source["alarmRules"]) |
| | | for _,v := range source["alarmRules"].([]interface{}) { |
| | | m := v.(map[string]interface{}) |
| | | var ar protomsg.AlarmRules |
| | | //ar := protomsg.AlarmRules{} |
| | | ar.GroupId,ok = m["groupId"].(string) |
| | | //Isnil("groupId",ok) |
| | | ar.AlarmLevel,ok = m["alarmLevel"].(string) |
| | | //Isnil("alarmLevel",ok) |
| | | ar.RuleText,ok = m["ruleText"].(string) |
| | | //Isnil("ruleText",ok) |
| | | ar.DefenceState,ok = m["defenceState"].(bool) |
| | | //Isnil("DefenceState",ok) |
| | | ar.IsLink,ok = m["isLink"].(bool) |
| | | ar.LinkInfo,ok = m["linkInfo"].(string) |
| | | tmpinfo.AlarmRules = append(tmpinfo.AlarmRules, &ar) |
| | | } |
| | | |
| | | } |
| | | |
| | | if source["baseInfo"] != nil { |
| | | //fmt.Println(source["baseInfo"]) |
| | | for _,v := range source["baseInfo"].([]interface{}) { |
| | | m := v.(map[string]interface{}) |
| | | //fmt.Println("m:",m) |
| | | var bi protomsg.BaseInfo |
| | | //bi := protomsg.BaseInfo{} |
| | | bi.TableId,ok = m["tableId"].(string) |
| | | //Isnil("tableId",ok) |
| | | bi.TableName,ok = m["tableName"].(string) |
| | | //Isnil("tableName",ok) |
| | | compareScore,ok := m["compareScore"].(float64) |
| | | if ok { |
| | | bi.CompareScore= float32(compareScore) |
| | | tmpinfo.IsCollect, ok = source["isCollect"].(bool) |
| | | tmpinfo.IsDelete, ok = source["isDelete"].(bool) |
| | | tmpinfo.Content, ok = source["content"].(string) |
| | | tmpinfo.LinkTag, ok = source["linkTag"].(string) |
| | | if source["linkTagInfo"] != nil { |
| | | for _, v := range source["linkTagInfo"].([]interface{}) { |
| | | var lti protomsg.EsDataBase |
| | | lm := v.(map[string]interface{}) |
| | | lti.Id, ok = lm["id"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | //Isnil("compareScore", ok) |
| | | lti.CameraId, ok = lm["cameraId"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | lti.CameraAddr, ok = lm["cameraAddr"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | lti.AnalyServerId, ok = lm["analyServerId"].(string) |
| | | lti.AnalyServerName, ok = lm["analyServerName"].(string) |
| | | lti.AnalyServerIp, ok = lm["analyServerIp"].(string) |
| | | lti.ClusterId, ok = lm["clusterId"].(string) |
| | | lti.TaskId, ok = lm["taskId"].(string) |
| | | lti.TaskName, ok = lm["taskName"].(string) |
| | | lti.SdkName, ok = lm["sdkName"].(string) |
| | | lti.PicMaxUrl, ok = lm["picMaxUrl"].(string) |
| | | lti.VideoUrl, ok = lm["videoUrl"].(string) |
| | | lti.PicDate, ok = lm["picDate"].(string) |
| | | if lm["targetInfo"] != nil { |
| | | for _, v := range lm["targetInfo"].([]interface{}) { |
| | | m := v.(map[string]interface{}) |
| | | var ti protomsg.TargetInfo |
| | | ti.TargetId, ok = m["targetId"].(string) |
| | | ti.TargetScore, ok = m["targetScore"].(float64) |
| | | ti.Feature, ok = m["feature"].(string) |
| | | ti.PicSmUrl, ok = m["picSmUrl"].(string) |
| | | targetLocation := m["targetLocation"].(map[string]interface{}) |
| | | topLeft := targetLocation["topLeft"].(map[string]interface{}) |
| | | tx := topLeft["x"].(float64) |
| | | ty := topLeft["y"].(float64) |
| | | bottomRight := targetLocation["bottomRight"].(map[string]interface{}) |
| | | bx := bottomRight["x"].(float64) |
| | | by := bottomRight["y"].(float64) |
| | | ti.TargetLocation = &protomsg.TargetLocation{ |
| | | TopLeft: &protomsg.Location{ |
| | | X: tx, |
| | | Y: ty, |
| | | }, |
| | | BottomRight: &protomsg.Location{ |
| | | X: bx, |
| | | Y: by, |
| | | }, |
| | | } |
| | | lti.TargetInfo = append(lti.TargetInfo, &ti) |
| | | } |
| | | |
| | | bi.PersonId,ok = m["personId"].(string) |
| | | //Isnil("personId",ok) |
| | | bi.PersonName,ok = m["personName"].(string) |
| | | //Isnil("personName",ok) |
| | | bi.PersonPicUrl,ok = m["personPicUrl"].(string) |
| | | //Isnil("personPicUrl",ok) |
| | | bi.PhoneNum,ok = m["phoneNum"].(string) |
| | | //Isnil("phoneNum",ok) |
| | | bi.Sex,ok = m["sex"].(string) |
| | | //Isnil("sex",ok) |
| | | bi.IdCard,ok = m["idCard"].(string) |
| | | //Isnil("idCard",ok) |
| | | bi.MonitorLevel,ok = m["monitorLevel"].(string) |
| | | //Isnil("monitorLevel",ok) |
| | | bi.Content,ok = m["content"].(string) |
| | | //Isnil("content",ok) |
| | | } |
| | | lti.OtherLabels, ok = lm["otherLabels"].(string) |
| | | lti.ShowLabels, ok = lm["showLabels"].(string) |
| | | lti.LikeDate, ok = lm["likeDate"].(string) |
| | | if lm["baseInfo"] != nil { |
| | | for _, v := range lm["baseInfo"].([]interface{}) { |
| | | m := v.(map[string]interface{}) |
| | | var bi protomsg.BaseInfo |
| | | bi.TableId, ok = m["tableId"].(string) |
| | | bi.TableName, ok = m["tableName"].(string) |
| | | bi.CompareScore, ok = m["compareScore"].(float64) |
| | | bi.BwType,ok = m["bwType"].(string) |
| | | |
| | | //Isnil("bwType", ok) |
| | | |
| | | bi.TargetId, ok = m["targetId"].(string) |
| | | bi.TableName, ok = m["tableName"].(string) |
| | | bi.TargetPicUrl, ok = m["targetPicUrl"].(string) |
| | | bi.MonitorLevel, ok = m["monitorLevel"].(string) |
| | | bi.Labels, ok = m["labels"].(string) |
| | | bi.Content, ok = m["content"].(string) |
| | | tmpinfo.BaseInfo = append(tmpinfo.BaseInfo, &bi) |
| | | } |
| | | } |
| | | |
| | | //根据 tableid 获取 tablename |
| | | //name, _:= Dbtablename(tmpinfo.TableId) |
| | | //tmpinfo.TableName= name |
| | | //fmt.Println(tmpinfos) |
| | | tmpinfos = append(tmpinfos, tmpinfo) |
| | | lti.IsAlarm, ok = lm["isAlarm"].(bool) |
| | | lti.IsAckAlarm, ok = lm["isAckAlarm"].(bool) |
| | | if lm["alarmRules"] != nil { |
| | | for _, v := range lm["alarmRules"].([]interface{}) { |
| | | m := v.(map[string]interface{}) |
| | | var ar protomsg.AlarmRules |
| | | ar.GroupId, ok = m["groupId"].(string) |
| | | ar.AlarmLevel, ok = m["alarmLevel"].(string) |
| | | ar.RuleText, ok = m["ruleText"].(string) |
| | | ar.DefenceState, ok = m["defenceState"].(bool) |
| | | ar.LinkInfo, ok = m["linkInfo"].(string) |
| | | lti.AlarmRules = append(lti.AlarmRules, &ar) |
| | | } |
| | | |
| | | } |
| | | lti.IsCollect, ok = lm["isCollect"].(bool) |
| | | lti.IsDelete, ok = lm["isDelete"].(bool) |
| | | lti.Content, ok = lm["content"].(string) |
| | | tmpinfo.LinkTagInfo = append(tmpinfo.LinkTagInfo, <i) |
| | | } |
| | | } |
| | | tmpinfos = append(tmpinfos, tmpinfo) |
| | | } |
| | | return tmpinfos |
| | | } |
| | | |