From a32ebb199d6665bac27d4af43af267fe3854b38f Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期一, 28 十月 2019 20:22:30 +0800
Subject: [PATCH] aggregateTaskList

---
 go.sum              |    4 +-
 go.mod              |    2 
 controllers/task.go |   58 +++++++++++++++++++++++++++++
 router/router.go    |    1 
 4 files changed, 62 insertions(+), 3 deletions(-)

diff --git a/controllers/task.go b/controllers/task.go
index 8e5ff47..1bd5e75 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"
@@ -65,6 +69,60 @@
 	}
 }
 
+// @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.VideoPersons.IndexName + "," + config.EsInfo.EsIndex.Personaction.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 {//琛ㄧず姝や换鍔″凡琚垹闄�
+							tasks = append(tasks, TaskSdkVo{
+								Task:TaskVo{
+									Taskid:	tM["taskId"].(string),
+									Taskname: tM["taskName"].(string),
+									DelFlag: true,
+								},
+								Sdks:[]SdkVo{},
+							})
+						}
+					}
+				}
+			}
+
+			util.ResponseFormat(c,code.Success,tasks)
+		}
+	}
+}
+
 // @Summary 娣诲姞浠诲姟
 // @Description 鏌ユ壘鎵�鏈変换鍔�
 // @Accept json
diff --git a/go.mod b/go.mod
index 226c60f..5bfaf6d 100644
--- a/go.mod
+++ b/go.mod
@@ -6,7 +6,7 @@
 	basic.com/dbapi.git v0.0.0-20191028103813-b5aadb41f6cf // indirect
 	basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb // indirect
 	basic.com/pubsub/cache.git v0.0.0-20190718093725-6a413e1d7d48 // indirect
-	basic.com/pubsub/esutil.git v0.0.0-20191028063723-48ec2fe37b09 // indirect
+	basic.com/pubsub/esutil.git v0.0.0-20191028114432-6eaaf713ab1b // indirect
 	basic.com/pubsub/protomsg.git v0.0.0-20190829113947-eb5a5f99a745
 	basic.com/valib/capture.git v0.0.0-20190924061718-7e98d8c98b3c // indirect
 	basic.com/valib/deliver.git v0.0.0-20190531095353-25d8c3b20051
diff --git a/go.sum b/go.sum
index 0450ce9..5cbe625 100644
--- a/go.sum
+++ b/go.sum
@@ -4,8 +4,8 @@
 basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb/go.mod h1:FTryK8BsVLfUplx8a3+l8hJWub6VbAWZCUH7sPRZaso=
 basic.com/pubsub/cache.git v0.0.0-20190718093725-6a413e1d7d48 h1:BBA30Rgljn6MRieC4gUncETJDyna3ObyubTo9HEQ2M0=
 basic.com/pubsub/cache.git v0.0.0-20190718093725-6a413e1d7d48/go.mod h1:gHLJZz2ee1cGL0X0ae69fs56bAxkDgEQwDhhXZJNUcY=
-basic.com/pubsub/esutil.git v0.0.0-20191028063723-48ec2fe37b09 h1:uP0OAaLB3jsYQXPBfd14pGR6ufKHoFGYsk/pcWfkNlY=
-basic.com/pubsub/esutil.git v0.0.0-20191028063723-48ec2fe37b09/go.mod h1:yIvppFPFGC61DOdm71ujnsxZBMFUu2yKjr5O43bMWCw=
+basic.com/pubsub/esutil.git v0.0.0-20191028114432-6eaaf713ab1b h1:GR03knSXlsSwDVcltipPyvXU8grN+1voHyNGk9giY+A=
+basic.com/pubsub/esutil.git v0.0.0-20191028114432-6eaaf713ab1b/go.mod h1:yIvppFPFGC61DOdm71ujnsxZBMFUu2yKjr5O43bMWCw=
 basic.com/pubsub/protomsg.git v0.0.0-20190829113947-eb5a5f99a745 h1:NQ/172pylwH5BnVwt4vlrXVN+UDn8YJc+5V2ZPaC4P0=
 basic.com/pubsub/protomsg.git v0.0.0-20190829113947-eb5a5f99a745/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
 basic.com/valib/capture.git v0.0.0-20190924061718-7e98d8c98b3c h1:aNujtcGxq0cNLSK08cCamAiUYiQ2/ZsUMNXbX2w8Clc=
diff --git a/router/router.go b/router/router.go
index ddde8ee..6479e41 100644
--- a/router/router.go
+++ b/router/router.go
@@ -130,6 +130,7 @@
 	task := r.Group(urlPrefix + "/task")
 	{
 		task.GET("/findAll", taskController.FindAll)
+		task.GET("/aggregateTaskList", taskController.AggregateTaskList)
 		task.POST("/addTask", taskController.AddTask)
 		task.POST("/updateTaskStatus", taskController.UpdateTaskStatus)
 		task.GET("/delete", taskController.DeleteTask)

--
Gitblit v1.8.0