package controllers
|
|
import (
|
"basic.com/valib/logger.git"
|
"fmt"
|
"github.com/gin-gonic/gin"
|
"strconv"
|
"strings"
|
"webserver/cache"
|
"webserver/extend/code"
|
"webserver/extend/config"
|
"webserver/extend/esutil"
|
"webserver/extend/util"
|
)
|
|
type InitForData struct {
|
}
|
|
// @Security ApiKeyAuth
|
// @Summary 抓拍实时图数据初始化
|
// @Description 实时获取数据
|
// @Accept json
|
// @Produce json
|
// @Tags realTime
|
// @Param obj body controllers.RealTimeArg false "抓拍实时图初始化参数"
|
// @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)
|
var searchBody RealTimeArg
|
c.BindJSON(&searchBody)
|
index := config.EsInfo.EsIndex.AiOcean.IndexName
|
localConf, err2 := cache.GetServerInfo()
|
if err2 != nil || localConf.AlarmIp == "" || localConf.ServerId == "" {
|
logger.Debug("localConfig is wrong!!!")
|
util.ResponseFormat(c, code.ComError, "localConf wrong")
|
return
|
}
|
url := "http://" + localConf.AlarmIp + ":" + strconv.Itoa(int(localConf.AlarmPort)) +
|
"/" + index + "/_search"
|
cameraIdStr := ""
|
linkTagInfoCameraIdStr := ""
|
if searchBody.TreeNodes != nil {
|
cameraId := searchBody.TreeNodes
|
if cameraId != nil && len(cameraId) > 0 {
|
esCameraId := strings.Replace(strings.Trim(fmt.Sprint(cameraId), "[]"), " ", "\",\"", -1)
|
cameraIdStr = "{\"terms\":{\"cameraId\":[\"" + esCameraId + "\"]}},"
|
linkTagInfoCameraIdStr = "{\"terms\":{\"linkTagInfo.cameraId\":[\"" + esCameraId + "\"]}},"
|
}
|
}
|
|
analyServerFilterStr := "{\"term\":{\"analyServerId\":\"" + localConf.ServerId + "\"}}"
|
linkTagInfoAnalyServerFilterStr := "{\"term\":{\"linkTagInfo.analyServerId\":\"" + localConf.ServerId + "\"}}"
|
|
prama := "{\"query\":{\"bool\":{\"should\":[" +
|
"{\"bool\":{\"filter\":[" +
|
"{\"term\":{\"isAlarm\":true}}," +
|
cameraIdStr +
|
analyServerFilterStr +
|
"]}}," +
|
"{\"bool\":{\"filter\":[" +
|
"{\"term\":{\"isAlarm\":true}}," +
|
linkTagInfoCameraIdStr +
|
linkTagInfoAnalyServerFilterStr +
|
"]}}" +
|
"],\"minimum_should_match\":1}}," +
|
"\"size\":\"20\",\"sort\":[{\"picDate\":{\"order\":\"desc\"}}]," +
|
"\"_source\":{\"includes\":[],\"excludes\":[\"*.feature\"]}" +
|
"}"
|
logger.Debug("InitForCaptureData:", prama)
|
tokenRes := esutil.GetEsDataReq(url, prama, true)
|
tmpAllDate := esutil.ResponseData(tokenRes)
|
util.ResponseFormat(c, code.Success, tmpAllDate)
|
}
|
|
type InitForMonitorArg struct {
|
TreeNodes []string `json:"treeNodes"`
|
Tasks []string `json:"tasks"`
|
}
|
|
// @Security ApiKeyAuth
|
// @Summary 实时任务监控数据初始化
|
// @Description 实时监控比对数据
|
// @Accept json
|
// @Produce json
|
// @Tags realTime
|
// @Param obj body controllers.InitForMonitorArg 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)
|
var searchBody InitForMonitorArg
|
c.BindJSON(&searchBody)
|
index := config.EsInfo.EsIndex.AiOcean.IndexName
|
cameraIdStr := ""
|
linkTagInfoCameraIdStr := ""
|
cameraId := searchBody.TreeNodes
|
if cameraId != nil && len(cameraId) > 0 {
|
esCameraId := strings.Replace(strings.Trim(fmt.Sprint(cameraId), "[]"), " ", "\",\"", -1)
|
cameraIdStr = "{\"terms\":{\"cameraId\":[\"" + esCameraId + "\"]}},"
|
linkTagInfoCameraIdStr = "{\"terms\":{\"linkTagInfo.cameraId\":[\"" + esCameraId + "\"]}},"
|
}
|
//判断任务ID
|
taskIdStr := ""
|
linkTagInfoTaskIdStr := ""
|
taskId := searchBody.Tasks
|
if taskId != nil && len(taskId) > 0 {
|
esTaskId := strings.Replace(strings.Trim(fmt.Sprint(taskId), "[]"), " ", "\",\"", -1)
|
taskIdStr = "{\"terms\":{\"taskId\":[\"" + esTaskId + "\"]}},"
|
linkTagInfoTaskIdStr = "{\"terms\":{\"linkTagInfo.taskId\":[\"" + esTaskId + "\"]}},"
|
}
|
//请求头
|
localConf, err2 := cache.GetServerInfo()
|
if err2 != nil || localConf.AlarmIp == "" || localConf.ServerId == "" {
|
logger.Debug("localConfig is wrong!!!")
|
util.ResponseFormat(c, code.ComError, "localConf wrong")
|
return
|
}
|
url := "http://" + localConf.AlarmIp + ":" + strconv.Itoa(int(localConf.AlarmPort)) +
|
"/" + index + "/_search"
|
|
analyServerFilterStr := "{\"term\":{\"analyServerId\":\"" + localConf.ServerId + "\"}}"
|
linkTagInfoAnalyServerFilterStr := "{\"term\":{\"linkTagInfo.analyServerId\":\"" + localConf.ServerId + "\"}}"
|
|
prama := "{\"query\":{\"bool\":{\"should\":[" +
|
"{\"bool\":{\"filter\":[" +
|
taskIdStr +
|
cameraIdStr +
|
analyServerFilterStr +
|
"]}}," +
|
"{\"bool\":{\"filter\":[" +
|
linkTagInfoTaskIdStr +
|
linkTagInfoCameraIdStr +
|
linkTagInfoAnalyServerFilterStr +
|
"]}}" +
|
"],\"minimum_should_match\":1}}," +
|
"\"sort\":[{\"picDate\":{\"order\":\"desc\"}}]," +
|
"\"size\":\"20\"," +
|
"\"_source\":{\"includes\":[],\"excludes\":[\"*.feature\"]}}"
|
//logger.Debug("url:", url)
|
//logger.Debug("InitForMonitoringData:", prama)
|
tokenRes := esutil.GetEsDataReq(url, prama, true)
|
tmpAllDate := esutil.ResponseData(tokenRes)
|
util.ResponseFormat(c, code.Success, tmpAllDate)
|
}
|