package controllers
|
|
import (
|
"basic.com/dbapi.git"
|
"basic.com/pubsub/protomsg.git"
|
"encoding/json"
|
"time"
|
|
"github.com/gin-gonic/gin"
|
"webserver/extend/code"
|
"webserver/extend/util"
|
)
|
|
type TaskController struct{}
|
|
type TaskVo struct {
|
Taskid string `json:"taskid"`
|
Taskname string `json:"taskname" example:"任务一"`
|
CreateAt time.Time `json:"create_at"`
|
Createby string `json:"create_by"`
|
UpdateAt time.Time `json:"update_at"`
|
Enable bool `json:"enable"`
|
IsAlarm bool `json:"is_alarm"`
|
DelFlag bool `json:"del_flag"`
|
}
|
|
type TaskSdkVo struct {
|
Task TaskVo `json:"task"`
|
Sdks []SdkVo `json:"sdks"`
|
}
|
|
var (
|
FaceExtract_VirtualTaskId = "92496BDF-2BFA-98F2-62E8-96DD9866ABD2"//虚拟任务id
|
FaceExtract_VirtualSdkId = "virtual-faceextract-sdk-pull"//结果输出的算法id
|
)
|
|
// @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/findAll [GET]
|
func (tc TaskController) FindAll(c *gin.Context) {
|
// 显示所有任务: 获取信息
|
var taskApi dbapi.TaskApi
|
|
taskInfos := taskApi.FindAll()
|
var arr []protomsg.TaskSdkInfo
|
for _,ti :=range taskInfos{
|
if ti.Task.Taskid != FaceExtract_VirtualTaskId{
|
arr = append(arr,ti)
|
}
|
}
|
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 {
|
util.ResponseFormat(c,code.Success,tasks)
|
}
|
}
|
}
|
|
// @Summary 添加任务
|
// @Description 查找所有任务
|
// @Accept json
|
// @Produce json
|
// @Tags task
|
// @Param reqMap body controllers.TaskVo false "任务AAA"
|
// @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/add [POST]
|
func (tc TaskController) AddTask(c *gin.Context) {
|
var task TaskVo
|
var taskApi dbapi.TaskApi
|
err := c.BindJSON(&task)
|
if err !=nil {
|
util.ResponseFormat(c,code.RequestParamError,"参数有误")
|
return
|
}
|
paramBody := util.Struct2Map(task)
|
flag, data := taskApi.Add(paramBody)
|
if !flag {
|
util.ResponseFormat(c, code.ComError, data)
|
return
|
}
|
|
util.ResponseFormat(c, code.Success, data)
|
}
|
|
// @Summary 给任务添加算法
|
// @Description 任务添加算法
|
// @Produce json
|
// @Tags task
|
// @Param taskId query string true "任务id"
|
// @Param sdkId query string true "算法id"
|
// @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/addTaskSdk [GET]
|
func (tc TaskController) AddTaskSdk(c *gin.Context) {
|
var taskApi dbapi.TaskApi
|
taskId := c.Query("taskId")
|
sdkId := c.Query("sdkId")
|
if taskId == "" || sdkId == "" {
|
util.ResponseFormat(c,code.RequestParamError,"参数有误")
|
return
|
}
|
flag,data := taskApi.AddTaskSdk(taskId,sdkId)
|
if flag {
|
util.ResponseFormat(c, code.ComError, data)
|
} else {
|
util.ResponseFormat(c,code.Success,data)
|
}
|
}
|
|
// @Summary 任务删除算法
|
// @Description 根据taskid和sdkid删除
|
// @Produce json
|
// @Tags task
|
// @Param taskId path string true "任务id"
|
// @Param sdkId path string true "算法id"
|
// @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/delTaskSdk [GET]
|
func (tc TaskController) DeleteTaskSdk(c *gin.Context) {
|
var taskApi dbapi.TaskApi
|
taskId := c.Query("taskId")
|
sdkId := c.Query("sdkId")
|
if taskId == "" || sdkId == "" {
|
util.ResponseFormat(c,code.RequestParamError,"参数有误")
|
return
|
}
|
flag,data := taskApi.DeleteTaskSdk(taskId,sdkId)
|
if flag {
|
util.ResponseFormat(c, code.ComError, data)
|
} else {
|
util.ResponseFormat(c,code.Success,data)
|
}
|
}
|
|
// @Summary 更新任务状态
|
// @Description (算法不变,只更新任务状态)
|
// @Produce json
|
// @Tags task
|
// @Param taskId path string true "任务id"
|
// @Param taskName path string true "任务名称"
|
// @Param isAlarm path bool true "是否报警"
|
// @Param isEnable path bool true "是否停用"
|
// @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/updateTaskStatus [POST]
|
func (tc TaskController) UpdateTaskStatus(c *gin.Context) {
|
var taskApi dbapi.TaskApi
|
paramBody :=make(map[string]string,0)
|
paramBody["taskId"] = c.Query("taskId")
|
paramBody["taskName"] = c.Query("taskName")
|
paramBody["isAlarm"] = c.Query("isAlarm")
|
paramBody["isEnable"] = c.Query("isEnable")
|
flag, data := taskApi.UpdateTaskStatus(paramBody)
|
if flag {
|
util.ResponseFormat(c,code.Success,data)
|
} else {
|
util.ResponseFormat(c,code.ComError,data)
|
}
|
}
|
|
// @Summary 删除任务
|
// @Description 根据任务id删除任务
|
// @Produce json
|
// @Tags task
|
// @Param taskId path string true "任务id"
|
// @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/delete [GET]
|
func (tc TaskController) DeleteTask(c *gin.Context) {
|
var taskApi dbapi.TaskApi
|
taskId := c.Query("taskId")
|
if taskId == "" {
|
util.ResponseFormat(c,code.RequestParamError,"参数有误")
|
return
|
}
|
flag, data := taskApi.Delete(taskId)
|
if flag {
|
util.ResponseFormat(c,code.Success,data)
|
} else {
|
util.ResponseFormat(c,code.ComError,data)
|
}
|
|
}
|