sunty
2019-07-12 d42b09cda8b2bc58c43c200f3aabdb0b2a7e9211
controllers/es.go
@@ -1,6 +1,7 @@
package controllers
import (
   "basic.com/dbapi.git"
   "encoding/json"
   "fmt"
   "github.com/gin-gonic/gin"
@@ -117,47 +118,47 @@
// @Success 200 {string} json "{"code":200, success:true,  msg:"请求处理成功", data:"摄像机信息"}"
// @Failure 500 {string} json "{"code":500, success:false   msg:"",data:"错误信息内容"}"
// @Router /data/api-v/camera/queryCameraAndTaskInfo [get]
func (ac *CameraController) QueryCameraAndTaskInfo(c *gin.Context) {
   var cam models.Camera
   rows := cam.FindAllCamTask()
   if len(rows) == 0 {
      util.ResponseFormat(c, code.ComError, "没有记录")
      return
   }
   camList := make([]map[string]interface{}, 0, 5)
   for _, cam := range rows {
      newCam := make(map[string]interface{})
      newCam["cameraid"] = cam.Id
      newCam["rtspUrl"] = cam.Rtsp
      tasks := cam.CamTask
      taskList := make([]map[string]interface{}, 0)
      if tasks != nil {
         taskmap := make(map[string]interface{})
         for _, task := range tasks {
            taskId := taskmap[task.Taskid]
            if taskId != nil {
               cameraTasks := taskmap[task.Taskid].([]models.CameraTask)
               cameraTasks = append(cameraTasks, task)
               taskmap[task.Taskid] = cameraTasks
            } else {
               cameraTasks := make([]models.CameraTask, 0)
               taskmap[task.Taskid] = append(cameraTasks, task)
            }
         }
         for key, value := range taskmap {
            i := make(map[string]interface{})
            i["taskid"] = key
            i["sdklist"] = value
            taskList = append(taskList, i)
         }
      }
      newCam["tasklist"] = taskList
      camList = append(camList, newCam)
   }
   c.JSON(200, camList)
}
//func (ac *CameraController) QueryCameraAndTaskInfo(c *gin.Context) {
//   var cam models.Camera
//   rows := cam.FindAllCamTask()
//
//   if len(rows) == 0 {
//      util.ResponseFormat(c, code.ComError, "没有记录")
//      return
//   }
//   camList := make([]map[string]interface{}, 0, 5)
//   for _, cam := range rows {
//      newCam := make(map[string]interface{})
//      newCam["cameraid"] = cam.Id
//      newCam["rtspUrl"] = cam.Rtsp
//      tasks := cam.CamTask
//      taskList := make([]map[string]interface{}, 0)
//      if tasks != nil {
//         taskmap := make(map[string]interface{})
//         for _, task := range tasks {
//            taskId := taskmap[task.Taskid]
//            if taskId != nil {
//               cameraTasks := taskmap[task.Taskid].([]models.CameraTask)
//               cameraTasks = append(cameraTasks, task)
//               taskmap[task.Taskid] = cameraTasks
//            } else {
//               cameraTasks := make([]models.CameraTask, 0)
//               taskmap[task.Taskid] = append(cameraTasks, task)
//            }
//         }
//         for key, value := range taskmap {
//            i := make(map[string]interface{})
//            i["taskid"] = key
//            i["sdklist"] = value
//            taskList = append(taskList, i)
//         }
//      }
//      newCam["tasklist"] = taskList
//      camList = append(camList, newCam)
//   }
//   c.JSON(200, camList)
//
//}
func searchEsData(searchBody models.EsSearch) map[string]interface{} {
   //请求索引
@@ -166,7 +167,7 @@
   queryBody := searchBody.InputValue
   //检索框
   if queryBody != "" {
      queryStr = "\"must\":[{\"multi_match\":{\"query\":\"" + queryBody + "\",\"fields\":[\"tableName^1.5\",\"sex^2.0\",\"race^2.0\",\"content^1.0\",\"idCard^1.8\",\"cameraAddr^1.0\"]," +
      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\"]," +
         "\"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[0]
@@ -191,7 +192,7 @@
   esTableIdStr := ""
   if tableId != nil && len(tableId) > 0 {
      esTableId = strings.Replace(strings.Trim(fmt.Sprint(tableId), "[]"), " ", "\",\"", -1)
      esTableIdStr = "{\"terms\":{\"tableId\":[\"" + esTableId + "\"]}},"
      esTableIdStr = "{\"terms\":{\"baseInfo.tableId\":[\"" + esTableId + "\"]}},"
   }
   isCollectionStr := ""
   isCollection := searchBody.Collection
@@ -207,6 +208,11 @@
   //请求头
   url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
      "/" + index + "/_search?search_type=dfs_query_then_fetch"
   var setApi dbapi.SysSetApi
   _, sysconf := setApi.GetServerInfo()
   analyServerFilterStr := "{\"term\":{\"analyServerId\":\"" + sysconf.ServerId + "\"}},"
   //请求体
   prama := "{\"from\":\"" + esFrom + "\",\"size\":\"" + esSize + "\"," +
      //   prama := "{\"size\":\"0\"," +
@@ -216,6 +222,7 @@
      taskIdStr +
      isCollectionStr +
      esTableIdStr +
      analyServerFilterStr +
      "{\"range\":{\"picDate\":{\"from\":\"" + gteDate + "\",\"to\":\"" + lteDate + "\",\"include_lower\":true,\"include_upper\":true,\"boost\":1}}}]}}," +
      "\"sort\":[{\"_score\":{\"order\":\"desc\"}},{\"picDate\":{\"order\":\"desc\"}}]," +
      "\"_source\":[\"baseInfo\",\"alarmRules\",\"sex\",\"analyServerName\",\"sdkName\",\"ageDescription\",\"content\",\"id\",\"cameraAddr\",\"picMaxUrl\",\"picDate\",\"race\",\"videoUrl\",\"picSmUrl\",\"taskName\",\"personIsHub\",\"isAlarm\",\"analyServerIp\",\"cameraId\"]}"