package service import ( "encoding/json" "fmt" "webserver/extend/config" "webserver/extend/esutil" "webserver/models" ) // 地库人员数据 为 比对做准备 func QueryDbPersonsForCompare(reqBody models.EsSearch) map[string]interface{} { url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport + "/" + config.EsInfo.EsIndex.Dbtablepersons.IndexName + "/_search" tableIds := make([]string, 20) if reqBody.DataBases != nil { tableIds = reqBody.DataBases } startDate := "" endDate := "" if reqBody.SearchTime != nil && len(reqBody.SearchTime) >= 2 { dates := reqBody.SearchTime startDate = dates[0] endDate = dates[1] // 起始结束时间 } contentValue := reqBody.InputValue //输入框内容 /*page := 1 ;if reqBody["page"] != nil { page = int(reqBody["page"].(float64)) } // 页码 size := 8 ;if reqBody["size"] != nil { size = int(reqBody["size"].(float64)) }// 条数 from := (page - 1) * size */ syncTerm := "" contentParam := "" if len(tableIds) < 1 { // / 所有人员 } else { bytes, _ := json.Marshal(tableIds) syncTerm += ",{\"terms\":{\"tableId\":" + string(bytes) + "}}" // 底库人员 } if startDate != "" && endDate != "" { syncTerm += ",{\"range\":{\"createTime\":{\"from\":\"" + startDate + "\"," + "\"to\":\"" + endDate + "\",\"include_lower\":true,\"include_upper\":true,\"boost\":1}}}" // 底库人员 } if contentValue != "" { contentParam = ",\"must\":[{\"multi_match\":{\"query\":\"" + contentValue + "\",\"type\":\"best_fields\"," + "\"fields\":[\"personName\",\"sex\",\"idcard\",\"phoneNum\",\"reserved\"],\"boost\":1}}]" } params := "{\"query\":{\"bool\":{\"filter\":[" + "{\"term\":{\"isDelete\":\"0\"}}" + syncTerm + "]" + contentParam + "}},\"from\":0,\"size\":10000,\"sort\":{\"uuid\":{\"order\":\"desc\"}}}" fmt.Print("查询全部底库人员 请求url:%s;\n 请求参数params:%s", url, params) data := esutil.GetEsDataReq(url, params, true) return data }