From 9d88c7c467f8d93af4aab9ba0b6d6c01c2ffc546 Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期四, 20 八月 2020 20:35:30 +0800
Subject: [PATCH] add get buckets contrl

---
 controllers/cameraTask.go |  176 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 98 insertions(+), 78 deletions(-)

diff --git a/controllers/cameraTask.go b/controllers/cameraTask.go
index 452dc60..4389f11 100644
--- a/controllers/cameraTask.go
+++ b/controllers/cameraTask.go
@@ -1,4 +1,20 @@
 package controllers
+
+import (
+	"basic.com/dbapi.git"
+	"basic.com/pubsub/esutil.git"
+	"basic.com/valib/logger.git"
+	"encoding/json"
+	"github.com/gin-gonic/gin"
+	"strconv"
+	"webserver/cache"
+	"webserver/extend/code"
+	"webserver/extend/config"
+	"webserver/extend/util"
+	"webserver/models"
+	"webserver/vo"
+)
+
 //
 //import (
 //	"basic.com/dbapi.git"
@@ -14,14 +30,14 @@
 //	"webserver/models"
 //)
 //
-//type CameraTaskController struct {
+type CameraTaskController struct {
+
+}
 //
-//}
-//
-////鐢ㄤ簬鎺ユ敹澶氫釜鎽勫儚鏈虹殑id锛屼互閫楀彿闅斿紑
-//type MultiCamera struct {
-//	CameraIds []string `json:"cameraIds"`
-//}
+//鐢ㄤ簬鎺ユ敹澶氫釜鎽勫儚鏈虹殑id锛屼互閫楀彿闅斿紑
+type MultiCamera struct {
+	CameraIds []string `json:"cameraIds"`
+}
 //
 //type CameraTaskVo struct {
 //	Id          string `json:"id"`
@@ -73,78 +89,82 @@
 //
 //}
 //
-//type CameraTaskInfoVo struct {
-//	Camera models.Camera `json:"camera"`
-//	Tasks []models.Task `json:"tasks"`
-//	Polygon CameraPolygonVo `json:"polygon"`
-//}
+type CameraTaskInfoVo struct {
+	Camera models.Camera `json:"camera"`
+	Tasks []models.Task `json:"tasks"`
+	Polygon CameraPolygonVo `json:"polygon"`
+}
 //
-//// @Security ApiKeyAuth
-//// @Summary 鏌ヨ鎵�鏈変换鍔�
-//// @Description "鏌ヨ鎵�鏈変换鍔�"
-//// @Accept json
-//// @Produce json
-//// @Tags CameraTask
-//// @Param cameraIds body controllers.MultiCamera false "鎽勫儚鏈篿d鏁扮粍"
-//// @Success 200 {string} json "{"code":200, success:true,  msg:"璇锋眰澶勭悊鎴愬姛", data:"鎵�鏈変换鍔′俊鎭�"}"
-//// @Failure 500 {string} json "{"code":500, success:false   msg:"",data:"閿欒淇℃伅鍐呭"}"
-//// @Router /data/api-v/camera/alltask [post]
-//func (ctc CameraTaskController) FindTasksByCameraIds(c *gin.Context){
-//	var mulCamera MultiCamera
-//	c.BindJSON(&mulCamera)
-//	var api dbapi.CameraTaskApi
-//	flag, data := api.FindTasksByCameraIds(mulCamera.CameraIds)
-//	if flag {
-//		bytes, _ := json.Marshal(data)
-//		var camTInfo []CameraTaskInfoVo
-//		json.Unmarshal(bytes, &camTInfo)
-//
-//		//澶勭悊宸茶鍒犻櫎鐨勪换鍔�
-//
-//		var delTasks []models.Task
-//		var taskApi dbapi.TaskApi
-//		taskInfos := taskApi.FindAll()
-//		m := make(map[string]string)
-//		for _,ti :=range taskInfos{
-//			if ti.Task.Taskid != FaceExtract_VirtualTaskId{
-//				m[ti.Task.Taskid] = ti.Task.Taskid
-//			}
-//		}
-//		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
-//						delTasks = append(delTasks, models.Task{
-//							Taskid:	taskId,
-//							Taskname: tM["taskName"].(string),
-//							DelFlag: true,
-//						})
-//					}
-//				}
-//			}
-//		}
-//		var result []CameraTaskInfoVo
-//		if camTInfo != nil {
-//			for _, camIn := range camTInfo {
-//				nIfn := CameraTaskInfoVo{
-//					Camera: camIn.Camera,
-//					Polygon: camIn.Polygon,
-//					Tasks: append(camIn.Tasks, delTasks...),
-//				}
-//				result = append(result, nIfn)
-//			}
-//		}
-//
-//		util.ResponseFormat(c,code.Success, result)
-//	} else {
-//		util.ResponseFormat(c,code.ComError,data)
-//	}
-//}
+// @Security ApiKeyAuth
+// @Summary 鏌ヨ鎵�鏈変换鍔�
+// @Description "鏌ヨ鎵�鏈変换鍔�"
+// @Accept json
+// @Produce json
+// @Tags 鎽勫儚鏈鸿鍒�
+// @Param cameraIds body controllers.MultiCamera false "鎽勫儚鏈篿d鏁扮粍"
+// @Success 200 {string} json "{"code":200, success:true,  msg:"璇锋眰澶勭悊鎴愬姛", data:"鎵�鏈変换鍔′俊鎭�"}"
+// @Failure 500 {string} json "{"code":500, success:false   msg:"",data:"閿欒淇℃伅鍐呭"}"
+// @Router /data/api-v/camera/alltask [post]
+func (ctc CameraTaskController) FindTasksByCameraIds(c *gin.Context){
+	var mulCamera MultiCamera
+	c.BindJSON(&mulCamera)
+	var api dbapi.CameraRuleApi
+
+	var camRuleArr []vo.CameraAndRules
+	for _,camId :=range mulCamera.CameraIds {
+		if b, d := api.FindByCameraId(camId); b {
+			bytes, _ := json.Marshal(d)
+			var camTInfo vo.CameraAndRules
+			if err := json.Unmarshal(bytes, &camTInfo); err == nil {
+				camRuleArr = append(camRuleArr, camTInfo)
+			} else {
+				logger.Debug("alltask err:", err)
+			}
+		}
+	}
+	logger.Debug("alltask camRuleArr:", camRuleArr)
+	var result []SceneIfDelResult
+	m := make(map[string]string)
+	for _,cg :=range camRuleArr {
+		for _,g := range cg.AllGroupRules {
+			m[g.Id] = g.SceneName
+			result = append(result, SceneIfDelResult{
+				Id: g.Id,
+				Name: g.SceneName,
+				IsDelete: false,
+			})
+		}
+	}
+
+	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)
+					taskName := tM["taskName"].(string)
+					if taskId != "" {
+						result = append(result, SceneIfDelResult{
+							Id: taskId,
+							Name: taskName,
+							IsDelete: true,
+						})
+					}
+				}
+			}
+		}
+	}
+
+	util.ResponseFormat(c,code.Success, result)
+}
+
+type SceneIfDelResult struct {
+	Id 			string 		`json:"id"`
+	Name 		string 		`json:"name"`
+	IsDelete 	bool 		`json:"isDelete"`
+}
 //
 //// @Security ApiKeyAuth
 //// @Summary 鎽勫儚鏈烘坊鍔犱竴涓换鍔�

--
Gitblit v1.8.0