sunty
2020-08-20 9303b69ea569bcb5e581147543a3fd58e90d0d25
controllers/cameraTask.go
@@ -2,9 +2,14 @@
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"
)
@@ -90,7 +95,52 @@
   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)
   }
@@ -160,7 +210,7 @@
// @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 {
@@ -218,7 +268,7 @@
// @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 == "" {