liuxiaolong
2019-07-25 f88a44f58396fb36a979cfe5640a36d6ac2d7289
controllers/esSearch.go
@@ -111,17 +111,28 @@
      isCollectStr = "{\"term\":{\"isCollect\":\"" + isCollect + "\"}},"
   }
   //判断布防等级id
   alarmLevelId :=searchBody["alarmlevel"].([]interface{})
   alarmLevelId :=searchBody["alarmlevel"].([]int)
   alarmLevelStr := ""
   if alarmLevelId != nil && alarmLevelId != 0{
      if alarmLevelId != -1 {
         id := strings.Replace(strings.Trim(fmt.Sprint(getAlarmLevel(alarmLevel)), "[]"), " ", "\",\"", -1)
         alarmLevelStr = "{\"terms\":{\"alarmRules.alarmLevel\":[\"" + id + "\"]}},{\"term\":{\"alarmRules.defenceState\":true}},"
      }else{
         alarmLevelStr = "{\"term\":{\"alarmRules.defenceState\":false}},"
   defenceStateStr := ""
   if len(alarmLevelId) > 0 {
      flag := false
      for i,v := range alarmLevelId {
         if v == -1 {
            alarmLevelId = append(alarmLevelId[:i], alarmLevelId[i+1:]...)
            defenceStateStr = "{\"term\":{\"alarmRules.defenceState\":false}},"
            flag = true
            break
         }
      }
      if len(alarmLevelId) > 0{
         if flag == false {
            defenceStateStr = "{\"term\":{\"alarmRules.defenceState\":true}},"
         }
         id := strings.Replace(strings.Trim(fmt.Sprint(getAlarmLevel(alarmLevelId)), "[]"), " ", "\",\"", -1)
         alarmLevelStr = "{\"terms\":{\"alarmRules.alarmLevel\":[\"" + id + "\"]}},"
      }
   }
   //使用es底层机制处理分页
   //请求头
   url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
@@ -137,6 +148,7 @@
      "\"filter\":[" +
      cameraIdStr +
      alarmLevelStr +
      defenceStateStr +
      taskIdStr +
      isCollectStr +
      esTableIdStr +