liuxiaolong
2019-08-22 f4e8f206a6760bdc31734dfcb1c65916b5b76311
controllers/cameraTask.go
@@ -2,10 +2,11 @@
import (
   "basic.com/dbapi.git"
   "webserver/extend/code"
   "webserver/extend/util"
   "fmt"
   "github.com/gin-gonic/gin"
   "webserver/extend/code"
   "webserver/extend/util"
   "webserver/models"
)
type CameraTaskController struct {
@@ -19,7 +20,7 @@
type CameraTaskVo struct {
   Id          string `json:"id"`
   CameraIds   string `json:"camera_ids"`
   CameraId   string `json:"camera_id"`
   TaskId      string `json:"task_id"` //任务id  来自于任务表
   TimeRule    string `json:"time_rule"`
   ReactRule   string `json:"react_rule"`
@@ -29,7 +30,7 @@
   Enable      int    `json:"enable"`                //默认启用
   Sort        int    `json:"sort"`    //任务排序
   IsFull      int    `json:"is_full"` //参数是否设置完整
   LinkGroupId string `json:"link_group_id"` //联动任务组
   LinkTaskId string `json:"link_task_id"` //联动任务组
}
type CameraTaskSaveArg struct {
@@ -61,6 +62,16 @@
   SdkArgValue string `json:"sdk_arg_value"` //算法参数值设置
   RuleWithPre string `json:"rule_with_pre"` //与下一条的逻辑运算符
   GroupId string `json:"group_id"`
}
type LinkCameraTasksVo struct {
}
type CameraTaskInfoVo struct {
   Camera models.Camera `json:"camera"`
   Tasks []models.Task `json:"tasks"`
   Polygon CameraPolygonVo `json:"polygon"`
}
// @Summary 查询所有任务
@@ -162,40 +173,95 @@
   }
}
type TransAndAlarmLevelVo struct {
type DataTransVo struct {
   CameraIds []string `json:"camera_ids"`
   TaskId string `json:"task_id"`
   IsDataTrans int `json:"is_data_trans"`
   GroupLevels []GroupAlarmLevelVo `json:"group_levels"`
}
type GroupAlarmLevelVo struct {
   GroupId string `json:"group_id"`
   AlarmLevel int `json:"alarm_level"`
}
// @Summary 保存任务是否下传数据以及组报警等级
// @Description 保存任务是否下传数据以及组报警等级
// @Summary 保存任务是否下传数据
// @Description 保存任务是否下传数据
// @Accept json
// @Produce json
// @Tags CameraTask
// @Param TransAndAlarmLevel body controllers.TransAndAlarmLevelVo true "请求参数结构"
// @Param TransAndAlarmLevel body controllers.DataTransVo 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/saveTransAndAlarmLevel [post]
func (controller CameraTaskController) SaveTransAndAlarmLevel(c *gin.Context) {
   var vo TransAndAlarmLevelVo
   if err := c.BindJSON(&vo);err!=nil {
// @Router /data/api-v/cameraTask/saveIsDataTrans [post]
func (controller CameraTaskController) SaveIsDataTrans(c *gin.Context) {
   var transVo DataTransVo
   if err := c.BindJSON(&transVo);err!=nil {
      util.ResponseFormat(c,code.RequestParamError,"参数有误")
      return
   }
   fmt.Println("SaveTransAndAlarmLevel.vo:",vo)
   var api dbapi.CameraTaskApi
   paramBody := util.Struct2Map(vo)
   paramBody := util.Struct2Map(transVo)
   flag ,data := api.SaveTransAndAlarmLevel(paramBody)
   flag ,data := api.SaveIsDataTrans(paramBody)
   if flag {
      util.ResponseFormat(c,code.Success,data)
   } else {
      util.ResponseFormat(c,code.ComError,data)
   }
}
// @Summary 保存规则组报警等级
// @Description 保存规则组报警等级
// @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) {
   var groupLevelVo GroupAlarmLevelVo
   if err := c.BindJSON(&groupLevelVo);err !=nil {
      util.ResponseFormat(c,code.RequestParamError,"参数有误")
      return
   }
   var api dbapi.CameraTaskApi
   flag,data := api.SaveAlarmLevelByGroup(groupLevelVo.GroupId,groupLevelVo.AlarmLevel)
   if flag {
      util.ResponseFormat(c,code.Success,data)
   } else {
      util.ResponseFormat(c,code.ComError,data)
   }
}
type CameraTaskStatusVo struct {
   CameraId string `json:"cameraId"`
   TaskId string `json:"taskId"`
   Status int `json:"status"`
}
// @Summary 更新任务状态
// @Description 更新任务状态
// @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) {
   var paramVo CameraTaskStatusVo
   if err := c.BindJSON(&paramVo);err !=nil {
      util.ResponseFormat(c,code.RequestParamError,"参数有误")
      return
   }
   var api dbapi.CameraTaskApi
   flag, data := api.UpdateCameraTaskStatus(paramVo.CameraId, paramVo.TaskId, paramVo.Status)
   if flag {
      if data.(string) == "此任务为停用状态,请在任务管理中开启!"{
         util.ResponseFormat(c,code.TaskStoped,data)
      } else {
         util.ResponseFormat(c,code.UpdateSuccess,data)
      }
   } else {
      util.ResponseFormat(c,code.ComError,data)
   }
}