| | |
| | | |
| | | import ( |
| | | "basic.com/dbapi.git" |
| | | "basic.com/pubsub/protomsg.git" |
| | | "encoding/json" |
| | | "time" |
| | | |
| | | "github.com/gin-gonic/gin" |
| | | "webserver/extend/code" |
| | | "webserver/extend/util" |
| | | "github.com/gin-gonic/gin" |
| | | ) |
| | | |
| | | type TaskController struct{} |
| | |
| | | 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 |
| | |
| | | var taskApi dbapi.TaskApi |
| | | |
| | | taskInfos := taskApi.FindAll() |
| | | util.ResponseFormat(c, code.Success, taskInfos) |
| | | 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 添加任务 |
| | |
| | | // @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] |
| | | // @Router /data/api-v/task/addTask [POST] |
| | | func (tc TaskController) AddTask(c *gin.Context) { |
| | | var task TaskVo |
| | | var taskApi dbapi.TaskApi |
| | |
| | | util.ResponseFormat(c, code.Success, data) |
| | | } |
| | | |
| | | type TaskSdkAdd struct { |
| | | TaskId string `json:"taskId"` |
| | | Sdks []SdkSort `json:"sdks"` |
| | | } |
| | | type SdkSort struct { |
| | | SdkId string `json:"sdkId"` |
| | | Sort int `json:"sort"` |
| | | } |
| | | |
| | | // @Summary 给任务添加算法 |
| | | // @Description 任务添加算法 |
| | | // @Produce json |
| | | // @Tags task |
| | | // @Param taskId query string true "任务id" |
| | | // @Param sdkId query string true "算法id" |
| | | // @Param taskSdkAdd body controllers.TaskSdkAdd 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] |
| | | // @Router /data/api-v/task/addTaskSdk [post] |
| | | func (tc TaskController) AddTaskSdk(c *gin.Context) { |
| | | var taskApi dbapi.TaskApi |
| | | taskId := c.Query("taskId") |
| | | sdkId := c.Query("sdkId") |
| | | if taskId == "" || sdkId == "" { |
| | | var addVo TaskSdkAdd |
| | | err := c.BindJSON(&addVo) |
| | | if err !=nil || addVo.TaskId == "" || len(addVo.Sdks)==0 { |
| | | util.ResponseFormat(c,code.RequestParamError,"参数有误") |
| | | return |
| | | } |
| | | flag,data := taskApi.AddTaskSdk(taskId,sdkId) |
| | | paramBody := util.Struct2Map(addVo) |
| | | var taskApi dbapi.TaskApi |
| | | flag,data := taskApi.AddTaskSdk(paramBody) |
| | | if flag { |
| | | util.ResponseFormat(c, code.ComError, data) |
| | | util.ResponseFormat(c, code.Success, data) |
| | | } else { |
| | | util.ResponseFormat(c,code.Success,data) |
| | | util.ResponseFormat(c,code.ComError,data) |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | flag,data := taskApi.DeleteTaskSdk(taskId,sdkId) |
| | | if flag { |
| | | util.ResponseFormat(c, code.ComError, data) |
| | | util.ResponseFormat(c, code.Success, data) |
| | | } else { |
| | | util.ResponseFormat(c,code.Success,data) |
| | | util.ResponseFormat(c,code.ComError, data) |
| | | } |
| | | } |
| | | |
| | | // @Summary 更新任务名称 |
| | | // @Description 更新任务名称 |
| | | // @Produce json |
| | | // @Tags task |
| | | // @Param taskId query string true "taskId" |
| | | // @Param taskName query string true "taskName" |
| | | // @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/updateTaskName [POST] |
| | | func (tc TaskController) UpdateTaskName(c *gin.Context) { |
| | | taskId := c.PostForm("taskId") |
| | | taskName := c.PostForm("taskName") |
| | | if taskId == "" || taskName == "" { |
| | | util.ResponseFormat(c,code.RequestParamError,"参数有误") |
| | | return |
| | | } |
| | | var api dbapi.TaskApi |
| | | if api.UpdateTaskName(taskId, taskName) { |
| | | util.ResponseFormat(c,code.UpdateSuccess,"更新成功") |
| | | } else { |
| | | util.ResponseFormat(c,code.ComError,"更新失败") |
| | | } |
| | | |
| | | } |
| | | |
| | | type TaskStatusVo struct { |
| | | TaskId string `json:"taskId"` |
| | | Enable bool `json:"enable"` |
| | | } |
| | | |
| | | // @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 "是否停用" |
| | | // @Param taskStatus body controllers.TaskStatusVo 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 tsvo TaskStatusVo |
| | | err := c.BindJSON(&tsvo) |
| | | if err !=nil { |
| | | util.ResponseFormat(c,code.RequestParamError,"参数有误") |
| | | return |
| | | } |
| | | 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") |
| | | paramBody := util.Struct2Map(tsvo) |
| | | flag, data := taskApi.UpdateTaskStatus(paramBody) |
| | | if flag { |
| | | util.ResponseFormat(c,code.Success,data) |
| | |
| | | util.ResponseFormat(c,code.ComError,data) |
| | | } |
| | | } |
| | | |
| | | |
| | | // @Summary 删除任务 |
| | | // @Description 根据任务id删除任务 |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | type TaskSdkRules struct { |
| | | TaskId string `json:"taskId"` |
| | | SdkId string `json:"sdkId"` |
| | | Rules []TaskSdkRuleVo `json:"rules"` |
| | | } |
| | | |
| | | type TaskSdkRuleVo struct { |
| | | Id string `json:"id"` |
| | | SdkArgAlias string `json:"sdk_arg_alias"` |
| | | Operator string `json:"operator"` |
| | | SdkArgValue string `json:"sdk_arg_value"` |
| | | } |
| | | |
| | | // @Summary 保存算法规则 |
| | | // @Description 保存算法规则 |
| | | // @Accept json |
| | | // @Produce json |
| | | // @Tags 算法规则 |
| | | // @Param sdkrules body controllers.TaskSdkRules 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/task/saveTaskSdkRule [post] |
| | | func (tc TaskController) SaveTaskSdkRule(c *gin.Context) { |
| | | var rules TaskSdkRules |
| | | err := c.BindJSON(&rules) |
| | | if err !=nil || rules.TaskId == "" || rules.SdkId == "" || len(rules.Rules) == 0 { |
| | | util.ResponseFormat(c,code.RequestParamError,"参数有误") |
| | | return |
| | | } |
| | | paramBody := util.Struct2Map(rules) |
| | | var api dbapi.TaskSdkRuleApi |
| | | b,d := api.SaveTaskSdkRule(paramBody) |
| | | if b { |
| | | util.ResponseFormat(c,code.Success,d) |
| | | } else { |
| | | util.ResponseFormat(c,code.ComError,"保存失败") |
| | | } |
| | | } |
| | | |
| | | // @Summary 删除算法规则 |
| | | // @Description 删除算法规则 |
| | | // @Produce json |
| | | // @Tags 算法规则 |
| | | // @Param id query string true "id" |
| | | // @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/deleteTaskSdkRule [post] |
| | | func (tc TaskController) DeleteTaskSdkRule(c *gin.Context) { |
| | | taskId := c.PostForm("taskId") |
| | | sdkId := c.PostForm("sdkId") |
| | | if taskId == "" || sdkId == "" { |
| | | util.ResponseFormat(c,code.RequestParamError,"参数有误") |
| | | return |
| | | } |
| | | var api dbapi.TaskSdkRuleApi |
| | | if api.DeleteTaskSdkRule(taskId, sdkId) { |
| | | util.ResponseFormat(c,code.Success,"删除成功") |
| | | } else { |
| | | util.ResponseFormat(c,code.ComError, "删除失败") |
| | | } |
| | | } |
| | | |
| | | |
| | | // @Summary 查询算法规则 |
| | | // @Description 查询算法规则 |
| | | // @Produce json |
| | | // @Tags 算法规则 |
| | | // @Param taskId path string true "任务id" |
| | | // @Param sdkId path string true "算法id" |
| | | // @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/getRulesByTaskSdk [get] |
| | | func (tc TaskController) GetRulesByTaskSdk(c *gin.Context) { |
| | | taskId := c.Query("taskId") |
| | | sdkId := c.Query("sdkId") |
| | | if taskId == "" || sdkId == ""{ |
| | | util.ResponseFormat(c,code.RequestParamError,"参数有误") |
| | | return |
| | | } |
| | | var taskSdkApi dbapi.TaskSdkRuleApi |
| | | b, d := taskSdkApi.GetRulesByTaskSdk(taskId, sdkId) |
| | | if b { |
| | | util.ResponseFormat(c,code.Success,d) |
| | | } else { |
| | | util.ResponseFormat(c,code.ComError,"查询失败") |
| | | } |
| | | } |