From 28bf0226d1df3817bec0947d6d1ad11356dcd290 Mon Sep 17 00:00:00 2001 From: sunty <suntianyu0923@163.com> Date: 星期三, 31 七月 2019 14:30:12 +0800 Subject: [PATCH] add endTime omitenpty add taglist serverId filter add baseInfo{persoNname phoneNum sex} to queryBody --- controllers/esSearch.go | 55 +++++++++--------- models/dbtables.go | 12 ++-- controllers/taglist.go | 61 ++++++++++---------- 3 files changed, 64 insertions(+), 64 deletions(-) diff --git a/controllers/esSearch.go b/controllers/esSearch.go index 92c74df..ef49c27 100644 --- a/controllers/esSearch.go +++ b/controllers/esSearch.go @@ -33,37 +33,38 @@ data := findEsData(searchBody) util.ResponseFormat(c, code.Success, data) } + //鑾峰彇鐩戞帶绛夌骇 -func getAlarmLevel(alarmlevel []interface{}) ([]string) { +func getAlarmLevel(alarmlevel []interface{}) []string { d := dbapi.DicApi{} - res,data := d.FindByType("ALARMLEVEL") - if data == nil { - logger.Debug("data is nil") - } + res, data := d.FindByType("ALARMLEVEL") + if data == nil { + logger.Debug("data is nil") + } logger.Debug(res) - // logger.Debug(data) + // logger.Debug(data) alarmLevel := make(map[int]string) tmp := data.(map[string]interface{}) - for _,value := range tmp["ALARMLEVEL"].([]interface{}) { - // logger.Debug(value.(map[string]interface{})["value"]," ",value.(map[string]interface{})["name"]) - val := value.(map[string]interface{})["value"].(string) - name := value.(map[string]interface{})["name"].(string) - vl,err := strconv.Atoi(val) - if err != nil { - logger.Debug(err) - } - alarmLevel[vl] = name + for _, value := range tmp["ALARMLEVEL"].([]interface{}) { + // logger.Debug(value.(map[string]interface{})["value"]," ",value.(map[string]interface{})["name"]) + val := value.(map[string]interface{})["value"].(string) + name := value.(map[string]interface{})["name"].(string) + vl, err := strconv.Atoi(val) + if err != nil { + logger.Debug(err) } - alarmLevelRes := make([]string,len(alarmlevel)) - for i,v := range alarmlevel { - value := int(v.(float64)) - if value < 0 { - alarmLevelRes[i] = "鎾ら槻" - }else { - alarmLevelRes[i] = alarmLevel[value] - } + alarmLevel[vl] = name + } + alarmLevelRes := make([]string, len(alarmlevel)) + for i, v := range alarmlevel { + value := int(v.(float64)) + if value < 0 { + alarmLevelRes[i] = "鎾ら槻" + } else { + alarmLevelRes[i] = alarmLevel[value] } - return alarmLevelRes + } + return alarmLevelRes } func findEsData(searchBody map[string]interface{}) map[string]interface{} { @@ -80,7 +81,7 @@ queryBody := searchBody["inputValue"].(string) //妫�绱㈡ if queryBody != "" { - queryStr = "\"must\":[{\"multi_match\":{\"query\":\"" + queryBody + "\",\"fields\":[\"alarmRules.alarmLevel^1.5\",\"ageDescription^1.5\",\"taskName^1.5\",\"baseInfo.tableName^1.5\",\"sex^2.0\",\"race^2.0\",\"content^1.0\",\"baseInfo.idCard^1.8\",\"cameraAddr^1.0\"]," + + queryStr = "\"must\":[{\"multi_match\":{\"query\":\"" + queryBody + "\",\"fields\":[\"baseInfo.sex\",\"baseInfo.phoneNum.raw^1.5\",\"baseInfo.personName.raw^1.5\",\"alarmRules.alarmLevel^1.5\",\"ageDescription^1.5\",\"taskName^1.5\",\"baseInfo.tableName^1.5\",\"sex^2.0\",\"race^2.0\",\"content^1.0\",\"baseInfo.idCard^1.8\",\"cameraAddr^1.0\"]," + "\"type\":\"cross_fields\",\"operator\":\"OR\",\"slop\":0,\"prefix_length\":0,\"max_expansions\":50,\"zero_terms_query\":\"NONE\",\"auto_generate_synonyms_phrase_query\":true,\"fuzzy_transpositions\":true,\"boost\":1}}]," } gteDate := searchBody["searchTime"].([]interface{})[0].(string) @@ -116,13 +117,13 @@ isCollectStr = "{\"term\":{\"isCollect\":\"" + isCollect + "\"}}," } //鍒ゆ柇甯冮槻绛夌骇id - alarmLevelId :=searchBody["alarmlevel"].([]interface{}) + alarmLevelId := searchBody["alarmlevel"].([]interface{}) alarmLevelStr := "" if len(alarmLevelId) > 0 { alarmLevelTypes := strings.Replace(strings.Trim(fmt.Sprint(getAlarmLevel(alarmLevelId)), "[]"), " ", "\",\"", -1) alarmLevelStr = "{\"terms\":{\"alarmRules.alarmLevel\":[\"" + alarmLevelTypes + "\"]}}," } - + //浣跨敤es搴曞眰鏈哄埗澶勭悊鍒嗛〉 //璇锋眰澶� url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport + diff --git a/controllers/taglist.go b/controllers/taglist.go index 6e24e2f..d4a2a08 100644 --- a/controllers/taglist.go +++ b/controllers/taglist.go @@ -1,6 +1,7 @@ package controllers import ( + "basic.com/dbapi.git" "encoding/json" "fmt" @@ -25,12 +26,11 @@ url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport + "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/_search" - - prama := "{\"query\":{\"bool\":{\"filter\":[]}},\"size\":10000,\"_source\":[\"tableName\",\"id\",\"isDelete\"]}" - + var setApi dbapi.SysSetApi + _, sysconf := setApi.GetServerInfo() + prama := "{\"query\":{\"bool\":{\"filter\":[{\"terms\":{\"analyServerId\":[\"\",\"" + sysconf.ServerId + "\"]}}]}},\"size\":1000}" tokenRes := esutil.GetEsDataReq(url, prama, true) sources := make([]map[string]interface{}, 0) - fmt.Println(tokenRes["datalist"].([]interface{})) for _, value := range tokenRes["datalist"].([]interface{}) { tokenRes := make(map[string]interface{}) key := value.(map[string]interface{})["id"].(string) @@ -39,43 +39,42 @@ tokenRes["value"] = value.(map[string]interface{})["id"].(string) status := int(value.(map[string]interface{})["isDelete"].(float64)) tokenRes["status"] = status - if status == 1 { - if GetTotalFromDb(key) == false{ + if status == 1 { + if GetTotalFromDb(key) == false { continue } - } sources = append(sources, tokenRes) } util.ResponseFormat(c, code.Success, sources) } + //鍒ゆ柇搴曞簱鏄惁鏈夋暟鎹� func GetTotalFromDb(id string) (flag bool) { flag = false url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport + "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/_search" - prama := "{\"query\":{\"bool\":{\"filter\":[{\"term\":{\"baseInfo.tableId\":\""+id+"\"}}]}},\"size\":0}" + prama := "{\"query\":{\"bool\":{\"filter\":[{\"term\":{\"baseInfo.tableId\":\"" + id + "\"}}]}},\"size\":0}" buf, err := esutil.EsReq("POST", url, []byte(prama)) - if err != nil { - fmt.Println("http request info is err!") - return - } - var info interface{} - json.Unmarshal(buf, &info) - out, ok := info.(map[string]interface{}) - if !ok { - fmt.Println("http response interface can not change map[string]interface{}") - return - } - middle, ok := out["hits"].(map[string]interface{}) - if !ok { - fmt.Println("first hits change error!") - return - } - total := int(middle["total"].(float64)) - fmt.Println(total) - if total > 0 { - flag=true - } - return flag -} \ No newline at end of file + if err != nil { + fmt.Println("http request info is err!") + return + } + var info interface{} + json.Unmarshal(buf, &info) + out, ok := info.(map[string]interface{}) + if !ok { + fmt.Println("http response interface can not change map[string]interface{}") + return + } + middle, ok := out["hits"].(map[string]interface{}) + if !ok { + fmt.Println("first hits change error!") + return + } + total := int(middle["total"].(float64)) + if total > 0 { + flag = true + } + return flag +} diff --git a/models/dbtables.go b/models/dbtables.go index 72e821d..0377ed0 100644 --- a/models/dbtables.go +++ b/models/dbtables.go @@ -2,12 +2,12 @@ type Dbtables struct { BaseEntity - TableName string `json:"tableName,omitempty" example:"搴曞簱123"` //琛ㄥ悕 - TableDesc string `json:"tableDesc,omitempty" example:"搴曞簱鎻忚堪"` //鎻忚堪 - TableType string `json:"tableType,omitempty" example:"person,car"` //浜哄憳琛�"person - BwType string `json:"bwType,omitempty" example:"榛戝悕鍗�:1,鐧藉悕鍗�:0"` //榛戝悕鍗曪細1锛岀櫧鍚嶅崟锛�0 - StartTime string `json:"startTime,omitempty" example:"2019-01-12 12:14:56"` //鏈夋晥鏈熷紑濮嬫椂闂� - EndTime string `json:"endTime" example:"2019-10-12 12:14:56"` //鏈夋晥鏈熺粨鏉熸椂闂� + TableName string `json:"tableName,omitempty" example:"搴曞簱123"` //琛ㄥ悕 + TableDesc string `json:"tableDesc,omitempty" example:"搴曞簱鎻忚堪"` //鎻忚堪 + TableType string `json:"tableType,omitempty" example:"person,car"` //浜哄憳琛�"person + BwType string `json:"bwType,omitempty" example:"榛戝悕鍗�:1,鐧藉悕鍗�:0"` //榛戝悕鍗曪細1锛岀櫧鍚嶅崟锛�0 + StartTime string `json:"startTime,omitempty" example:"2019-01-12 12:14:56"` //鏈夋晥鏈熷紑濮嬫椂闂� + EndTime string `json:"endTime,omitempty" example:"2019-10-12 12:14:56"` //鏈夋晥鏈熺粨鏉熸椂闂� IsSync string `json:"isSync,omitempty" example:"1:鍚屾鍒扮鐞嗗钩鍙帮紝2锛氫笉鍚屾"` AnalyServerId string `json:"analyServerId" example:"鏈湴搴撴墍灞炵殑鍒嗘瀽璁惧id锛屽鏋滄槸鍚屾搴撳氨涓嶉渶瑕佽褰�"` // 鍒嗘瀽璁惧id(鏈湴搴撴墍灞炵殑鍒嗘瀽璁惧id锛屽鏋滄槸鍚屾搴撳氨涓嶉渶瑕佽褰�) } -- Gitblit v1.8.0