From d848ebc0bd707f53b47b3fedda49296b7fac6717 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期二, 29 十月 2019 15:46:45 +0800
Subject: [PATCH] add JoinDbTable

---
 go.sum                       |    4 +-
 controllers/esSearch.go      |   30 +++++++-------
 go.mod                       |    2 
 controllers/dbtableperson.go |   54 +++++++++++++++++++++++++++
 controllers/task.go          |    4 +
 router/router.go             |    2 +
 6 files changed, 77 insertions(+), 19 deletions(-)

diff --git a/controllers/dbtableperson.go b/controllers/dbtableperson.go
index 048427c..a9a7123 100644
--- a/controllers/dbtableperson.go
+++ b/controllers/dbtableperson.go
@@ -21,6 +21,8 @@
 	"webserver/extend/esutil"
 	"webserver/extend/util"
 	"webserver/models"
+
+	esApi "basic.com/pubsub/esutil.git"
 )
 
 type DbPersonController struct {
@@ -484,6 +486,58 @@
 	}
 }
 
+type JoinDbTVo struct {
+	CaptureId string 		`json:"captureId"`
+	TableIds  []string 		`json:"tableIds"`
+}
+
+// @Summary 鎶撴媿浜哄憳鍔犲叆搴曞簱
+// @Description 鎶撴媿浜哄憳鍔犲叆搴曞簱
+// @Accept  json
+// @Produce json
+// @Tags es
+// @Param obj body controllers.JoinDbTVo true "搴曞簱鏁版嵁"
+// @Success 200 {string} json "{"code":200, msg:"鐩綍缁撴瀯鏁版嵁", success:true}"
+// @Failure 500 {string} json "{"code":500,  msg:"杩斿洖閿欒淇℃伅", success:false}"
+// @Router /data/api-v/dbperson/joinDbTable [POST]
+func (sc *DbPersonController) JoinDbTable(c *gin.Context) {
+	var reqBody JoinDbTVo
+	c.BindJSON(&reqBody)
+	if reqBody.CaptureId == "" || len(reqBody.TableIds) ==0 {
+		util.ResponseFormat(c,code.RequestParamError, "鍙傛暟鏈夎")
+		return
+	}
+	localConf, err := cache.GetServerInfo()
+	if err !=nil || localConf.AlarmIp == "" || localConf.AlarmPort <=0 {
+		util.ResponseFormat(c,code.ComError,"鎶ヨ璁剧疆鏈夎")
+		return
+	}
+	videopersons, e := esApi.Videopersonsinfosbyid([]string{reqBody.CaptureId}, config.EsInfo.EsIndex.VideoPersons.IndexName, localConf.AlarmIp, strconv.Itoa(int(localConf.AlarmPort)))
+	if e ==nil && videopersons !=nil && len(videopersons) == 1{
+		var personPicUrl = ""//浜鸿劯鍥剧墖
+		var feature = ""//鐗瑰緛
+		if videopersons[0].PicSmUrl !=nil && len(videopersons[0].PicSmUrl) >0 {
+			personPicUrl = videopersons[0].PicSmUrl[0]
+		}
+		fea, e2 := esApi.GetVideoPersonFaceFeatureById(reqBody.CaptureId, config.EsInfo.EsIndex.VideoPersons.IndexName, localConf.AlarmIp, strconv.Itoa(int(localConf.AlarmPort)))
+		if e2 == nil && fea !="" {
+			feature = fea
+		}
+		if personPicUrl != "" && feature != "" {
+			var dbpApi dbapi.DbPersonApi
+			b,d := dbpApi.JoinDbTable(reqBody.TableIds, feature, personPicUrl)
+			if b {
+				util.ResponseFormat(c,code.Success,d)
+				return
+			} else {
+				util.ResponseFormat(c,code.ComError,"鍔犲叆澶辫触")
+				return
+			}
+		}
+	}
+	util.ResponseFormat(c,code.ComError,"鍔犲叆澶辫触")
+}
+
 type DbtSearch struct {
 	TableId string `json:"tableId"`
 	OrderName string `json:"orderName"`
diff --git a/controllers/esSearch.go b/controllers/esSearch.go
index 84e2ef0..9fd0f95 100644
--- a/controllers/esSearch.go
+++ b/controllers/esSearch.go
@@ -1,19 +1,19 @@
-	package controllers
+package controllers
 
-	import (
-		"basic.com/dbapi.git"
-		"fmt"
-		"github.com/gin-gonic/gin"
-		"strconv"
-		"strings"
-		"webserver/cache"
-		"webserver/extend/code"
-		"webserver/extend/config"
-		"webserver/extend/esutil"
-		"basic.com/valib/logger.git"
-		"webserver/extend/util"
-		"webserver/models"
-	)
+import (
+	"basic.com/dbapi.git"
+	"basic.com/valib/logger.git"
+	"fmt"
+	"github.com/gin-gonic/gin"
+	"strconv"
+	"strings"
+	"webserver/cache"
+	"webserver/extend/code"
+	"webserver/extend/config"
+	"webserver/extend/esutil"
+	"webserver/extend/util"
+	"webserver/models"
+)
 
 type EsSearchController struct{}
 
diff --git a/controllers/task.go b/controllers/task.go
index 1bd5e75..dbb8761 100644
--- a/controllers/task.go
+++ b/controllers/task.go
@@ -105,9 +105,11 @@
 				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:	tM["taskId"].(string),
+									Taskid:	taskId,
 									Taskname: tM["taskName"].(string),
 									DelFlag: true,
 								},
diff --git a/go.mod b/go.mod
index b812c80..d6feba4 100644
--- a/go.mod
+++ b/go.mod
@@ -3,7 +3,7 @@
 go 1.12
 
 require (
-	basic.com/dbapi.git v0.0.0-20191028130548-872f0d29a2d3 // indirect
+	basic.com/dbapi.git v0.0.0-20191029073251-acc3826d096d // 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-20191029031958-4ab66414c6d1 // indirect
diff --git a/go.sum b/go.sum
index f275f8c..79b82c4 100644
--- a/go.sum
+++ b/go.sum
@@ -1,5 +1,5 @@
-basic.com/dbapi.git v0.0.0-20191028130548-872f0d29a2d3 h1:oM/P/GEUMXGX6Ig1Why0rdkbm82cG5BWWb0DQNrw760=
-basic.com/dbapi.git v0.0.0-20191028130548-872f0d29a2d3/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
+basic.com/dbapi.git v0.0.0-20191029073251-acc3826d096d h1:DhbWFpg4/KLeYbMpaLJUlY/z5mSyCx+kPh9JY7OMd2k=
+basic.com/dbapi.git v0.0.0-20191029073251-acc3826d096d/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
 basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb h1:fM6DojeInFSCFO+wkba1jtyPiSDqw0jYKi4Tk+e+ka4=
 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=
diff --git a/router/router.go b/router/router.go
index 6479e41..440edef 100644
--- a/router/router.go
+++ b/router/router.go
@@ -184,6 +184,8 @@
 		vdbperson.POST("/faceExtract", fileController.FaceExtract)
 		vdbperson.POST("/searchByPhoto", fileController.SearchByPhoto)
 		vdbperson.POST("/updateFace", dbPersonCont.UpdateFace)
+
+		vdbperson.POST("/joinDbTable", dbPersonCont.JoinDbTable)
 	}
 
 	// 绯荤粺璁剧疆 鎿嶄綔

--
Gitblit v1.8.0