| | |
| | | |
| | | import ( |
| | | "basic.com/dbapi.git" |
| | | "basic.com/pubsub/esutil.git" |
| | | "basic.com/pubsub/protomsg.git" |
| | | "encoding/json" |
| | | "strconv" |
| | | "time" |
| | | "webserver/cache" |
| | | "webserver/extend/config" |
| | | |
| | | "github.com/gin-gonic/gin" |
| | | "webserver/extend/code" |
| | |
| | | FaceExtract_VirtualSdkId = "virtual-faceextract-sdk-pull"//结果输出的算法id |
| | | ) |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 查找所有任务,包含任务信息和对应的算法信息 |
| | | // @Description 查找所有任务 |
| | | // @Produce json |
| | |
| | | } |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 检索页面获取所有任务列表(包含已删除的任务) |
| | | // @Description 检索页面获取所有任务列表(包含已删除的任务) |
| | | // @Produce json |
| | | // @Tags task |
| | | // @Success 200 {string} json "{"code":200, msg:"请求处理成功",data:"",success:true}" |
| | | // @Failure 500 {string} json "{"code":500, msg:"请求失败",data:"",success:false}" |
| | | // @Router /data/api-v/task/aggregateTaskList [GET] |
| | | func (tc TaskController) AggregateTaskList(c *gin.Context) { |
| | | // 显示所有任务: 获取信息 |
| | | var taskApi dbapi.TaskApi |
| | | |
| | | taskInfos := taskApi.FindAll() |
| | | m := make(map[string]string) |
| | | var arr []protomsg.TaskSdkInfo |
| | | for _,ti :=range taskInfos{ |
| | | if ti.Task.Taskid != FaceExtract_VirtualTaskId{ |
| | | arr = append(arr,ti) |
| | | m[ti.Task.Taskid] = ti.Task.Taskid |
| | | } |
| | | } |
| | | var tasks []TaskSdkVo |
| | | dataBytes, err := json.Marshal(arr) |
| | | if err !=nil { |
| | | util.ResponseFormat(c,code.ComError,[]TaskSdkVo{}) |
| | | } else { |
| | | if err := json.Unmarshal(dataBytes, &tasks);err !=nil { |
| | | util.ResponseFormat(c,code.ComError,[]TaskSdkVo{}) |
| | | } else { |
| | | //处理已被删除的任务 |
| | | 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 |
| | | tasks = append(tasks, TaskSdkVo{ |
| | | Task:TaskVo{ |
| | | Taskid: taskId, |
| | | Taskname: tM["taskName"].(string), |
| | | DelFlag: true, |
| | | }, |
| | | Sdks:[]SdkVo{}, |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | util.ResponseFormat(c,code.Success,tasks) |
| | | } |
| | | } |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 添加任务 |
| | | // @Description 查找所有任务 |
| | | // @Accept json |
| | |
| | | Sort int `json:"sort"` |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 给任务添加算法 |
| | | // @Description 任务添加算法 |
| | | // @Accept json |
| | | // @Produce json |
| | | // @Tags task |
| | | // @Param taskSdkAdd body controllers.TaskSdkAdd true "任务id" |
| | |
| | | } |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 任务删除算法 |
| | | // @Description 根据taskid和sdkid删除 |
| | | // @Produce json |
| | |
| | | } |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 更新任务名称 |
| | | // @Description 更新任务名称 |
| | | // @Accept x-www-form-urlencoded |
| | | // @Produce json |
| | | // @Tags task |
| | | // @Param taskId formData string true "taskId" |
| | |
| | | Enable bool `json:"enable"` |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 更新任务状态 |
| | | // @Description (算法不变,只更新任务状态) |
| | | // @Accept json |
| | | // @Produce json |
| | | // @Tags task |
| | | // @Param taskStatus body controllers.TaskStatusVo true "参数" |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 删除任务 |
| | | // @Description 根据任务id删除任务 |
| | | // @Produce json |
| | |
| | | SdkArgValue string `json:"sdk_arg_value"` |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 保存算法规则 |
| | | // @Description 保存算法规则 |
| | | // @Accept json |
| | |
| | | } |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 删除算法规则 |
| | | // @Description 删除算法规则 |
| | | // @Accept x-www-form-urlencoded |
| | | // @Produce json |
| | | // @Tags 算法规则 |
| | | // @Param taskId formData string true "taskId" |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 查询算法规则 |
| | | // @Description 查询算法规则 |
| | | // @Produce json |
| | |
| | | util.ResponseFormat(c,code.ComError,"查询失败") |
| | | } |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 统计每个任务的摄像机数量 |
| | | // @Description 统计每个任务的摄像机数量 |
| | | // @Produce json |
| | | // @Tags task |
| | | // @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" |
| | | // @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" |
| | | // @Router /data/api-v/task/statisticTaskCamera [get] |
| | | func (tc TaskController) StatisticTaskCamera(c *gin.Context) { |
| | | var taskApi dbapi.TaskApi |
| | | b,d := taskApi.StatisticTaskCamera() |
| | | if b { |
| | | util.ResponseFormat(c,code.Success, d) |
| | | } else { |
| | | util.ResponseFormat(c,code.ComError, "") |
| | | } |
| | | } |