| | |
| | | |
| | | import ( |
| | | "basic.com/dbapi.git" |
| | | "basic.com/pubsub/esutil.git" |
| | | "encoding/json" |
| | | "fmt" |
| | | "github.com/gin-gonic/gin" |
| | | "strconv" |
| | | "webserver/cache" |
| | | "webserver/extend/code" |
| | | "webserver/extend/config" |
| | | "webserver/extend/util" |
| | | "webserver/models" |
| | | ) |
| | |
| | | Polygon CameraPolygonVo `json:"polygon"` |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 查询所有任务 |
| | | // @Description "查询所有任务" |
| | | // @Accept json |
| | |
| | | // @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/alltask [post] |
| | | func (controller CameraTaskController) FindTasksByCameraIds(c *gin.Context){ |
| | | func (ctc CameraTaskController) FindTasksByCameraIds(c *gin.Context){ |
| | | var mulCamera MultiCamera |
| | | c.BindJSON(&mulCamera) |
| | | var api dbapi.CameraTaskApi |
| | | flag, data := api.FindTasksByCameraIds(mulCamera.CameraIds) |
| | | if flag { |
| | | util.ResponseFormat(c,code.Success,data) |
| | | bytes, _ := json.Marshal(data) |
| | | var camTInfo []CameraTaskInfoVo |
| | | json.Unmarshal(bytes, &camTInfo) |
| | | |
| | | //处理已被删除的任务 |
| | | |
| | | var delTasks []models.Task |
| | | var taskApi dbapi.TaskApi |
| | | taskInfos := taskApi.FindAll() |
| | | m := make(map[string]string) |
| | | for _,ti :=range taskInfos{ |
| | | if ti.Task.Taskid != FaceExtract_VirtualTaskId{ |
| | | m[ti.Task.Taskid] = ti.Task.Taskid |
| | | } |
| | | } |
| | | localConf, _ := cache.GetServerInfo() |
| | | if localConf.AlarmIp != "" && localConf.ServerId != "" && localConf.AlarmPort>0 { |
| | | indexName := config.EsInfo.EsIndex.AiOcean.IndexName |
| | | esTaskM, e := esutil.AggregateTaskList(localConf.AlarmIp, strconv.Itoa(int(localConf.AlarmPort)), indexName, localConf.ServerId) |
| | | if e==nil && esTaskM !=nil { |
| | | for _,tM :=range esTaskM { |
| | | if _,ok := m[tM["taskId"].(string)];!ok {//表示此任务已被删除 |
| | | taskId := tM["taskId"].(string) |
| | | m[taskId] = taskId |
| | | delTasks = append(delTasks, models.Task{ |
| | | Taskid: taskId, |
| | | Taskname: tM["taskName"].(string), |
| | | DelFlag: true, |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | var result []CameraTaskInfoVo |
| | | if camTInfo != nil { |
| | | for _, camIn := range camTInfo { |
| | | nIfn := CameraTaskInfoVo{ |
| | | Camera: camIn.Camera, |
| | | Polygon: camIn.Polygon, |
| | | Tasks: append(camIn.Tasks, delTasks...), |
| | | } |
| | | result = append(result, nIfn) |
| | | } |
| | | } |
| | | |
| | | util.ResponseFormat(c,code.Success, result) |
| | | } else { |
| | | util.ResponseFormat(c,code.ComError,data) |
| | | } |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 摄像机添加一个任务 |
| | | // @Description 摄像机添加一个任务 |
| | | // @Accept x-www-form-urlencoded |
| | | // @Produce json |
| | | // @Tags CameraTask |
| | | // @Param cameraId formData string true "摄像机id" |
| | |
| | | if b,data := api.AddTask(cameraId, taskId);b { |
| | | util.ResponseFormat(c,code.AddSuccess, data) |
| | | } else { |
| | | util.ResponseFormat(c,code.ComError, data) |
| | | if data.(string) == "此国标摄像机已在其它服务器配置任务!" { |
| | | util.ResponseFormat(c,code.AddTaskErr, data) |
| | | } else { |
| | | util.ResponseFormat(c,code.ComError, data) |
| | | } |
| | | } |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 查询所有任务 |
| | | // @Description "查询所有任务" |
| | | // @Produce json |
| | |
| | | // @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/task/{cameraId} [get] |
| | | func (controller CameraTaskController) CameraTaskAll(c *gin.Context) { |
| | | func (ctc CameraTaskController) CameraTaskAll(c *gin.Context) { |
| | | cameraId := c.Param("cameraId") |
| | | if cameraId == "" { |
| | | util.ResponseFormat(c,code.RequestParamError,"摄像机id不能为空") |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 摄像机保存任务 |
| | | // @Description 摄像机保存任务 |
| | | // @Accept json |
| | |
| | | // @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/saveTask [post] |
| | | func (ac CameraController) CameraTaskSave(c *gin.Context) { |
| | | func (cc CameraController) CameraTaskSave(c *gin.Context) { |
| | | var saveBody CameraTaskSaveArg |
| | | err := c.BindJSON(&saveBody) |
| | | if err != nil { |
| | |
| | | } |
| | | } |
| | | |
| | | type PasteRuleArg struct { |
| | | SourceId string `json:"sourceId" binding:"required"` |
| | | TargetIds []string `json:"targetIds" binging:"required"` |
| | | } |
| | | |
| | | // @Summary 复制摄像机规则到选定的多个摄像机 |
| | | // @Description 复制摄像机规则到选定的多个摄像机 |
| | | // @Accept json |
| | | // @Produce json |
| | | // @Tags CameraTask |
| | | // @Param args body controllers.PasteRuleArg true "规则复制参数" |
| | | // @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/pasteRules [post] |
| | | func (ctc CameraTaskController) PasteRules(c *gin.Context) { |
| | | var reqBody PasteRuleArg |
| | | err := c.BindJSON(&reqBody) |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "") |
| | | return |
| | | } |
| | | var api dbapi.CameraTaskApi |
| | | if api.PasteRules(reqBody.SourceId, reqBody.TargetIds) { |
| | | util.ResponseFormat(c,code.Success,"") |
| | | } else { |
| | | util.ResponseFormat(c,code.ComError,"") |
| | | } |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 删除摄像机的任务 |
| | | // @Description 删除摄像机的任务 |
| | | // @Produce json |
| | |
| | | // @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/delTask/{cameraId}/{taskId} [delete] |
| | | func (ac CameraController) CameraDelTask(c *gin.Context) { |
| | | func (cc CameraController) CameraDelTask(c *gin.Context) { |
| | | cameraId := c.Param("cameraId") |
| | | taskId := c.Param("taskId") |
| | | if cameraId == "" || taskId == "" { |
| | |
| | | AlarmLevel int `json:"alarm_level"` |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 保存任务是否下传数据 |
| | | // @Description 保存任务是否下传数据 |
| | | // @Accept json |
| | |
| | | // @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" |
| | | // @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}" |
| | | // @Router /data/api-v/cameraTask/saveIsDataTrans [post] |
| | | func (controller CameraTaskController) SaveIsDataTrans(c *gin.Context) { |
| | | func (ctc CameraTaskController) SaveIsDataTrans(c *gin.Context) { |
| | | var transVo DataTransVo |
| | | if err := c.BindJSON(&transVo);err!=nil { |
| | | util.ResponseFormat(c,code.RequestParamError,"参数有误") |
| | |
| | | } |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 保存规则组报警等级 |
| | | // @Description 保存规则组报警等级 |
| | | // @Accept json |
| | | // @Produce json |
| | | // @Tags CameraTask |
| | | // @Param GroupLevel body controllers.GroupAlarmLevelVo true "alarmLevel" |
| | | // @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" |
| | | // @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}" |
| | | // @Router /data/api-v/cameraTask/saveAlarmLevelByGroup [post] |
| | | func (controller CameraTaskController) SaveAlarmLevelByGroup(c *gin.Context) { |
| | | func (ctc CameraTaskController) SaveAlarmLevelByGroup(c *gin.Context) { |
| | | var groupLevelVo GroupAlarmLevelVo |
| | | if err := c.BindJSON(&groupLevelVo);err !=nil { |
| | | util.ResponseFormat(c,code.RequestParamError,"参数有误") |
| | |
| | | Status int `json:"status"` |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 更新任务状态 |
| | | // @Description 更新任务状态 |
| | | // @Accept json |
| | | // @Produce json |
| | | // @Tags CameraTask |
| | | // @Param CameraTaskStatus body controllers.CameraTaskStatusVo true "参数结构体" |
| | | // @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" |
| | | // @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}" |
| | | // @Router /data/api-v/cameraTask/updateCameraTaskStatus [post] |
| | | func (controller CameraTaskController) UpdateCameraTaskStatus(c *gin.Context) { |
| | | func (ctc CameraTaskController) UpdateCameraTaskStatus(c *gin.Context) { |
| | | var paramVo CameraTaskStatusVo |
| | | if err := c.BindJSON(¶mVo);err !=nil { |
| | | util.ResponseFormat(c,code.RequestParamError,"参数有误") |