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