From fd210f1d6cbe92b9ab44025120bad92f96d4eca8 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期二, 05 十一月 2019 16:41:33 +0800
Subject: [PATCH] 补全推送信息并给张蒙发送带有视频地址的信号

---
 go.sum                       |    8 ++++
 insertdata/insertDataToEs.go |   50 ++++++-------------------
 go.mod                       |    4 +
 main.go                      |    9 ----
 ruleserver/attachInfo.go     |   35 +++++++++++++++++
 5 files changed, 59 insertions(+), 47 deletions(-)

diff --git a/go.mod b/go.mod
index f8bcdba..8a6d4ab 100644
--- a/go.mod
+++ b/go.mod
@@ -4,8 +4,9 @@
 
 require (
 	basic.com/dbapi.git v0.0.0-20191025084729-a04db890e7b5
+	basic.com/fileserver/WeedFSClient.git v0.0.0-20191105073656-98059e699477
 	basic.com/pubsub/cache.git v0.0.0-20190718093725-6a413e1d7d48
-	basic.com/pubsub/protomsg.git v0.0.0-20191025080939-9b30ac3be52d
+	basic.com/pubsub/protomsg.git v0.0.0-20191105082616-7a5fc5da9c09
 	basic.com/valib/deliver.git v0.0.0-20190927081905-2d390df9ede3
 	basic.com/valib/gopherdiscovery.git v0.0.0-20190605034340-15d89d8b4e28
 	basic.com/valib/logger.git v0.0.0-20190928113028-4907b08c4159
@@ -15,6 +16,7 @@
 	github.com/go-yaml/yaml v2.1.0+incompatible
 	github.com/gogo/protobuf v1.2.1
 	github.com/golang/protobuf v1.3.1
+	github.com/kirinlabs/HttpRequest v0.1.5 // indirect
 	github.com/knetic/govaluate v3.0.0+incompatible
 	github.com/pierrec/lz4 v2.2.3+incompatible
 	github.com/satori/go.uuid v1.2.0
diff --git a/go.sum b/go.sum
index 0d4b48a..e94eaee 100644
--- a/go.sum
+++ b/go.sum
@@ -2,12 +2,18 @@
 basic.com/dbapi.git v0.0.0-20190822081128-ce924b8a905f/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
 basic.com/dbapi.git v0.0.0-20191025084729-a04db890e7b5 h1:OcZOgjBXfzhI1Ukxblacxu5xwKl448ADYyulJ02zdb8=
 basic.com/dbapi.git v0.0.0-20191025084729-a04db890e7b5/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
+basic.com/fileserver/WeedFSClient.git v0.0.0-20191105073656-98059e699477 h1:yr95Oko76zjDlPs60aHT2lAqApz8nzli9A6yJB/IrGA=
+basic.com/fileserver/WeedFSClient.git v0.0.0-20191105073656-98059e699477/go.mod h1:oiXPn3wwwOi/Sbm6cDWpNWofoG5iV2Nb1V/DxLEAqYY=
 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/protomsg.git v0.0.0-20190905061607-7b96dafe8f99 h1:YSmWZPp/mHoq+/L5d0iTsqjiCcVwZqEQRQAXxQFSbvY=
 basic.com/pubsub/protomsg.git v0.0.0-20190905061607-7b96dafe8f99/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
 basic.com/pubsub/protomsg.git v0.0.0-20191025080939-9b30ac3be52d h1:Lhny6vIq3GNjunE+r0ymLnpg+/n0lqwnsOAy6HbARfk=
 basic.com/pubsub/protomsg.git v0.0.0-20191025080939-9b30ac3be52d/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
+basic.com/pubsub/protomsg.git v0.0.0-20191105075705-11a3749018a7 h1:6B15QTE96XgpT2Ry9a3xhJZzxYvP6rClT3l4r2WHrjE=
+basic.com/pubsub/protomsg.git v0.0.0-20191105075705-11a3749018a7/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
+basic.com/pubsub/protomsg.git v0.0.0-20191105082616-7a5fc5da9c09 h1:wktnrfZLxcSEnmu/ptMdn4GF5UiHcUdRSlWQ0EllJxY=
+basic.com/pubsub/protomsg.git v0.0.0-20191105082616-7a5fc5da9c09/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
 basic.com/pubsub/sdkcompare.git v0.0.0-20190715013640-f536a4647d00 h1:sK+Tx7rvM9J2WnNIwrzMDjZSylWiKNfQO0prUBfKsDk=
 basic.com/pubsub/sdkcompare.git v0.0.0-20190715013640-f536a4647d00/go.mod h1:8by33F9E1w17Pw/rDgJGJXAo122w0wDENG14hiMS+RE=
 basic.com/valib/deliver.git v0.0.0-20190531095353-25d8c3b20051 h1:9flC2o3kasaM2Y6I+mY+mxmve/pyAY/UzGQZLT3lFHM=
@@ -79,6 +85,8 @@
 github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+github.com/kirinlabs/HttpRequest v0.1.5 h1:BzOb6AmBii232R93birBsf663kt8N9y8N0TCQKoEzhA=
+github.com/kirinlabs/HttpRequest v0.1.5/go.mod h1:XV38fA4rXZox83tlEV9KIQ7Cdsut319x6NGzVLuRlB8=
 github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
 github.com/knetic/govaluate v3.0.0+incompatible h1:wtCEE87YYq68awKAV9kYkNDvxS7MDzO3ABbKgDqO+tI=
diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go
index b5f88c7..3343ed8 100644
--- a/insertdata/insertDataToEs.go
+++ b/insertdata/insertDataToEs.go
@@ -208,19 +208,6 @@
 					imgMaxUrl = bigPhotoUrl["fileUrl"].(string)
 					picTime = i.Timestamp
 				}
-				// 浜鸿劯妫�娴嬶紝娌℃湁鐩镐技鐨勫簳搴撲汉鍛�
-				localConfig, err := cache.GetServerInfo()
-				if err != nil {
-					logger.Error("鏌ヨ鏈満淇℃伅澶辫触锛�")
-				}
-				serverIp, err := GetLocalIP()
-				// 鏌ヨcameraName
-				camera, err := cache.GetCameraById(msg.Cid)
-				if err != nil {
-					logger.Error("鏌ヨ鎽勫儚鏈轰俊鎭け璐�")
-				}
-
-				//logger.Info("================灏忓浘鍦板潃:", resp["fileUrl"].(string))
 				sex := ""
 				logger.Info(sex)
 				if face.ThftRes.Gender == 1 {
@@ -245,7 +232,7 @@
 				pervideo := PerVideoPicture{
 					esDataId,
 					msg.Cid,
-					camera.Addr,
+					msg.Push.Cam.Addr,
 					picTime,
 					imgMaxUrl,
 					msg.Tasklab.Taskid,
@@ -263,9 +250,9 @@
 					base64.StdEncoding.EncodeToString(face.Feature),
 					[]string{resp["fileUrl"].(string)},
 					"鏆傛棤闆嗙兢",
-					localConfig.ServerId,
-					localConfig.ServerName,
-					serverIp,
+					msg.Push.ServerId,
+					msg.Push.ServerName,
+					msg.Push.LocalIp,
 					"",
 					linksId,
 					face.Score,
@@ -288,7 +275,7 @@
 				} else {
 					logger.Info("鎻掑叆es杩斿洖鐨勪俊鎭細", resp1)
 					// 鍙戝嚭褰曞儚淇″彿
-					ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: esDataId, CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, ImgId: i.Id, SdkIds: []string{}, Type: 1})
+					ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: esDataId, CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, VideoUrl:msg.Push.VideoUrl,ImgId: i.Id, SdkIds: []string{}, Type: 1})
 				}
 			}
 		}
@@ -455,20 +442,7 @@
 				// 涓嶆槸鎶ヨ鏁版嵁涓嶅瓨
 				return
 			}
-			// logger.Println("鍥剧墖涓婁紶杩斿洖鍊硷細", resp)
-			// 鏌ヨ鏈満淇℃伅
-			localConfig, err := cache.GetServerInfo()
-			if err != nil {
-				logger.Error("鏌ヨ鏈満淇℃伅澶辫触锛�")
-			}
-			// 鏌ヨcameraName
-			camera, err := cache.GetCameraById(msg.Cid)
-			if err != nil {
-				logger.Error("鏌ヨ鎽勫儚鏈轰俊鎭け璐�")
-			}
-			logger.Info("鎽勫儚鏈轰俊鎭細",camera)
-			serverIp, err := GetLocalIP()
-			logger.Info("%%%%%%%%%%%%%%%%%yolo鐨則arget淇℃伅锛�",targetInfos)
+
 			if resp["fileUrl"] != nil {
 				url = append(url, resp["fileUrl"].(string))
 				esDataId := uuid.NewV4().String()
@@ -479,16 +453,16 @@
 				peraction := Personaction{
 					esDataId,
 					msg.Cid,
-					camera.Name,
-					camera.Addr,
+					msg.Push.Cam.Name,
+					msg.Push.Cam.Addr,
 					msg.Tasklab.Taskid,
 					msg.Tasklab.Taskname,
 					sdkNames,
 					"",
 					alarmRules,
-					localConfig.ServerId,
-					localConfig.ServerName,
-					serverIp,
+					msg.Push.ServerId,
+					msg.Push.ServerName,
+					msg.Push.LocalIp,
 					"",
 					url,
 					i.Timestamp,
@@ -513,7 +487,7 @@
 				} else {
 					logger.Debug("鎻掑叆es杩斿洖鐨勬暟鎹俊鎭槸锛�", resp1)
 					// 鍙戝嚭褰曞儚淇″彿
-					ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: esDataId, CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, ImgId: i.Id, SdkIds: []string{}, Type: 2})
+					ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: esDataId, CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid,VideoUrl:msg.Push.VideoUrl, ImgId: i.Id, SdkIds: []string{}, Type: 2})
 					logger.Warn("__________________________________________寰�ES鎻掑叆yolo鏁版嵁鎴愬姛")
 					//os.Exit(1)
 				}
diff --git a/main.go b/main.go
index 988ab80..34fa075 100644
--- a/main.go
+++ b/main.go
@@ -13,16 +13,10 @@
 	"time"
 
 	"basic.com/valib/logger.git"
-	//"bufio"
-	//"bytes"
 	"flag"
 	"fmt"
 	"github.com/golang/protobuf/proto"
 	"github.com/spf13/viper"
-	//"gocv.io/x/gocv"
-	//"image"
-	//"image/color"
-	//"os"
 	"ruleprocess/cache"
 	"ruleprocess/ruleserver"
 	"sync"
@@ -103,6 +97,7 @@
 					ruleserver.Judge(&arg, &m) // 鎶妔dkMessage浼犺繘鍘伙紝鏂逛究缂撳瓨鏁版嵁鏃舵嫾鍑轰竴涓猺esultMag
 					// 鎶奱rg閲岀殑鎵撶殑鏍囩鎷垮嚭鏉ョ粰m鍐嶅皝瑁呬竴灞�
 					resultMsg := structure.ResultMsg{SdkMessage: &m, RuleResult: arg.RuleResult}
+					ruleserver.GetAttachInfo(resultMsg.SdkMessage)
 					ruleEnd := time.Since(start)
 					logger.Debug("瑙勫垯鍒ゆ柇瀹屾墍鐢ㄦ椂闂达細", ruleEnd)
 					// 灏嗘墦瀹屾爣绛剧殑鏁版嵁鎻掑叆鍒癊S
@@ -111,8 +106,6 @@
 					logger.Debug("鎻掑叆瀹孍s鎵�鐢ㄦ椂闂达細", esEnd)
 					//浜嬩欢鎺ㄩ��
 					//labelFilter.PushSomthing(resultMsg)
-					//pushEnd := time.Since(start)
-					//logger.Info("浜嬩欢鎺ㄩ�佸畬鎵�鐢ㄦ椂闂达細",ruleEnd,esEnd,pushEnd)
 				}(msg)
 			}
 		}
diff --git a/ruleserver/attachInfo.go b/ruleserver/attachInfo.go
new file mode 100644
index 0000000..55394ee
--- /dev/null
+++ b/ruleserver/attachInfo.go
@@ -0,0 +1,35 @@
+package ruleserver
+
+import (
+	"basic.com/pubsub/protomsg.git"
+	"basic.com/valib/logger.git"
+	"ruleprocess/cache"
+	"basic.com/fileserver/WeedFSClient.git"
+	"strconv"
+)
+func GetAttachInfo(msg *protomsg.SdkMessage){
+	//浜鸿劯妫�娴嬶紝娌℃湁鐩镐技鐨勫簳搴撲汉鍛�
+	localConfig, err := cache.GetServerInfo()
+	if err != nil {
+		logger.Error("鏌ヨ鏈満淇℃伅澶辫触锛�")
+	}
+	msg.Push.ServerId = localConfig.ServerId
+	msg.Push.ServerName = localConfig.ServerName
+	serverIp, err := GetLocalIP()
+	msg.Push.LocalIp = serverIp
+	// 鏌ヨcameraName
+	camera, err := cache.GetCameraById(msg.Cid)
+	if err != nil {
+		logger.Error("鏌ヨ鎽勫儚鏈轰俊鎭け璐�")
+	}
+	msg.Push.Cam = &camera
+	// 瑙嗛鍦板潃鍗犱綅绗�
+	localConfig1, err := cache.GetServerInfo()
+	if err != nil {
+		panic("閰嶇疆鏂囦欢涓嶅悎娉�")
+	}
+	weedfsUrl := "http://" + localConfig1.WebPicIp + ":" + strconv.Itoa(int(localConfig1.WebPicPort)) + "/dir/assign"
+	if path,err := WeedFSClient.GetFid(weedfsUrl);err !=nil {
+		msg.Push.VideoUrl = path
+	}
+}
\ No newline at end of file

--
Gitblit v1.8.0