liuxiaolong
2020-03-08 9994ff4bbe6ec29c2c3c196f1c0be9f791314d0d
alltask add task deleted
1个文件已修改
41 ■■■■■ 已修改文件
controllers/cameraTask.go 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,41 @@
    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)
        //处理已被删除的任务
        aTasks := camTInfo.Tasks
        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
                        aTasks = append(aTasks, models.Task{
                            Taskid:    taskId,
                            Taskname: tM["taskName"].(string),
                            DelFlag: true,
                        })
                    }
                }
            }
        }
        camTInfo.Tasks = aTasks
        util.ResponseFormat(c,code.Success, camTInfo)
    } else {
        util.ResponseFormat(c,code.ComError,data)
    }