| | |
| | | package esutil |
| | | |
| | | import ( |
| | | "bytes" |
| | | "encoding/json" |
| | | "errors" |
| | | "fmt" |
| | | "io" |
| | | "io/ioutil" |
| | | "net/http" |
| | | "strconv" |
| | | "basic.com/pubsub/protomsg.git" |
| | | "bytes" |
| | | "encoding/json" |
| | | "errors" |
| | | "fmt" |
| | | "io" |
| | | "io/ioutil" |
| | | "net/http" |
| | | "strings" |
| | | "time" |
| | | "strings" |
| | | "basic.com/pubsub/protomsg.git" |
| | | ) |
| | | |
| | | func GetEsDataReq(url string, parama string, isSource bool) map[string]interface{} { |
| | | //fmt.Println("es 查询请求路径" + url) // 配置信息 获取 |
| | | var dat map[string]interface{} |
| | | req, err := http.NewRequest("POST", url, strings.NewReader(parama)) |
| | | req.Header.Add("Content-Type", "application/json") |
| | | timeout := time.Duration(10 * time.Second) //超时时间50ms |
| | | client := &http.Client{Timeout: timeout} |
| | | resp, err := client.Do(req) |
| | | if err != nil { |
| | | fmt.Println(err) |
| | | return dat |
| | | } |
| | | defer resp.Body.Close() |
| | | dec := json.NewDecoder(resp.Body) |
| | | if err := dec.Decode(&dat); err == io.EOF { |
| | | fmt.Println(err.Error()) |
| | | return dat |
| | | } else if err != nil { |
| | | fmt.Println(err.Error()) |
| | | return dat |
| | | } |
| | | // 是否需要 解析 es 返回的 source |
| | | if isSource { |
| | | dat = dat["hits"].(map[string]interface{}) |
| | | var data = make(map[string]interface{}, 2) |
| | | data["total"] = dat["total"] |
| | | sources := []interface{}{} |
| | | for _, value := range dat["hits"].([]interface{}) { |
| | | source := value.(map[string]interface{})["_source"].(map[string]interface{}) |
| | | //source["id"] = source["id"] |
| | | /*sdkType := source["sdkType"] |
| | | if sdkType != nil { |
| | | sdk, _ := strconv.Atoi(sdkType.(string)) |
| | | source["sdkType"] = sdkTypeToValue(sdk) |
| | | }*/ |
| | | sources = append(sources, source) |
| | | } |
| | | data["datalist"] = sources |
| | | return data |
| | | } else { |
| | | return dat |
| | | } |
| | | //fmt.Println("es 查询请求路径" + url) // 配置信息 获取 |
| | | var dat map[string]interface{} |
| | | req, err := http.NewRequest("POST", url, strings.NewReader(parama)) |
| | | req.Header.Add("Content-Type", "application/json") |
| | | timeout := time.Duration(10 * time.Second) //超时时间50ms |
| | | client := &http.Client{Timeout: timeout} |
| | | resp, err := client.Do(req) |
| | | if err != nil { |
| | | fmt.Println(err) |
| | | return dat |
| | | } |
| | | defer resp.Body.Close() |
| | | dec := json.NewDecoder(resp.Body) |
| | | if err := dec.Decode(&dat); err == io.EOF { |
| | | fmt.Println(err.Error()) |
| | | return dat |
| | | } else if err != nil { |
| | | fmt.Println(err.Error()) |
| | | return dat |
| | | } |
| | | // 是否需要 解析 es 返回的 source |
| | | if isSource { |
| | | dat = dat["hits"].(map[string]interface{}) |
| | | var data = make(map[string]interface{}, 2) |
| | | data["total"] = dat["total"] |
| | | sources := []interface{}{} |
| | | for _, value := range dat["hits"].([]interface{}) { |
| | | source := value.(map[string]interface{})["_source"].(map[string]interface{}) |
| | | //source["id"] = source["id"] |
| | | /*sdkType := source["sdkType"] |
| | | if sdkType != nil { |
| | | sdk, _ := strconv.Atoi(sdkType.(string)) |
| | | source["sdkType"] = sdkTypeToValue(sdk) |
| | | }*/ |
| | | sources = append(sources, source) |
| | | } |
| | | data["datalist"] = sources |
| | | return data |
| | | } else { |
| | | return dat |
| | | } |
| | | } |
| | | |
| | | func Parsesources(sources []map[string]interface{}) (esinfos []*protomsg.Esinfo) { |
| | | var ok bool |
| | | for _, source := range sources { |
| | | var tmpinfo protomsg.Esinfo |
| | | tmpinfo.FaceFeature, ok = source["faceFeature"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | var ok bool |
| | | for _, source := range sources { |
| | | var tmpinfo protomsg.Esinfo |
| | | tmpinfo.FaceFeature, ok = source["faceFeature"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | |
| | | tmpinfo.Id, ok = source["id"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | tmpinfo.Tableid, ok = source["tableId"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | tmpinfo.Id, ok = source["id"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | tmpinfo.Tableid, ok = source["tableId"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | |
| | | esinfos = append(esinfos, &tmpinfo) |
| | | esinfos = append(esinfos, &tmpinfo) |
| | | |
| | | // tmpinfo.PersonName,ok = source["personName"].(string) |
| | | // //Isnil("personName", ok) |
| | | // tmpinfo.PersonPicUrl,ok = source["personPicUrl"].(string) |
| | | // //Isnil("personPicUrl", ok) |
| | | // tmpinfo.PhoneNum,ok = source["phoneNum"].(string) |
| | | // //Isnil("phoneNum", ok) |
| | | // tmpinfo.Sex,ok = source["sex"].(string) |
| | | // //Isnil("sex", ok) |
| | | // tmpinfo.Idcard,ok = source["idCard"].(string) |
| | | // //Isnil("idCard", ok) |
| | | // tmpinfo.MonitorLevel,ok = source["monitorLevel"].(string) |
| | | // tmpinfo.PersonName,ok = source["personName"].(string) |
| | | // //Isnil("personName", ok) |
| | | // tmpinfo.PersonPicUrl,ok = source["personPicUrl"].(string) |
| | | // //Isnil("personPicUrl", ok) |
| | | // tmpinfo.PhoneNum,ok = source["phoneNum"].(string) |
| | | // //Isnil("phoneNum", ok) |
| | | // tmpinfo.Sex,ok = source["sex"].(string) |
| | | // //Isnil("sex", ok) |
| | | // tmpinfo.Idcard,ok = source["idCard"].(string) |
| | | // //Isnil("idCard", ok) |
| | | // tmpinfo.MonitorLevel,ok = source["monitorLevel"].(string) |
| | | |
| | | // 根据 tableid 获取 tablename |
| | | // name, _:= Dbtablename(tmpinfo.TableId) |
| | | // tmpinfo.TableName= name |
| | | // binfos.Infos = append(binfos.Infos, &tmpinfo) |
| | | // 根据 tableid 获取 tablename |
| | | // name, _:= Dbtablename(tmpinfo.TableId) |
| | | // tmpinfo.TableName= name |
| | | // binfos.Infos = append(binfos.Infos, &tmpinfo) |
| | | |
| | | } |
| | | return |
| | | } |
| | | return |
| | | } |
| | | |
| | | //解析抓拍库人员结构 |
| | | func Videopersonsbyid(sources []map[string]interface{}) (tmpinfos []protomsg.Videopersons) { |
| | | var ok bool |
| | | for _, source := range sources{ |
| | | var tmpinfo protomsg.Videopersons |
| | | 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 |
| | | func AIOceanAnalysis(sources []map[string]interface{}) (tmpinfos []protomsg.AIOcean) { |
| | | var ok bool |
| | | for _, source := range sources { |
| | | var tmpinfo protomsg.AIOcean |
| | | tmpinfo.Id, ok = source["id"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | //Isnil("isAlarm",ok) |
| | | |
| | | isAckAlarm,ok := source["isAckAlarm"].(float64) |
| | | //fmt.Println(ok) |
| | | if ok { |
| | | tmpinfo.IsAckAlarm= strconv.FormatFloat(isAckAlarm, 'E', -1, 64)//float64 |
| | | tmpinfo.CameraId, ok = source["cameraId"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | //Isnil("isAckAlarm",ok) |
| | | tmpinfo.CameraAddr, ok = source["cameraAddr"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | tmpinfo.AnalyServerId, ok = source["analyServerId"].(string) |
| | | tmpinfo.AnalyServerName, ok = source["analyServerName"].(string) |
| | | tmpinfo.AnalyServerIp, ok = source["analyServerIp"].(string) |
| | | tmpinfo.ClusterId, ok = source["clusterId"].(string) |
| | | 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, |
| | | }, |
| | | } |
| | | tmpinfo.TargetInfo = append(tmpinfo.TargetInfo, &ti) |
| | | } |
| | | |
| | | isCollect,ok := source["isCollect"].(float64) |
| | | if ok { |
| | | tmpinfo.IsDelete= int32(isCollect) |
| | | } |
| | | //Isnil("isCollect", ok) |
| | | } |
| | | 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) |
| | | } |
| | | } |
| | | tmpinfo.IsAlarm, ok = source["isAlarm"].(bool) |
| | | tmpinfo.IsAckAlarm, ok = source["isAckAlarm"].(bool) |
| | | if source["alarmRules"] != nil { |
| | | for _, v := range source["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) |
| | | tmpinfo.AlarmRules = append(tmpinfo.AlarmRules, &ar) |
| | | } |
| | | |
| | | isDelete,ok := source["isDelete"].(float64) |
| | | if ok { |
| | | tmpinfo.IsDelete= int32(isDelete) |
| | | } |
| | | //Isnil("isDelete", ok) |
| | | } |
| | | 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 |
| | | } |
| | | 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) |
| | | } |
| | | |
| | | 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) |
| | | } |
| | | } |
| | | 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) |
| | | 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) |
| | | } |
| | | } |
| | | 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) |
| | | } |
| | | |
| | | } |
| | | |
| | | 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) |
| | | } |
| | | //Isnil("compareScore", ok) |
| | | |
| | | 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) |
| | | bi.BwType,ok = m["bwType"].(string) |
| | | |
| | | //Isnil("bwType", ok) |
| | | |
| | | tmpinfo.BaseInfo = append(tmpinfo.BaseInfo, &bi) |
| | | } |
| | | } |
| | | |
| | | //根据 tableid 获取 tablename |
| | | //name, _:= Dbtablename(tmpinfo.TableId) |
| | | //tmpinfo.TableName= name |
| | | //fmt.Println(tmpinfos) |
| | | tmpinfos = append(tmpinfos, tmpinfo) |
| | | } |
| | | |
| | | return tmpinfos |
| | | } |
| | | 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 |
| | | } |
| | | |
| | | //解析底库人员结构 |
| | | func Dbpersonbyid(sources []map[string]interface{}) (tmpinfos []protomsg.Dbperson) { |
| | | var ok bool |
| | | var ok bool |
| | | |
| | | var tmpinfo protomsg.Dbperson |
| | | for _, source := range sources{ |
| | | tmpinfo.FaceFeature, ok = source["faceFeature"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | var tmpinfo protomsg.Dbperson |
| | | for _, source := range sources { |
| | | tmpinfo.FaceFeature, ok = source["faceFeature"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | |
| | | tmpinfo.Id, ok = source["id"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | tmpinfo.Id, ok = source["id"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | |
| | | tmpinfo.TableId, ok = source["tableId"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | tmpinfo.TableId, ok = source["tableId"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | |
| | | tmpinfo.PersonName,ok = source["personName"].(string) |
| | | //Isnil("personName", ok) |
| | | tmpinfo.PersonPicUrl,ok = source["personPicUrl"].(string) |
| | | //Isnil("personPicUrl", ok) |
| | | tmpinfo.PhoneNum,ok = source["phoneNum"].(string) |
| | | //Isnil("phoneNum", ok) |
| | | tmpinfo.Sex,ok = source["sex"].(string) |
| | | //Isnil("sex", ok) |
| | | tmpinfo.IdCard,ok = source["idCard"].(string) |
| | | //Isnil("idCard", ok) |
| | | tmpinfo.MonitorLevel,ok = source["monitorLevel"].(string) |
| | | //Isnil("monitorLevel",ok) |
| | | tmpinfo.UpdateTime,ok = source["updateTime"].(string) |
| | | //Isnil("updateTime",ok) |
| | | tmpinfo.Age,ok = source["age"].(string) |
| | | //Isnil("age", ok) |
| | | tmpinfo.PersonName, ok = source["personName"].(string) |
| | | //Isnil("personName", ok) |
| | | tmpinfo.PersonPicUrl, ok = source["personPicUrl"].(string) |
| | | //Isnil("personPicUrl", ok) |
| | | tmpinfo.PhoneNum, ok = source["phoneNum"].(string) |
| | | //Isnil("phoneNum", ok) |
| | | tmpinfo.Sex, ok = source["sex"].(string) |
| | | //Isnil("sex", ok) |
| | | tmpinfo.IdCard, ok = source["idCard"].(string) |
| | | //Isnil("idCard", ok) |
| | | tmpinfo.MonitorLevel, ok = source["monitorLevel"].(string) |
| | | //Isnil("monitorLevel",ok) |
| | | tmpinfo.UpdateTime, ok = source["updateTime"].(string) |
| | | //Isnil("updateTime",ok) |
| | | tmpinfo.Age, ok = source["age"].(string) |
| | | //Isnil("age", ok) |
| | | |
| | | isDelete,ok := source["isDelete"].(float64) |
| | | if ok { |
| | | tmpinfo.IsDelete= int32(isDelete) |
| | | } |
| | | //Isnil("isDelete", ok) |
| | | isDelete, ok := source["isDelete"].(float64) |
| | | if ok { |
| | | tmpinfo.IsDelete = int32(isDelete) |
| | | } |
| | | //Isnil("isDelete", ok) |
| | | |
| | | enable,ok := source["enable"].(float64) |
| | | if ok { |
| | | tmpinfo.Enable= int32(enable) |
| | | } |
| | | //Isnil("endTime", ok) |
| | | enable, ok := source["enable"].(float64) |
| | | if ok { |
| | | tmpinfo.Enable = int32(enable) |
| | | } |
| | | //Isnil("endTime", ok) |
| | | |
| | | tmpinfo.Reserved,ok = source["reserved"].(string) |
| | | //Isnil("reserved",ok) |
| | | tmpinfo.PicDesc,ok = source["picDesc"].(string) |
| | | //Isnil("picDesc",ok) |
| | | tmpinfo.CreateTime,ok = source["createTime"].(string) |
| | | //Isnil("createTime",ok) |
| | | tmpinfo.CreateBy,ok = source["createBy"].(string) |
| | | //Isnil("createBy",ok) |
| | | tmpinfo.Reserved, ok = source["reserved"].(string) |
| | | //Isnil("reserved",ok) |
| | | tmpinfo.PicDesc, ok = source["picDesc"].(string) |
| | | //Isnil("picDesc",ok) |
| | | tmpinfo.CreateTime, ok = source["createTime"].(string) |
| | | //Isnil("createTime",ok) |
| | | tmpinfo.CreateBy, ok = source["createBy"].(string) |
| | | //Isnil("createBy",ok) |
| | | |
| | | //根据 tableid 获取 tablename |
| | | //name, _:= Dbtablename(tmpinfo.TableId) |
| | | //tmpinfo.TableName= name |
| | | tmpinfos = append(tmpinfos, tmpinfo) |
| | | } |
| | | //根据 tableid 获取 tablename |
| | | //name, _:= Dbtablename(tmpinfo.TableId) |
| | | //tmpinfo.TableName= name |
| | | tmpinfos = append(tmpinfos, tmpinfo) |
| | | } |
| | | |
| | | return tmpinfos |
| | | return tmpinfos |
| | | } |
| | | |
| | | //解析底库结构 |
| | | func Dbtablebyid(sources []map[string]interface{}) (tmpinfos []protomsg.Dbtable) { |
| | | var ok bool |
| | | var ok bool |
| | | |
| | | var tmpinfo protomsg.Dbtable |
| | | for _, source := range sources{ |
| | | var tmpinfo protomsg.Dbtable |
| | | for _, source := range sources { |
| | | |
| | | tmpinfo.Id, ok = source["id"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | tmpinfo.TableName,ok = source["tableName"].(string) |
| | | //Isnil("tableName", ok) |
| | | tmpinfo.TableType,ok = source["tableType"].(string) |
| | | //Isnil("tableType", ok) |
| | | tmpinfo.CreateBy,ok = source["createBy"].(string) |
| | | //Isnil("createBy", ok) |
| | | tmpinfo.TableDesc,ok = source["tableDesc"].(string) |
| | | //Isnil("tableDesc", ok) |
| | | tmpinfo.BwType,ok = source["bwType"].(string) |
| | | //Isnil("bwType", ok) |
| | | tmpinfo.StartTime,ok = source["startTime"].(string) |
| | | //Isnil("startTime", ok) |
| | | tmpinfo.EndTime,ok = source["endTime"].(string) |
| | | //Isnil("endTime", ok) |
| | | tmpinfo.Id, ok = source["id"].(string) |
| | | if !ok { |
| | | continue |
| | | } |
| | | tmpinfo.TableName, ok = source["tableName"].(string) |
| | | //Isnil("tableName", ok) |
| | | tmpinfo.TableType, ok = source["tableType"].(string) |
| | | //Isnil("tableType", ok) |
| | | tmpinfo.CreateBy, ok = source["createBy"].(string) |
| | | //Isnil("createBy", ok) |
| | | tmpinfo.TableDesc, ok = source["tableDesc"].(string) |
| | | //Isnil("tableDesc", ok) |
| | | tmpinfo.BwType, ok = source["bwType"].(string) |
| | | //Isnil("bwType", ok) |
| | | tmpinfo.StartTime, ok = source["startTime"].(string) |
| | | //Isnil("startTime", ok) |
| | | tmpinfo.EndTime, ok = source["endTime"].(string) |
| | | //Isnil("endTime", ok) |
| | | |
| | | isDelete,ok := source["isDelete"].(float64) |
| | | if ok { |
| | | tmpinfo.IsDelete= int32(isDelete) |
| | | } |
| | | //Isnil("isDelete", ok) |
| | | isDelete, ok := source["isDelete"].(float64) |
| | | if ok { |
| | | tmpinfo.IsDelete = int32(isDelete) |
| | | } |
| | | //Isnil("isDelete", ok) |
| | | |
| | | enable,ok := source["enable"].(float64) |
| | | if ok { |
| | | tmpinfo.Enable= int32(enable) |
| | | } |
| | | //Isnil("endTime", ok) |
| | | enable, ok := source["enable"].(float64) |
| | | if ok { |
| | | tmpinfo.Enable = int32(enable) |
| | | } |
| | | //Isnil("endTime", ok) |
| | | |
| | | tmpinfo.CreateTime,ok = source["createTime"].(string) |
| | | //Isnil("createTime", ok) |
| | | tmpinfo.UpdateTime,ok = source["updateTime"].(string) |
| | | //Isnil("updateTime", ok) |
| | | tmpinfo.IsForever,ok = source["isForever"].(string) |
| | | //Isnil("isForever", ok) |
| | | tmpinfo.IsSync,ok = source["isSync"].(string) |
| | | //Isnil("isSync", ok) |
| | | tmpinfo.AnalyServerId,ok = source["analyServerId"].(string) |
| | | //Isnil("analyServerId", ok) |
| | | tmpinfo.CreateTime, ok = source["createTime"].(string) |
| | | //Isnil("createTime", ok) |
| | | tmpinfo.UpdateTime, ok = source["updateTime"].(string) |
| | | //Isnil("updateTime", ok) |
| | | tmpinfo.IsForever, ok = source["isForever"].(string) |
| | | //Isnil("isForever", ok) |
| | | tmpinfo.IsSync, ok = source["isSync"].(string) |
| | | //Isnil("isSync", ok) |
| | | tmpinfo.AnalyServerId, ok = source["analyServerId"].(string) |
| | | //Isnil("analyServerId", ok) |
| | | |
| | | tmpinfos = append(tmpinfos, tmpinfo) |
| | | } |
| | | tmpinfos = append(tmpinfos, tmpinfo) |
| | | } |
| | | |
| | | return tmpinfos |
| | | return tmpinfos |
| | | } |
| | | |
| | | func Sourcelist(buf []byte)(sources []map[string]interface{}, err error){ |
| | | var info interface{} |
| | | json.Unmarshal(buf, &info) |
| | | out, ok := info.(map[string]interface{}) |
| | | if !ok { |
| | | return nil, errors.New("http response interface can not change map[string]interface{}") |
| | | } |
| | | func Sourcelist(buf []byte) (sources []map[string]interface{}, err error) { |
| | | var info interface{} |
| | | json.Unmarshal(buf, &info) |
| | | out, ok := info.(map[string]interface{}) |
| | | if !ok { |
| | | return nil, errors.New("http response interface can not change map[string]interface{}") |
| | | } |
| | | |
| | | middle, ok := out["hits"].(map[string]interface{}) |
| | | if !ok { |
| | | return nil, errors.New("first hits change error!") |
| | | } |
| | | for _, in := range middle["hits"].([]interface{}){ |
| | | tmpbuf, ok := in.(map[string]interface{}) |
| | | if !ok { |
| | | fmt.Println("change to source error!") |
| | | continue |
| | | } |
| | | source, ok := tmpbuf["_source"].(map[string]interface{}) |
| | | if !ok { |
| | | fmt.Println("change _source error!") |
| | | continue |
| | | } |
| | | sources = append(sources, source ) |
| | | } |
| | | return sources,nil |
| | | middle, ok := out["hits"].(map[string]interface{}) |
| | | if !ok { |
| | | return nil, errors.New("first hits change error!") |
| | | } |
| | | for _, in := range middle["hits"].([]interface{}) { |
| | | tmpbuf, ok := in.(map[string]interface{}) |
| | | if !ok { |
| | | fmt.Println("change to source error!") |
| | | continue |
| | | } |
| | | source, ok := tmpbuf["_source"].(map[string]interface{}) |
| | | if !ok { |
| | | fmt.Println("change _source error!") |
| | | continue |
| | | } |
| | | sources = append(sources, source) |
| | | } |
| | | return sources, nil |
| | | } |
| | | |
| | | func Sourcelistforscroll(buf []byte)(datasource map[string]interface{}, err error){ |
| | | func Sourcelistforscroll(buf []byte) (datasource map[string]interface{}, err error) { |
| | | var data = make(map[string]interface{}) |
| | | var info interface{} |
| | | json.Unmarshal(buf, &info) |
| | |
| | | if !ok { |
| | | return nil, errors.New("first hits change error!") |
| | | } |
| | | var sources = make([]map[string]interface{},0) |
| | | for _, in := range middle["hits"].([]interface{}){ |
| | | var sources = make([]map[string]interface{}, 0) |
| | | for _, in := range middle["hits"].([]interface{}) { |
| | | tmpbuf, ok := in.(map[string]interface{}) |
| | | if !ok { |
| | | fmt.Println("change to source error!") |
| | |
| | | fmt.Println("change _source error!") |
| | | continue |
| | | } |
| | | sources = append(sources, source ) |
| | | sources = append(sources, source) |
| | | } |
| | | |
| | | data["sourcelist"] = sources |
| | | data["scroll_id"] = scroll_id |
| | | return data,nil |
| | | return data, nil |
| | | } |
| | | |
| | | func EsReq(method string, url string, parama []byte) (buf []byte, err error) { |
| | | //defer elapsed("page")() |
| | | timeout := time.Duration(10 * time.Second) |
| | | client := http.Client{ |
| | | Timeout: timeout, |
| | | } |
| | | request, err := http.NewRequest(method, url, bytes.NewBuffer(parama)) |
| | | request.Header.Set("Content-type", "application/json") |
| | | //defer elapsed("page")() |
| | | timeout := time.Duration(10 * time.Second) |
| | | client := http.Client{ |
| | | Timeout: timeout, |
| | | } |
| | | request, err := http.NewRequest(method, url, bytes.NewBuffer(parama)) |
| | | request.Header.Set("Content-type", "application/json") |
| | | |
| | | if err != nil { |
| | | fmt.Println("build request fail !") |
| | | return nil, err |
| | | } |
| | | if err != nil { |
| | | fmt.Println("build request fail !") |
| | | return nil, err |
| | | } |
| | | |
| | | resp, err := client.Do(request) |
| | | if err != nil{ |
| | | fmt.Println("request error: ", err) |
| | | return nil, err |
| | | } |
| | | resp, err := client.Do(request) |
| | | if err != nil { |
| | | fmt.Println("request error: ", err) |
| | | return nil, err |
| | | } |
| | | |
| | | defer resp.Body.Close() |
| | | body, err := ioutil.ReadAll(resp.Body) |
| | | if err != nil { |
| | | fmt.Println(err) |
| | | return nil , err |
| | | } |
| | | return body, nil |
| | | defer resp.Body.Close() |
| | | body, err := ioutil.ReadAll(resp.Body) |
| | | if err != nil { |
| | | fmt.Println(err) |
| | | return nil, err |
| | | } |
| | | return body, nil |
| | | } |
| | | |
| | | // 计算时间 |