From ae5ae33cf858da04c638beffe2bcfb9066923b8e Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期六, 16 十一月 2019 14:46:21 +0800
Subject: [PATCH] ---
---
insertdata/insertDataToEs.go | 241 +++++++----------------------------------------
1 files changed, 37 insertions(+), 204 deletions(-)
diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go
index adac153..41f90c8 100644
--- a/insertdata/insertDataToEs.go
+++ b/insertdata/insertDataToEs.go
@@ -166,11 +166,11 @@
}
func InsertToEs(msg structure.ResultMsg) {
- defer func() {
- if err := recover(); err != nil {
- logger.Error("es妯″潡鍎跨殑寮傚父鎹曡幏锛�", err)
- }
- }()
+ //defer func() {
+ // if err := recover(); err != nil {
+ // logger.Error("es妯″潡鍎跨殑寮傚父鎹曡幏锛�", err)
+ // }
+ //}()
localConfig1, err := cache.GetServerInfo()
if err != nil {
panic("閰嶇疆鏂囦欢涓嶅悎娉�")
@@ -249,7 +249,7 @@
msg.Tasklab.Taskid,
msg.Tasklab.Taskname,
"浜鸿劯",
- "",
+ time.Now().Format("2006-01-02 15:04:05"),
alarmRules,
time.Now().Format("2006-01-02 15:04:05"), // 鍙娴嬶紝娌℃湁姣斿鏃堕棿
sex, //鏆傛敼涓轰汉鑴竔d strconv.FormatUint(face.Id, 10)
@@ -367,6 +367,7 @@
linkInfo = "鑱斿姩浠诲姟"
}
alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText, yoloResult.DefenceState, linkInfo})
+ logger.Info("鎵撳嵃浠诲姟鍚嶇О锛�",)
// 涓婁紶缂撳瓨鏁版嵁鐨勫浘鐗囨嬁鍒皍rl
if yoloResult.Others.CacheData != nil {
//InsertYolo(msg.RuleResult["cacheData"].(ruleserver.ResultMsg))
@@ -462,7 +463,7 @@
msg.Tasklab.Taskid,
msg.Tasklab.Taskname,
sdkNames,
- "",
+ time.Now().Format("2006-01-02 15:04:05"),
alarmRules,
msg.Push.ServerId,
msg.Push.ServerName,
@@ -510,208 +511,37 @@
}
// 鎻掑叆鐩爣鎸佺画鏃堕棿鏁版嵁
-func InsertTarget1(msg structure.ResultMsg) {
- if msg.RuleResult["target"] != nil && len(msg.RuleResult["target"].([]structure.Result)) > 0 {
- // 鍏堝垽鏂竴涓嬫暟鎹甫鐨勮鍒欐爣绛炬槸鍚︽湁鍙互鎻掑叆鐨�
- logger.Info("寰�ES鎻抰arget鏁版嵁")
- var sdkNames string = ""
- alarmRules := []AlarmRule{}
- var targetInfos []Target
- //url := []string{}
- for _, yoloResult := range msg.RuleResult["target"].([]structure.Result) {
- if yoloResult.Others.TimeLabel == "01" || yoloResult.Others.TimeLabel == "10" {
- // 鎷煎嚭sdkname
- //logger.Info("搴旇杩涙潵鎵嶅鐨�")
- sdkNames = sdkNames + yoloResult.SdkName
- alarm := ChangeToString(yoloResult.DefenceState, yoloResult.AlarmLevel)
- linkInfo := ""
- if yoloResult.IsLink {
- linkInfo = "鑱斿姩浠诲姟"
- }
- alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText, yoloResult.DefenceState, linkInfo})
- // 涓婁紶缂撳瓨鏁版嵁鐨勫浘鐗囨嬁鍒皍rl
- //if yoloResult.Others.CacheData != nil {
- // //InsertYolo(msg.RuleResult["cacheData"].(ruleserver.ResultMsg))
- // // 鎶婄紦瀛樼殑鏁版嵁涓婁紶鍚庡緱鍒板湴鍧�瀛樿繘鍘�
- // // 瑙e帇缂╁苟涓婁紶鍥剧墖
- // msgs := yoloResult.Others.CacheData
- // for _, msg1 := range msgs {
- // bdata, err := util.UnCompress(msg1.Data)
- // if err != nil {
- // panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒")
- // }
- // i := protomsg.Image{}
- // err = proto.Unmarshal(bdata, &i)
- // resp1, err1 := util.DrawPolygonOnImageForYolo(msg1.Cid, i, msg1.RuleResult["target"].([]structure.Result), weedfsUrl)
- // if err1 != nil {
- // logger.Error("缂撳瓨鏁版嵁鐢绘鎴栦笂浼犲浘鐗囨湇鍔″櫒鍑洪敊", err)
- // } else {
- // logger.Info("涓婁紶鐨勫浘鐗囦俊鎭細", resp1)
- // }
- // if resp1["fileUrl"] != nil {
- // url = append(url, resp1["fileUrl"].(string))
- // }
- // }
- //}
- // 瑁呴厤鐩爣淇℃伅鏁版嵁
- for _, target := range yoloResult.AlarmObj {
- // 鍘婚噸娣诲姞
- var flag = true
- for _, selectTarget := range targetInfos {
- if strconv.FormatUint(target.Id, 10) == selectTarget.TargetId {
- flag = false
- break
- }
- }
- if flag {
- var target1 = new(Target)
- target1.TargetId = strconv.FormatUint(target.Id, 10)
- target1.TargetScore = target.Score
- target1.TargetLocation = Points{TopLeft: Point{target.Location.X, target.Location.Y}, BottomRight: Point{target.Location.X + target.Location.Width, target.Location.Y + target.Location.Height}}
- targetInfos = append(targetInfos, *target1)
- }
- }
- }
- }
- // 鑱斿姩鍥惧儚鐨勫鐞�
- linkTagInfos := []*LinkInfo{}
- for _, yoloResult := range msg.RuleResult["target"].([]structure.Result) {
- if (yoloResult.Others.TimeLabel == "01" || yoloResult.Others.TimeLabel == "10") && yoloResult.Others.LinkCache != nil && len(yoloResult.Others.LinkCache) > 1 {
- for _, msg2 := range yoloResult.Others.LinkCache {
- // 鎶妋sg2鐨勬暟鎹閰嶆垚涓�涓狿erVideoPicture缁撴瀯浣�
- if msg2.Cid != msg.Cid {
- linkTagInfos = append(linkTagInfos, msg2PersonVideo(msg2))
- }
- }
- }
- }
- linkTag := ""
- if len(linkTagInfos) > 0 {
- linkTag = "鑱斿姩浠诲姟"
- }
- isAlarm := 0
- resp := make(map[string]interface{})
- // 瑙e帇缂╁苟涓婁紶鍥剧墖
- bdata, err := util.UnCompress(msg.Data)
- if err != nil {
- panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒")
- }
- i := protomsg.Image{}
- err = proto.Unmarshal(bdata, &i)
- if len(alarmRules) > 0 {
- isAlarm = 1
- //resp, err = util.PostFormBufferData(weedfsUrl, i, uuid.NewV4().String())
- resp, err = util.DrawPolygonOnImageForYolo(msg.Cid, i, msg.RuleResult["target"].([]structure.Result), weedfsUrl)
- if err != nil {
- logger.Error("鐢绘鎴栦笂浼犲浘鐗囨湇鍔″櫒鍑洪敊", err)
- return
- } else {
- logger.Info("涓婁紶鐨勫浘鐗囦俊鎭細", resp)
- }
- } else {
- isAlarm = 0
- // 涓嶆槸鎶ヨ鏁版嵁涓嶅瓨
- return
- }
- for _, yoloResult := range msg.RuleResult["target"].([]structure.Result) {
- for _, yolo := range yoloResult.AlarmObj {
- //InsertYolo(msg.RuleResult["cacheData"].(ruleserver.ResultMsg))
- // 鎶婄紦瀛樼殑鏁版嵁涓婁紶鍚庡緱鍒板湴鍧�瀛樿繘鍘�
- // 瑙e帇缂╁苟涓婁紶鍥剧墖
- urls := []string{}
- msg1 := yolo.CacheData
- bdata, err := util.UnCompress(msg1.Data)
- if err != nil {
- panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒")
- }
- i := protomsg.Image{}
- err = proto.Unmarshal(bdata, &i)
- resp1, err1 := util.DrawPolygonOnImageForYolo(msg1.Cid, i, msg1.RuleResult["target"].([]structure.Result), weedfsUrl)
- if err1 != nil {
- logger.Error("缂撳瓨鏁版嵁鐢绘鎴栦笂浼犲浘鐗囨湇鍔″櫒鍑洪敊", err)
- } else {
- logger.Info("涓婁紶鐨勫浘鐗囦俊鎭細", resp1)
- }
- if resp1["fileUrl"] != nil {
- urls = append(urls, resp1["fileUrl"].(string))
- }
- if resp["fileUrl"] != nil {
- urls = append(urls, resp["fileUrl"].(string))
- //esDataId := uuid.NewV4().String()
- peraction := Personaction{
- msg.Push.PushId,
- msg.Cid,
- msg.Push.Cam.Name,
- msg.Push.Cam.Addr,
- msg.Tasklab.Taskid,
- msg.Tasklab.Taskname,
- sdkNames,
- "",
- alarmRules,
- msg.Push.ServerId,
- msg.Push.ServerName,
- msg.Push.LocalIp,
- "",
- urls,
- i.Timestamp,
- "",
- isAlarm,
- 0,
- 0,
- 0,
- targetInfos,
- linkTag,
- linkTagInfos,
- }
- requstbody, err := json.Marshal(peraction)
-
- if len(linkTagInfos)>0 {
- logger.Info("鑱斿姩浠诲姟1111")
- }
- if err != nil {
- logger.Info("json parse error ", err)
- return
- }
- resp1, err2 := EsReq("POST", personAction, requstbody)
- if err2 != nil {
- logger.Error("寰�ES鎻掑叆鏁版嵁澶辫触", err)
- } else {
- logger.Debug("鎻掑叆es杩斿洖鐨勬暟鎹俊鎭槸锛坱arget锛夛細", resp1)
- // 鍙戝嚭褰曞儚淇″彿
- ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: msg.Push.PushId, CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, VideoUrl: msg.Push.VideoUrl, ImgId: i.Id, SdkIds: []string{"-1"}, Type: 2})
- for index,link := range linkTagInfos {
- logger.Info("鑱斿姩浠诲姟鐨勫綍鍍忎俊鍙凤細",index)
- ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: msg.Push.PushId, CameraId: link.CameraId, TaskId: msg.Tasklab.Taskid, VideoUrl: msg.Push.VideoUrl, ImgId: i.Id, SdkIds: []string{strconv.Itoa(index)}, Type: 2})
- }
- logger.Warn("__________________________________________寰�ES鎻掑叆yolo鏁版嵁鎴愬姛")
- //os.Exit(1)
- }
- }
- }
- }
-
- }
-}
func InsertTarget(msg structure.ResultMsg) {
if msg.RuleResult["target"] != nil && len(msg.RuleResult["target"].([]structure.Result)) > 0 {
// 鍏堝垽鏂竴涓嬫暟鎹甫鐨勮鍒欐爣绛炬槸鍚︽湁鍙互鎻掑叆鐨�
+ logger.Info("鎻掑叆瀹氭椂鐩爣淇℃伅锛�",len(msg.RuleResult["target"].([]structure.Result)))
for _, yoloResult := range msg.RuleResult["target"].([]structure.Result) {
- for _, tar := range yoloResult.AlarmObj {
- // 瑁呰浇鐩爣淇℃伅
- var target = new(Target)
- target.TargetId = strconv.FormatUint(tar.Id, 10)
- target.TargetScore = tar.Score
- target.TargetLocation = Points{TopLeft: Point{tar.Location.X, tar.Location.Y}, BottomRight: Point{tar.Location.X + tar.Location.Width, tar.Location.Y + tar.Location.Height}}
+ // 瑁呰浇鐩爣淇℃伅`
+ // 濡傛灉鏈夐娆℃姤璀︾殑鍒欐湰甯ф暟鎹彲浠ユ彃鍏�
+ insertFlag := false
+ alarmNum := 0
+ for _,obj := range yoloResult.AlarmObj {
+ if obj.TimeLable == "10" {
+ insertFlag = true
+ alarmNum++
+ }
+ }
+ if insertFlag {
+ logger.Info("鎶ヨ鐩爣涓暟锛�",alarmNum)
+ //var target = new(Target)
+ //target.TargetId = strconv.FormatUint(tar.Id, 10)
+ //target.TargetScore = tar.Score
+ //target.TargetLocation = Points{TopLeft: Point{tar.Location.X, tar.Location.Y}, BottomRight: Point{tar.Location.X + tar.Location.Width, tar.Location.Y + tar.Location.Height}}
//logger.Info("浜鸿劯鐨刬d:",strconv.FormatUint(face.Id, 10))
- var targetInfos []Target
- targetInfos = append(targetInfos, *target)
+ //var targetInfos []Target
+ //targetInfos = append(targetInfos, *target)
// 鑾峰彇鐩爣缂撳瓨鍥剧墖
url := []string{}
//InsertYolo(msg.RuleResult["cacheData"].(ruleserver.ResultMsg))
// 鎶婄紦瀛樼殑鏁版嵁涓婁紶鍚庡緱鍒板湴鍧�瀛樿繘鍘�
// 瑙e帇缂╁苟涓婁紶鍥剧墖
- url1 := uploadImg(tar.CacheData)
+ url1 := uploadImg(yoloResult.AlarmObj[0].CacheData)
url = append(url,url1)
// 娣诲姞鎶ヨ瑙勫垯缁�
sdkNames := ""
@@ -765,16 +595,19 @@
}
if resp["fileUrl"] != nil {
url = append(url, resp["fileUrl"].(string))
+ if len(url) == 1 {
+ return
+ }
//esDataId := uuid.NewV4().String()
peraction := Personaction{
- tar.Uuid,
+ msg.Push.PushId,
msg.Cid,
msg.Push.Cam.Name,
msg.Push.Cam.Addr,
msg.Tasklab.Taskid,
msg.Tasklab.Taskname,
sdkNames,
- "",
+ time.Now().Format("2006-01-02 15:04:05"),
alarmRules,
msg.Push.ServerId,
msg.Push.ServerName,
@@ -787,7 +620,7 @@
0,
0,
0,
- targetInfos,
+ nil,
linkTag,
linkTagInfos,
}
@@ -815,8 +648,8 @@
//os.Exit(1)
}
}
-
-
+ } else {
+ logger.Info("娌℃湁棣栨鎶ヨ鐨勭洰鏍囷紝涓嶆彃鍏�")
}
}
}
@@ -882,7 +715,7 @@
}
i := protomsg.Image{}
err = proto.Unmarshal(bdata, &i)
- resp1, err1 := util.DrawPolygonOnImageForYolo(msg.Cid, i, msg.RuleResult["target"].([]structure.Result), weedfsUrl)
+ resp1, err1 := util.DrawPolygonOnImageForTarget(msg.Cid, i, msg.RuleResult["target"].([]structure.Result), weedfsUrl)
if err1 != nil {
logger.Error("缂撳瓨鏁版嵁鐢绘鎴栦笂浼犲浘鐗囨湇鍔″櫒鍑洪敊", err)
} else {
--
Gitblit v1.8.0