From 2d0ec0a2d038f962648f4b5acaea892113ac112f Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期三, 13 十一月 2019 17:04:34 +0800 Subject: [PATCH] -- --- insertdata/insertDataToEs.go | 99 ++++++++++++++++++++++++++++++++++++------------- 1 files changed, 72 insertions(+), 27 deletions(-) diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go index 1753cf8..2dbe3bd 100644 --- a/insertdata/insertDataToEs.go +++ b/insertdata/insertDataToEs.go @@ -40,6 +40,7 @@ Id string `json:"id"` CameraId string `json:"cameraId"` CameraAddr string `json:"cameraAddr"` + CameraName string `json:"cameraName"` PicDate string `json:"picDate"` PicMaxUrl string `json:"picMaxUrl"` TaskId string `json:"taskId"` @@ -67,15 +68,50 @@ IsCollect int `json:"isCollect"` IsDelete int `json:"isDelete"` BaseInfo []*structure.BaseInfo `json:"baseInfo"` - TargetInfo []Target - LinkTag string `json:"linkTag"` - LinkTagInfo []*PerVideoPicture `json:"linkTagInfo"` + TargetInfo []Target `json:"targetInfo"` + LinkTag string `json:"linkTag"` + LinkTagInfo []*LinkInfo `json:"linkTagInfo"` +} + +type LinkInfo struct { + Id string `json:"id"` + CameraId string `json:"cameraId"` + CameraAddr string `json:"cameraAddr"` + CameraName string `json:"cameraName"` + PicDate string `json:"picDate"` + PicMaxUrl string `json:"picMaxUrl"` + TaskId string `json:"taskId"` + TaskName string `json:"taskName"` + SdkName string `json:"sdkName"` + Content string `json:"content"` + AlarmRules []AlarmRule `json:"alarmRules"` + LikeDate string `json:"likeDate"` + Sex string `json:"sex"` + Age int32 `json:"age"` + AgeDescription string `json:"ageDescription"` + Race string `json:"race"` + SmileLevel int32 `json:"smileLevel"` + BeautyLevel int32 `json:"beautyLevel"` + FaceFeature string `json:"faceFeature"` + PicSmUrl []string `json:"picSmUrl"` + VideoUrl string `json:"videoUrl"` + AnalyServerId string `json:"analyServerId"` + AnalyServerName string `json:"analyServerName"` + AnalyServerIp string `json:"analyServerIp"` + ClusterId string `json:"clusterId"` + DetectScore float64 `json:"detectScore"` + IsAlarm int `json:"isAlarm"` + IsAckAlarm int `json:"isAckAlarm"` + IsCollect int `json:"isCollect"` + IsDelete int `json:"isDelete"` + BaseInfo []*structure.BaseInfo `json:"baseInfo"` + TargetInfo []Target `json:"targetInfo"` } type Target struct { TargetId string `json:"targetId"` TargetScore float64 `json:"targetScore"` - TargetLocation Points + TargetLocation Points `json:"targetLocation"` } type Points struct { @@ -84,8 +120,8 @@ } type Point struct { - Lat float64 `json:"lat"` - Lon float64 `json:"lon"` + X float64 `json:"x"` + Y float64 `json:"y"` } // yolo琛屼负鐨勬暟鎹粨鏋� @@ -110,9 +146,9 @@ IsAckAlarm int `json:"isAckAlarm"` IsCollect int `json:"isCollect"` IsDelete int `json:"isDelete"` - TargetInfo []Target - LinkTag string `json:"linkTag"` - LinkTagInfo []*PerVideoPicture `json:"linkTagInfo"` + TargetInfo []Target `json:"targetInfo"` + LinkTag string `json:"linkTag"` + LinkTagInfo []*LinkInfo `json:"linkTagInfo"` } type AlarmRule struct { @@ -120,7 +156,6 @@ AlarmLevel string `json:"alarmLevel"` RuleText string `json:"ruleText"` DefenceState bool `json:"defenceState"` - IsLink bool `json:"isLink"` LinkInfo string `json:"linkInfo"` } @@ -168,7 +203,7 @@ //os.Exit(1) for _, faceResult := range face.rules { alarm := ChangeToString(faceResult.DefenceState, faceResult.AlarmLevel) - alarmRules = append(alarmRules, AlarmRule{faceResult.RuleGroupId, alarm, faceResult.RuleText, faceResult.DefenceState, faceResult.IsLink, ""}) + alarmRules = append(alarmRules, AlarmRule{faceResult.RuleGroupId, alarm, faceResult.RuleText, faceResult.DefenceState, ""}) } i := protomsg.Image{} err = proto.Unmarshal(bdata, &i) @@ -202,11 +237,12 @@ target.TargetLocation = Points{TopLeft: Point{face.Location.X, face.Location.Y}, BottomRight: Point{face.Location.X + face.Location.Width, face.Location.Y + face.Location.Height}} //logger.Info("浜鸿劯鐨刬d:",strconv.FormatUint(face.Id, 10)) var targetInfos []Target - targetInfos = append(targetInfos,*target) + targetInfos = append(targetInfos, *target) pervideo := PerVideoPicture{ face.Uuid, msg.Cid, msg.Push.Cam.Addr, + msg.Push.Cam.Name, picTime, imgMaxUrl, msg.Tasklab.Taskid, @@ -236,7 +272,7 @@ face.Liker, targetInfos, "", - nil, + []*LinkInfo{}, } requstbody, err := json.Marshal(pervideo) @@ -248,9 +284,9 @@ if err1 != nil { logger.Error("涓婁紶ES鍑洪敊锛�---", err1) } else { - logger.Info("鎻掑叆es杩斿洖鐨勪俊鎭細", resp1) + logger.Info("鎻掑叆es杩斿洖鐨勪俊鎭�(浜鸿劯)锛�", 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{}, Type: 1}) + ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: face.Uuid, CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, VideoUrl: msg.Push.VideoUrl, ImgId: i.Id, SdkIds: []string{}, Type: 1}) } } } @@ -329,7 +365,7 @@ if yoloResult.IsLink { linkInfo = "鑱斿姩浠诲姟" } - alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText, yoloResult.DefenceState, 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)) @@ -375,14 +411,18 @@ } } - linkTagInfos := []*PerVideoPicture{} + linkTagInfos := []*LinkInfo{} for _, yoloResult := range msg.RuleResult["yolo"].([]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缁撴瀯浣� - linkTagInfos = append(linkTagInfos,msg2PersonVideo(msg2)) + linkTagInfos = append(linkTagInfos, msg2PersonVideo(msg2)) } } + } + linkTag := "" + if len(linkTagInfos) > 0 { + linkTag = "鑱斿姩浠诲姟" } isAlarm := 0 resp := make(map[string]interface{}) @@ -433,11 +473,17 @@ 0, 0, targetInfos, - "", + linkTag, linkTagInfos, } requstbody, err := json.Marshal(peraction) + var m map[string]interface{} + json.Unmarshal(requstbody, &m) + logger.Info("涓婁紶鍙傛暟json:",m) + if len(linkTagInfos)>0 { + logger.Info("鑱斿姩浠诲姟") + } if err != nil { logger.Info("json parse error ", err) return @@ -446,7 +492,7 @@ if err2 != nil { logger.Error("寰�ES鎻掑叆鏁版嵁澶辫触", err) } else { - logger.Debug("鎻掑叆es杩斿洖鐨勬暟鎹俊鎭槸锛�", resp1) + logger.Debug("鎻掑叆es杩斿洖鐨勬暟鎹俊鎭槸锛坹olo锛夛細", 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{}, Type: 2}) logger.Warn("__________________________________________寰�ES鎻掑叆yolo鏁版嵁鎴愬姛") @@ -542,7 +588,7 @@ return race } -func msg2PersonVideo (msg structure.ResultMsg) *PerVideoPicture{ +func msg2PersonVideo(msg structure.ResultMsg) *LinkInfo { if msg.RuleResult["yolo"] != nil && len(msg.RuleResult["yolo"].([]structure.Result)) > 0 { // 鍏堝垽鏂竴涓嬫暟鎹甫鐨勮鍒欐爣绛炬槸鍚︽湁鍙互鎻掑叆鐨� flag := false @@ -568,7 +614,7 @@ if yoloResult.IsLink { linkInfo = "鑱斿姩浠诲姟" } - alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText, yoloResult.DefenceState, 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)) @@ -640,10 +686,11 @@ if resp["fileUrl"] != nil { url = append(url, resp["fileUrl"].(string)) //esDataId := uuid.NewV4().String() - pervideo := &PerVideoPicture{ + pervideo := &LinkInfo{ msg.Push.PushId + "-" + uuid.NewV4().String(), msg.Cid, msg.Push.Cam.Addr, + msg.Push.Cam.Name, i.Timestamp, "", msg.Tasklab.Taskid, @@ -652,7 +699,7 @@ "", alarmRules, time.Now().Format("2006-01-02 15:04:05"), // 鍙娴嬶紝娌℃湁姣斿鏃堕棿 - "", //鏆傛敼涓轰汉鑴竔d strconv.FormatUint(face.Id, 10) + "", //鏆傛敼涓轰汉鑴竔d strconv.FormatUint(face.Id, 10) 0, "", // 鏆傛敼涓哄垎鍊糵mt.Sprintf("%.2f",face.Score) "", @@ -672,8 +719,6 @@ 0, nil, targetInfos, - "", - nil, } return pervideo } else { @@ -686,4 +731,4 @@ } else { return nil } -} \ No newline at end of file +} -- Gitblit v1.8.0