package controllers import ( "basic.com/dbapi.git" "fmt" "github.com/gin-gonic/gin" "strings" "webserver/extend/code" "webserver/extend/config" "webserver/extend/esutil" "webserver/extend/util" ) type InitForData struct { } // @Summary 抓拍实时图数据初始化 // @Description 实时获取数据 // @Accept json // @Produce json // @Tags realTime // @Success 200 {string} json "{"code":200, msg:"目录结构数据", success:true}" // @Failure 500 {string} json "{"code":500, msg:"返回错误信息", success:false}" // @Router /data/api-v/realTime/initForCaptureData [POST] //实时抓拍数据初始化 func (rc *RealTimeController) InitForCaptureData(c *gin.Context) { searchBody := make(map[string]interface{}, 0) c.BindJSON(&searchBody) index := config.EsInfo.EsIndex.VideoPersons.IndexName + "," + config.EsInfo.EsIndex.Personaction.IndexName url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport + "/" + index + "/_search" cameraIdStr := "" if searchBody["treeNodes"] !=nil { cameraId := searchBody["treeNodes"].([]interface{}) if cameraId != nil && len(cameraId) > 0 { esCameraId := strings.Replace(strings.Trim(fmt.Sprint(cameraId), "[]"), " ", "\",\"", -1) cameraIdStr = "{\"terms\":{\"cameraId\":[\"" + esCameraId + "\"]}}," } } var setApi dbapi.SysSetApi _, sysconf := setApi.GetServerInfo() analyServerFilterStr := "{\"term\":{\"analyServerId\":\"" + sysconf.ServerId + "\"}}" prama := "{\"query\":{\"bool\":{\"filter\":[{\"term\":{\"isAlarm\":\"1\"}}," + cameraIdStr + analyServerFilterStr + "]}},\"size\":\"20\",\"sort\":[{\"picDate\":{\"order\":\"desc\"}}]," + "\"_source\":[\"baseInfo\",\"alarmRules\",\"sex\",\"analyServerName\",\"sdkName\",\"ageDescription\",\"content\",\"id\",\"cameraAddr\",\"picMaxUrl\",\"picDate\",\"race\",\"videoUrl\",\"picSmUrl\",\"taskName\",\"isAlarm\",\"isAlarm\",\"analyServerIp\",\"cameraId\"]" + "}" //logger.Debug("InitForCaptureData:", prama) tokenRes := esutil.GetEsDataReq(url, prama, true) util.ResponseFormat(c, code.Success, tokenRes) } // @Summary 实时任务监控数据初始化 // @Description 实时监控比对数据 // @Accept json // @Produce json // @Tags realTime // @Param obj body map true "底库数据" // @Success 200 {string} json "{"code":200, msg:"目录结构数据", success:true}" // @Failure 500 {string} json "{"code":500, msg:"返回错误信息", success:false}" // @Router /data/api-v/realTime/initForMonitoringData [POST] //实时监控数据初始化 func (rc *RealTimeController) InitForMonitoringData(c *gin.Context) { searchBody := make(map[string]interface{}, 0) c.BindJSON(&searchBody) index := config.EsInfo.EsIndex.VideoPersons.IndexName + "," + config.EsInfo.EsIndex.Personaction.IndexName cameraIdStr := "" cameraId := searchBody["treeNodes"].([]interface{}) if cameraId != nil && len(cameraId) > 0 { esCameraId := strings.Replace(strings.Trim(fmt.Sprint(cameraId), "[]"), " ", "\",\"", -1) cameraIdStr = "{\"terms\":{\"cameraId\":[\"" + esCameraId + "\"]}}," } //判断任务ID taskIdStr := "{\"terms\":{\"taskId\":[]}}," taskId := searchBody["tasks"].([]interface{}) if taskId != nil && len(taskId) > 0 { esTaskId := strings.Replace(strings.Trim(fmt.Sprint(taskId), "[]"), " ", "\",\"", -1) taskIdStr = "{\"terms\":{\"taskId\":[\"" + esTaskId + "\"]}}," } //请求头 url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport + "/" + index + "/_search" var setApi dbapi.SysSetApi _, sysconf := setApi.GetServerInfo() analyServerFilterStr := "{\"term\":{\"analyServerId\":\"" + sysconf.ServerId + "\"}}" prama := "{\"query\":{\"bool\":{\"filter\":[" + cameraIdStr + taskIdStr + analyServerFilterStr + "]}}," + "\"sort\":[{\"picDate\":{\"order\":\"desc\"}}]," + "\"size\":\"20\"," + "\"_source\":[\"baseInfo\",\"alarmRules\",\"sex\",\"analyServerName\",\"sdkName\",\"ageDescription\",\"content\",\"id\",\"cameraAddr\",\"picMaxUrl\",\"picDate\",\"race\",\"videoUrl\",\"picSmUrl\",\"taskName\",\"personIsHub\",\"isAlarm\",\"analyServerIp\",\"cameraId\"]}" //logger.Debug("url:", url) //logger.Debug("InitForMonitoringData:", prama) tokenRes := esutil.GetEsDataReq(url, prama, true) util.ResponseFormat(c, code.Success, tokenRes) }