From 0d251e8d1a5ba99f1186daa20ca88f90d1bf6c29 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期四, 28 五月 2020 18:46:20 +0800 Subject: [PATCH] add log --- EsClient.go | 146 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 138 insertions(+), 8 deletions(-) diff --git a/EsClient.go b/EsClient.go index 7ea8c54..39754cf 100644 --- a/EsClient.go +++ b/EsClient.go @@ -57,9 +57,10 @@ } } -func Parsesources(sources []map[string]interface{}) (esinfos []*protomsg.Esinfo) { +func Parsesources(sources []map[string]interface{}) (multiInfos []*protomsg.MultiFeaCache) { var ok bool for _, source := range sources { + var multiInfo protomsg.MultiFeaCache var tmpinfo protomsg.Esinfo tmpinfo.Id, ok = source["id"].(string) if !ok { @@ -72,14 +73,74 @@ if !ok { continue } + if m["attachTarget"] != nil { + multiInfo.AttachFeature, ok = m["attachTarget"].(map[string]interface{})["feature"].(string) + } + if m["targetLocation"] != nil { + 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) + multiInfo.TargetLocation = &protomsg.TargetLocation{ + TopLeft: &protomsg.Location{ + X: tx, + Y: ty, + }, + BottomRight: &protomsg.Location{ + X: bx, + Y: by, + }, + } + } } } tmpinfo.AnalyServerId, ok = source["analyServerId"].(string) if !ok { continue } - esinfos = append(esinfos, &tmpinfo) - + multiInfo.EsInfo = &tmpinfo + multiInfo.CameraId, ok = source["cameraId"].(string) + //fmt.Println(source["cameraId"]) + leis := make([]*protomsg.LinkEsInfo, 0) + if source["linkTagInfo"] != nil { + for _, v := range source["linkTagInfo"].([]interface{}) { + var lei protomsg.LinkEsInfo + mi := v.(map[string]interface{}) + lei.CameraId, ok = mi["cameraId"].(string) + if mi["targetInfo"] != nil { + for _, val := range mi["targetInfo"].([]interface{}) { + fmi := val.(map[string]interface{}) + lei.Feature, ok = fmi["feature"].(string) + if fmi["targetLocation"] != nil { + targetLocation := fmi["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) + multiInfo.TargetLocation = &protomsg.TargetLocation{ + TopLeft: &protomsg.Location{ + X: tx, + Y: ty, + }, + BottomRight: &protomsg.Location{ + X: bx, + Y: by, + }, + } + } + lei.AttachFeature, ok = fmi["attachTarget"].(map[string]interface{})["feature"].(string) + } + } + leis = append(leis, &lei) + } + } + multiInfo.LinkEsInfo = leis + multiInfos = append(multiInfos, &multiInfo) } return } @@ -110,7 +171,7 @@ tmpinfo.SdkName, ok = source["sdkName"].(string) if source["picMaxUrl"] != nil { - for _,v := range source["picMaxUrl"].([]interface{}) { + for _, v := range source["picMaxUrl"].([]interface{}) { tmpinfo.PicMaxUrl = append(tmpinfo.PicMaxUrl, v.(string)) } } @@ -121,6 +182,7 @@ m := v.(map[string]interface{}) var ti protomsg.TargetInfo ti.TargetId, ok = m["targetId"].(string) + ti.TargetType, ok = m["targetType"].(string) ti.TargetScore, ok = m["targetScore"].(float64) ti.Feature, ok = m["feature"].(string) ti.PicSmUrl, ok = m["picSmUrl"].(string) @@ -157,7 +219,7 @@ 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.TargetName, ok = m["targetName"].(string) bi.TargetPicUrl, ok = m["targetPicUrl"].(string) bi.MonitorLevel, ok = m["monitorLevel"].(string) bi.Labels, ok = m["labels"].(string) @@ -208,7 +270,7 @@ lti.TaskName, ok = lm["taskName"].(string) lti.SdkName, ok = lm["sdkName"].(string) if lm["picMaxUrl"] != nil { - for _,v := range lm["picMaxUrl"].([]interface{}) { + for _, v := range lm["picMaxUrl"].([]interface{}) { lti.PicMaxUrl = append(lti.PicMaxUrl, v.(string)) } } @@ -219,6 +281,7 @@ m := v.(map[string]interface{}) var ti protomsg.TargetInfo ti.TargetId, ok = m["targetId"].(string) + ti.TargetType, ok = m["targetType"].(string) ti.TargetScore, ok = m["targetScore"].(float64) ti.Feature, ok = m["feature"].(string) ti.PicSmUrl, ok = m["picSmUrl"].(string) @@ -255,7 +318,7 @@ 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.TargetName, ok = m["targetName"].(string) bi.TargetPicUrl, ok = m["targetPicUrl"].(string) bi.MonitorLevel, ok = m["monitorLevel"].(string) bi.Labels, ok = m["labels"].(string) @@ -479,9 +542,76 @@ return data, nil } +func SourceCreated(buf []byte) (result bool, err error) { + var info interface{} + json.Unmarshal(buf, &info) + out, ok := info.(map[string]interface{}) + if !ok { + return false, errors.New("http response interface can not change map[string]interface{}") + } + + middle, ok := out["result"].(string) + if !ok { + return false, errors.New("first total change error!") + } + if middle == "created" || middle == "updated" { + result = true + } + return result, nil +} + +func SourceDeleted(buf []byte) (total int, err error) { + var info interface{} + json.Unmarshal(buf, &info) + out, ok := info.(map[string]interface{}) + if !ok { + return -1, errors.New("http response interface can not change map[string]interface{}") + } + + middle, ok := out["deleted"].(float64) + if !ok { + return -1, errors.New("first total change error!") + } + total = int(middle) + return total, nil +} + +func SourceUpdated(buf []byte) (total int, err error) { + var info interface{} + json.Unmarshal(buf, &info) + out, ok := info.(map[string]interface{}) + if !ok { + return -1, errors.New("http response interface can not change map[string]interface{}") + } + + middle, ok := out["updated"].(float64) + if !ok { + return -1, errors.New("first total change error!") + } + total = int(middle) + return total, nil +} + +func SourceTotal(buf []byte) (total int, err error) { + var info interface{} + json.Unmarshal(buf, &info) + out, ok := info.(map[string]interface{}) + if !ok { + return -1, errors.New("http response interface can not change map[string]interface{}") + } + + middle, ok := out["hits"].(map[string]interface{}) + if !ok { + return -1, errors.New("first total change error!") + } + tmp := middle["total"].(float64) + total = int(tmp) + return total, nil +} + func EsReq(method string, url string, parama []byte) (buf []byte, err error) { //defer elapsed("page")() - timeout := time.Duration(10 * time.Second) + timeout := time.Duration(100 * time.Second) client := http.Client{ Timeout: timeout, } -- Gitblit v1.8.0