From 7c811247ecf143e08c576986a884bedadc57dd66 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期五, 05 六月 2020 18:29:41 +0800 Subject: [PATCH] add refresh token to resp --- extend/esutil/EsClient.go | 128 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 123 insertions(+), 5 deletions(-) diff --git a/extend/esutil/EsClient.go b/extend/esutil/EsClient.go index 79ece4f..ba0880c 100644 --- a/extend/esutil/EsClient.go +++ b/extend/esutil/EsClient.go @@ -44,7 +44,7 @@ sources := []interface{}{} for _, value := range dat["hits"].([]interface{}) { source := value.(map[string]interface{})["_source"].(map[string]interface{}) - source["id"] = value.(map[string]interface{})["_id"] + //source["id"] = source["id"] /*sdkType := source["sdkType"] if sdkType != nil { sdk, _ := strconv.Atoi(sdkType.(string)) @@ -98,7 +98,7 @@ return dat, nil } -func PostFormData(uri string, filename, paramName string, file multipart.File) (maps map[string]interface{}, err0 error) { +func PostFormData(uri string, filename, paramName string, fileBytes []byte) (maps map[string]interface{}, err0 error) { body := &bytes.Buffer{} writer := multipart.NewWriter(body) _, err := writer.CreateFormFile(paramName, filename) @@ -106,11 +106,11 @@ return nil, err } boundary := writer.Boundary() - //close_string := fmt.Sprintf("\r\n--%s--\r\n", boundary) close_buf := bytes.NewBufferString(fmt.Sprintf("\r\n--%s--\r\n", boundary)) + fmt.Println("PostFormData.fileLen:", len(fileBytes)) + file := bytes.NewBuffer(fileBytes) request_reader := io.MultiReader(body, file, close_buf) - //_, err = io.Copy(part, file) - //writer.WriteField(key, val) + request, err := http.NewRequest("POST", uri, request_reader) request.Header.Add("Content-Type", writer.FormDataContentType()) timeout := time.Duration(5 * time.Second) //瓒呮椂鏃堕棿50ms @@ -245,3 +245,121 @@ return dat } } + +//瑙f瀽http +func EsReq(method string, url string, parama []byte) (buf []byte, err error) { + 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 + } + + 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 +} + +//瑙f瀽json +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 +} + +func HttpGet(str string) []byte { + resp, err := http.Get(str) + if err != nil { + // handle error + } + + defer resp.Body.Close() + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + // handle error + } + return body +} + +func ResponseData(tokenRes map[string]interface{}) map[string]interface{} { + tmpAllDate := make(map[string]interface{}) + tmpDate := make(map[string][]interface{}) + tmpAllDate["total"] = tokenRes["total"] + data := tokenRes["datalist"] + for _, masterInfoValues := range data.([]interface{}) { + masterInfo := masterInfoValues.(map[string]interface{}) + sources := make(map[string]interface{}, 0) + activateInfo := make(map[string]interface{}) + if masterInfo["linkTagInfo"] != nil { + linkTagInfo := masterInfo["linkTagInfo"].([]interface{}) + delete(masterInfo, "linkTagInfo") + if len(linkTagInfo) > 0 { + slaveList := make([]interface{}, 0) + slaveList = append(slaveList, masterInfo) + slaveList = append(slaveList, linkTagInfo...) + for i, j := 0, len(slaveList)-1; i < j; i, j = i+1, j-1 { + slaveList[i], slaveList[j] = slaveList[j], slaveList[i] + } + sources["list"] = slaveList + activateInfo = slaveList[0].(map[string]interface{}) + } else { + sources["list"] = []interface{}{ + masterInfo, + } + activateInfo = masterInfo + } + } else { + if _, ok := masterInfo["linkTagInfo"]; ok { + delete(masterInfo, "linkTagInfo") + } + sources["list"] = []interface{}{ + masterInfo, + } + activateInfo = masterInfo + + } + + sources["activeObject"] = activateInfo + + tmpDate["datalist"] = append(tmpDate["datalist"], sources) + } + tmpAllDate["datalist"] = tmpDate["datalist"] + return tmpAllDate +} -- Gitblit v1.8.0