From 9303b69ea569bcb5e581147543a3fd58e90d0d25 Mon Sep 17 00:00:00 2001 From: sunty <1172534965@qq.com> Date: 星期四, 20 八月 2020 20:05:23 +0800 Subject: [PATCH] add get buckets contrl --- controllers/task.go | 148 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 122 insertions(+), 26 deletions(-) diff --git a/controllers/task.go b/controllers/task.go index bc9392c..8c2e205 100644 --- a/controllers/task.go +++ b/controllers/task.go @@ -2,9 +2,13 @@ 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" @@ -34,6 +38,7 @@ FaceExtract_VirtualSdkId = "virtual-faceextract-sdk-pull"//缁撴灉杈撳嚭鐨勭畻娉昳d ) +// @Security ApiKeyAuth // @Summary 鏌ユ壘鎵�鏈変换鍔★紝鍖呭惈浠诲姟淇℃伅鍜屽搴旂殑绠楁硶淇℃伅 // @Description 鏌ユ壘鎵�鏈変换鍔� // @Produce json @@ -65,6 +70,64 @@ } } +// @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 @@ -73,7 +136,7 @@ // @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 @@ -94,41 +157,47 @@ type TaskSdkAdd struct { TaskId string `json:"taskId"` + Sdks []SdkSort `json:"sdks"` +} +type SdkSort struct { SdkId string `json:"sdkId"` Sort int `json:"sort"` } +// @Security ApiKeyAuth // @Summary 缁欎换鍔℃坊鍔犵畻娉� // @Description 浠诲姟娣诲姞绠楁硶 +// @Accept json // @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 [post] func (tc TaskController) AddTaskSdk(c *gin.Context) { var addVo TaskSdkAdd err := c.BindJSON(&addVo) - if err !=nil || addVo.TaskId == "" || addVo.SdkId == "" { + if err !=nil || addVo.TaskId == "" || len(addVo.Sdks)==0 { util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") return } + paramBody := util.Struct2Map(addVo) var taskApi dbapi.TaskApi - flag,data := taskApi.AddTaskSdk(addVo.TaskId, addVo.SdkId, addVo.Sort) + 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) } } +// @Security ApiKeyAuth // @Summary 浠诲姟鍒犻櫎绠楁硶 // @Description 鏍规嵁taskid鍜宻dkid鍒犻櫎 // @Produce json // @Tags task -// @Param taskId path string true "浠诲姟id" -// @Param sdkId path string true "绠楁硶id" +// @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/delTaskSdk [GET] @@ -142,18 +211,20 @@ } 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) } } +// @Security ApiKeyAuth // @Summary 鏇存柊浠诲姟鍚嶇О // @Description 鏇存柊浠诲姟鍚嶇О +// @Accept x-www-form-urlencoded // @Produce json // @Tags task -// @Param taskId query string true "taskId" -// @Param taskName query string true "taskName" +// @Param taskId formData string true "taskId" +// @Param taskName formData 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] @@ -178,8 +249,10 @@ Enable bool `json:"enable"` } +// @Security ApiKeyAuth // @Summary 鏇存柊浠诲姟鐘舵�� // @Description 锛堢畻娉曚笉鍙�,鍙洿鏂颁换鍔$姸鎬侊級 +// @Accept json // @Produce json // @Tags task // @Param taskStatus body controllers.TaskStatusVo true "鍙傛暟" @@ -203,12 +276,12 @@ } } - +// @Security ApiKeyAuth // @Summary 鍒犻櫎浠诲姟 // @Description 鏍规嵁浠诲姟id鍒犻櫎浠诲姟 // @Produce json // @Tags task -// @Param taskId path string true "浠诲姟id" +// @Param taskId 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/delete [GET] @@ -231,7 +304,7 @@ type TaskSdkRules struct { TaskId string `json:"taskId"` SdkId string `json:"sdkId"` - rules []TaskSdkRuleVo `json:"rules"` + Rules []TaskSdkRuleVo `json:"rules"` } type TaskSdkRuleVo struct { @@ -241,6 +314,7 @@ SdkArgValue string `json:"sdk_arg_value"` } +// @Security ApiKeyAuth // @Summary 淇濆瓨绠楁硶瑙勫垯 // @Description 淇濆瓨绠楁硶瑙勫垯 // @Accept json @@ -253,7 +327,7 @@ func (tc TaskController) SaveTaskSdkRule(c *gin.Context) { var rules TaskSdkRules err := c.BindJSON(&rules) - if err !=nil { + if err !=nil || rules.TaskId == "" || rules.SdkId == "" || len(rules.Rules) == 0 { util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") return } @@ -267,35 +341,39 @@ } } +// @Security ApiKeyAuth // @Summary 鍒犻櫎绠楁硶瑙勫垯 // @Description 鍒犻櫎绠楁硶瑙勫垯 +// @Accept x-www-form-urlencoded // @Produce json // @Tags 绠楁硶瑙勫垯 -// @Param id query string true "id" +// @Param taskId formData string true "taskId" +// @Param sdkId formData string true "sdkId" // @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/deleteTaskSdkRuleById [post] -func (tc TaskController) DeleteTaskSdkRuleById(c *gin.Context) { - id := c.PostForm("id") - if id == "" { +// @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.DeleteTaskSdkRuleById(id) { + if api.DeleteTaskSdkRule(taskId, sdkId) { util.ResponseFormat(c,code.Success,"鍒犻櫎鎴愬姛") } else { util.ResponseFormat(c,code.ComError, "鍒犻櫎澶辫触") } } - +// @Security ApiKeyAuth // @Summary 鏌ヨ绠楁硶瑙勫垯 // @Description 鏌ヨ绠楁硶瑙勫垯 // @Produce json // @Tags 绠楁硶瑙勫垯 -// @Param taskId path string true "浠诲姟id" -// @Param sdkId path string true "绠楁硶id" +// @Param taskId query string true "浠诲姟id" +// @Param sdkId 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/getRulesByTaskSdk [get] @@ -314,3 +392,21 @@ 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, "") + } +} -- Gitblit v1.8.0