| | |
| | | package controllers |
| | | |
| | | import ( |
| | | "basic.com/dbapi.git" |
| | | "basic.com/valib/logger.git" |
| | | "fmt" |
| | | "github.com/gin-gonic/gin" |
| | | "strconv" |
| | | "strings" |
| | | "webserver/cache" |
| | | "webserver/extend/code" |
| | | "webserver/extend/config" |
| | | "webserver/extend/esutil" |
| | |
| | | type InitForData struct { |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @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}" |
| | | // @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) |
| | | //searchBody := make(map[string]interface{}, 0) |
| | | var searchBody RealTimeArg |
| | | c.BindJSON(&searchBody) |
| | | index := config.EsInfo.EsIndex.VideoPersons.IndexName + "," + config.EsInfo.EsIndex.Personaction.IndexName |
| | | url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport + |
| | | 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" |
| | | var setApi dbapi.SysSetApi |
| | | _, sysconf := setApi.GetServerInfo() |
| | | analyServerFilterStr := "{\"term\":{\"analyServerId\":\"" + sysconf.ServerId + "\"}}" |
| | | 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 + "\"]}}," |
| | | } |
| | | } |
| | | |
| | | prama := "{\"query\":{\"bool\":{\"filter\":[{\"term\":{\"isAlarm\":\"1\"}}," + |
| | | analyServerFilterStr := "{\"term\":{\"analyServerId\":\"" + localConf.ServerId + "\"}}" |
| | | linkTagInfoAnalyServerFilterStr := "{\"term\":{\"linkTagInfo.analyServerId\":\"" + localConf.ServerId + "\"}}" |
| | | |
| | | prama := "{\"query\":{\"bool\":{\"should\":[" + |
| | | "{\"bool\":{\"filter\":[" + |
| | | "{\"term\":{\"isAlarm\":true}}," + |
| | | 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\"]" + |
| | | "]}}," + |
| | | "{\"bool\":{\"filter\":[" + |
| | | "{\"term\":{\"isAlarm\":true}}," + |
| | | linkTagInfoCameraIdStr + |
| | | linkTagInfoAnalyServerFilterStr + |
| | | "]}}" + |
| | | "],\"minimum_should_match\":1}}," + |
| | | "\"size\":\"20\",\"sort\":[{\"picDate\":{\"order\":\"desc\"}}]," + |
| | | "\"_source\":{\"includes\":[],\"excludes\":[\"*.feature\"]}" + |
| | | "}" |
| | | fmt.Println(prama) |
| | | logger.Debug("InitForCaptureData:", prama) |
| | | tokenRes := esutil.GetEsDataReq(url, prama, true) |
| | | util.ResponseFormat(c, code.Success, tokenRes) |
| | | 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 map true "底库数据" |
| | | // @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) |
| | | |
| | | //searchBody := make(map[string]interface{}, 0) |
| | | var searchBody InitForMonitorArg |
| | | c.BindJSON(&searchBody) |
| | | index := config.EsInfo.EsIndex.VideoPersons.IndexName +","+config.EsInfo.EsIndex.Personaction.IndexName |
| | | index := config.EsInfo.EsIndex.AiOcean.IndexName |
| | | cameraIdStr := "" |
| | | cameraId := searchBody["treeNodes"].([]interface{}) |
| | | 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 := "{\"terms\":{\"taskId\":[]}}," |
| | | taskId := searchBody["tasks"].([]interface{}) |
| | | 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 + "\"]}}," |
| | | } |
| | | //请求头 |
| | | url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport + |
| | | 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" |
| | | var setApi dbapi.SysSetApi |
| | | _, sysconf := setApi.GetServerInfo() |
| | | analyServerFilterStr := "{\"term\":{\"analyServerId\":\"" + sysconf.ServerId + "\"}}" |
| | | |
| | | prama := "{\"query\":{\"bool\":{\"filter\":[" + |
| | | cameraIdStr + |
| | | 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\":[\"baseInfo\",\"alarmRules\",\"sex\",\"analyServerName\",\"sdkName\",\"ageDescription\",\"content\",\"id\",\"cameraAddr\",\"picMaxUrl\",\"picDate\",\"race\",\"videoUrl\",\"picSmUrl\",\"taskName\",\"personIsHub\",\"isAlarm\",\"analyServerIp\",\"cameraId\"]}" |
| | | fmt.Println(prama) |
| | | "\"_source\":{\"includes\":[],\"excludes\":[\"*.feature\"]}}" |
| | | //logger.Debug("url:", url) |
| | | //logger.Debug("InitForMonitoringData:", prama) |
| | | tokenRes := esutil.GetEsDataReq(url, prama, true) |
| | | util.ResponseFormat(c, code.Success, tokenRes) |
| | | } |
| | | tmpAllDate := esutil.ResponseData(tokenRes) |
| | | util.ResponseFormat(c, code.Success, tmpAllDate) |
| | | } |