From 9d4762cee4c0762dde9ee8712c3460c6f986f876 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期六, 19 十月 2024 14:27:35 +0800 Subject: [PATCH] 修复V2 --- service/server.go | 85 +++++++++++++++++++++++------------------- 1 files changed, 46 insertions(+), 39 deletions(-) diff --git a/service/server.go b/service/server.go index 2ad02fd..45d3db3 100644 --- a/service/server.go +++ b/service/server.go @@ -12,6 +12,8 @@ "fmt" "io/ioutil" "net/http" + "regexp" + "strings" ) func ConnectControl() bool { @@ -28,7 +30,7 @@ } func GetTotal() (total int, err error) { - url := "http://" + config.Options.EsUrl + "/ai_ocean/_search" + url := "http://" + config.Options.EsUrl + "/ai_face_ocean/_search" queryDSL := `{ "size": "1", "query": { @@ -67,7 +69,7 @@ func GetData() (interface{}, error) { //fmt.Println(config.Options.EsUrl) //fmt.Println(config.Options.ServerUrl) - url := "http://" + config.Options.EsUrl + "/ai_ocean/_search" + url := "http://" + config.Options.EsUrl + "/ai_face_ocean/_search" queryDSL := `{ "size": "1", "query": { @@ -89,8 +91,7 @@ } ] }` - //fmt.Println(url) - //fmt.Println(queryDSL) + buf, err := esutil.EsReq("POST", url, []byte(queryDSL)) if err != nil { return nil, err @@ -102,56 +103,62 @@ if len(source) == 0 { return nil, nil } - picMaxImages := make([][]byte, 0) // 瀛樺偍鍥剧墖鏁版嵁鐨勬暟缁� - if source[0]["picMaxUrl"].([]interface{}) != nil { - //picMaxUrls := source[0]["picMaxUrl"].([]interface{}) - if len(source[0]["picMaxUrl"].([]interface{})) > 0 { - for _, picMaxUrl := range source[0]["picMaxUrl"].([]interface{}) { - picMaxImageData, err := GetImageData("http://" + picMaxUrl.(string)) - if err != nil { - logger.Warn("鑾峰彇澶у浘鏁版嵁澶辫触:", err.Error()) - continue - } - picMaxImages = append(picMaxImages, picMaxImageData) - } + + b, _ := json.Marshal(source[0]) + + var esInfoV2 model.ESInfoV2 + err = json.Unmarshal(b, &esInfoV2) + if err != nil { + return nil, err + } + + picMaxImages := make([]byte, 0) // 瀛樺偍鍥剧墖鏁版嵁鐨勬暟缁� + if esInfoV2.PicMaxUrl != "" { + picMaxImages, err = GetImageData("http://" + esInfoV2.PicMaxUrl) + if err != nil { + logger.Warn("鑾峰彇澶у浘鏁版嵁澶辫触:", err.Error()) } } if len(picMaxImages) == 0 { - return nil, errors.New("鑾峰彇澶у浘澶辫触, id:" + source[0]["id"].(string)) + return nil, errors.New("鑾峰彇澶у浘澶辫触, id:" + esInfoV2.TargetInfo.PicSmUrl) } //fmt.Println("鍥剧墖鏁版嵁鏁扮粍澶у皬:", len(picMaxImages)) - picSmImages := make([][]byte, 0) // 瀛樺偍鍥剧墖鏁版嵁鐨勬暟缁� - if source[0]["targetInfo"].(interface{}) != nil { - for _, target := range source[0]["targetInfo"].([]interface{}) { - info := target.(map[string]interface{}) - picSmUrl := info["picSmUrl"].(string) - if picSmUrl == "" { - continue - } - picSmImageData, err := GetImageData("http://" + picSmUrl) - if err != nil { - fmt.Println("鑾峰彇灏忓浘鏁版嵁澶辫触:", err) - continue - } - picSmImages = append(picSmImages, picSmImageData) + picSmImages := make([]byte, 0) // 瀛樺偍鍥剧墖鏁版嵁鐨勬暟缁� + if esInfoV2.TargetInfo.PicSmUrl != "" { + picSmImages, err = GetImageData("http://" + esInfoV2.TargetInfo.PicSmUrl) + if err != nil { + fmt.Println("鑾峰彇灏忓浘鏁版嵁澶辫触:", err) } } if len(picSmImages) == 0 { - return nil, errors.New("鑾峰彇灏忓浘鏁版嵁澶辫触, id:" + source[0]["id"].(string)) + return nil, errors.New("鑾峰彇灏忓浘鏁版嵁澶辫触, id:" + esInfoV2.Id) } - // 涓婃姤鏈烘瀯鍚嶇О - source[0]["orgName"] = config.Options.OrgName - - model.PushDataInfo.SourceData = source[0] - model.PushDataInfo.PicMaxImages = picMaxImages - model.PushDataInfo.PicSmImages = picSmImages + var pushData = model.PushDataInfoV2 + pushData.CameraId = esInfoV2.CameraId + pushData.PicDate = esInfoV2.PicDate + pushData.PicId = esInfoV2.PicId + pushData.CameraFloor = esInfoV2.CameraLocation.Floor + pushData.Direction = esInfoV2.CameraLocation.Direction + pushData.PicMaxImages = append(pushData.PicMaxImages, picMaxImages) + pushData.PicSmImages = append(pushData.PicSmImages, picSmImages) //fmt.Println(model.PushDataInfo.SourceData) - return model.PushDataInfo, nil + + return pushData, nil +} + +func extractFloor(s string) string { + // 浣跨敤姝e垯琛ㄨ揪寮忓尮閰嶆ゼ灞備俊鎭� + re := regexp.MustCompile(`[-\d]+F`) + matches := re.FindStringSubmatch(s) + if len(matches) >= 1 { + return matches[0] // 杩斿洖鍖归厤鍒扮殑妤煎眰淇℃伅 + } + return "" // 濡傛灉娌℃湁鍖归厤鍒帮紝杩斿洖绌哄瓧绗︿覆 } func SendData(pushDataInfo interface{}, url string) (id string, err error) { -- Gitblit v1.8.0