From 855acd05ad59da181e595c6f68b1e5ac8d4bbaa4 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期四, 14 十一月 2019 10:52:51 +0800 Subject: [PATCH] --- --- insertdata/insertDataToEs.go | 324 +++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 238 insertions(+), 86 deletions(-) diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go index ba89ac2..77773db 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"` @@ -61,31 +62,68 @@ AnalyServerName string `json:"analyServerName"` AnalyServerIp string `json:"analyServerIp"` ClusterId string `json:"clusterId"` - LinkId string `json:"linkId"` 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 + 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"` + TargetId string `json:"targetId"` TargetScore float64 `json:"targetScore"` - TargetLocation Points + TargetLocation Points `json:"targetLocation"` } type Points struct { - TopLeft Point `json:"topLeft"` + TopLeft Point `json:"topLeft"` BottomRight Point `json:"bottomRight"` } type Point struct { - Lat float64 `json:"lat"` - Lon float64 `json:"lon"` + X float64 `json:"x"` + Y float64 `json:"y"` } + // yolo琛屼负鐨勬暟鎹粨鏋� type Personaction struct { Id string `json:"id"` @@ -103,13 +141,14 @@ ClusterId string `json:"clusterId"` PicSmUrl []string `json:"picSmUrl"` PicDate string `json:"picDate"` - LinkId string `json:"linkId"` VideoUrl string `json:"videoUrl"` IsAlarm int `json:"isAlarm"` IsAckAlarm int `json:"isAckAlarm"` IsCollect int `json:"isCollect"` IsDelete int `json:"isDelete"` - TargetInfo []Target + TargetInfo []Target `json:"targetInfo"` + LinkTag string `json:"linkTag"` + LinkTagInfo []*LinkInfo `json:"linkTagInfo"` } type AlarmRule struct { @@ -117,7 +156,6 @@ AlarmLevel string `json:"alarmLevel"` RuleText string `json:"ruleText"` DefenceState bool `json:"defenceState"` - IsLink bool `json:"isLink"` LinkInfo string `json:"linkInfo"` } @@ -127,30 +165,6 @@ rules []structure.Result } -// 寰�ES鎻掓暟鎹� -//func InsertToEs(msg ruleserver.ResultMsg) { -// var timeLabel string -// // 鐩存帴浠庤鍒欑殑鏍囩鏁版嵁閲屾嬁绗﹀悎瑙勫垯鐨勪汉鑴哥粨鏋� -// if msg.RuleResult["timeLabel"] != nil { -// timeLabel = msg.RuleResult["timeLabel"].(string) -// } -// logger.Debug("鎻掑叆鏁版嵁鍓嶇湅鐪嬫姤璀︽爣蹇椾綅锛�", timeLabel) -// if timeLabel == "01" { // 鏃犲畾鏃跺櫒鐘舵�佽鎻掑叆鐨勬姤璀︽暟鎹� -// InsertFace(msg) -// flag := ruleserver.BodyIsSame(msg.SdkMessage) -// if !flag { -// InsertYolo(msg) -// } -// } -// if timeLabel == "10" { // 瀹氭椂鍣ㄧ姸鎬佽鎻掑叆鐨勯甯ф姤璀︽暟鎹�傝繛甯︾潃瀹氭椂鍣ㄥ紑鍚椂鐨勯偅甯� -// InsertFace(msg) -// InsertYolo(msg) -// } -// //if timeLabel == "12" { // 骞堕潪鎶ヨ鏁版嵁锛屽彧鏄姸鎬佹敼鍙樼殑鏁版嵁 -// // //ChangeStatusFace(msg) -// // ChangeStatusYolo(msg) -// //} -//} func InsertToEs(msg structure.ResultMsg) { defer func() { if err := recover(); err != nil { @@ -164,13 +178,13 @@ weedfsUrl = "http://" + localConfig1.WebPicIp + ":" + strconv.Itoa(int(localConfig1.WebPicPort)) + "/submit" videoPersonUrl = "http://" + localConfig1.AlarmIp + ":" + strconv.Itoa(int(localConfig1.AlarmPort)) + "/" + EsInfo.EsIndex.VideoPersons.IndexName + "/" + EsInfo.EsIndex.VideoPersons.IndexType personAction = "http://" + localConfig1.AlarmIp + ":" + strconv.Itoa(int(localConfig1.AlarmPort)) + "/" + EsInfo.EsIndex.Personaction.IndexName + "/" + EsInfo.EsIndex.Personaction.IndexType - InsertFace(msg, "") - InsertYolo(msg, "") + InsertFace(msg) + InsertYolo(msg) } // 寰�es涓彃鍏ヤ汉鑴告暟鎹� -func InsertFace(msg structure.ResultMsg, linkId string) { - if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]structure.FaceResult)) > 0 { +func InsertFace(msg structure.ResultMsg) { + if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]structure.TargetResult)) > 0 { logger.Info("寰�ES鎻掍汉鑴告暟鎹�") faces := []*FaceAndRules{} faces = PutFace(faces, msg) @@ -186,11 +200,10 @@ panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒") } alarmRules := []AlarmRule{} - logger.Warn("浜鸿劯id涓猴細", face.Id, "浜鸿劯鐨勮鍒欓暱搴︿负锛�", len(face.rules)) //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) @@ -203,7 +216,7 @@ // 涓婁紶澶у浘 if imgMaxUrl == "" { bigPhotoUrl := make(map[string]interface{}) - bigPhotoUrl, err = util.DrawPolygonOnImageForFace(msg.Cid, i, msg.RuleResult["face"].([]structure.FaceResult), weedfsUrl) + bigPhotoUrl, err = util.DrawPolygonOnImageForFace(msg.Cid, i, msg.RuleResult["face"].([]structure.TargetResult), weedfsUrl) logger.Debug("========澶у浘璺緞锛�", bigPhotoUrl) imgMaxUrl = bigPhotoUrl["fileUrl"].(string) picTime = i.Timestamp @@ -218,21 +231,18 @@ race := getRaceString(face.ThftRes.Race) ageDescription := getDescription(face.ThftRes.Age) logger.Info(ageDescription) - //esDataId := uuid.NewV4().String() - linksId := "" - if linkId != "" { - linksId = linkId - } var target = new(Target) target.TargetId = strconv.FormatUint(face.Id, 10) target.TargetScore = face.Score - 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}} + 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)) - logger.Info("%%%%%%%%%%%%%%%%%%%%%鐩爣淇℃伅锛�",*target) + var targetInfos []Target + targetInfos = append(targetInfos, *target) pervideo := PerVideoPicture{ - msg.Push.PushId, + face.Uuid, msg.Cid, msg.Push.Cam.Addr, + msg.Push.Cam.Name, picTime, imgMaxUrl, msg.Tasklab.Taskid, @@ -254,14 +264,15 @@ msg.Push.ServerName, msg.Push.LocalIp, "", - linksId, face.Score, 1, 0, 0, 0, face.Liker, - *target, + targetInfos, + "", + []*LinkInfo{}, } requstbody, err := json.Marshal(pervideo) @@ -273,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}) } } } @@ -284,8 +295,8 @@ // 褰掔疆浜鸿劯 func PutFace(faces []*FaceAndRules, msg structure.ResultMsg) []*FaceAndRules { - if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]structure.FaceResult)) > 0 { - for _, faceResult := range msg.RuleResult["face"].([]structure.FaceResult) { + if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]structure.TargetResult)) > 0 { + for _, faceResult := range msg.RuleResult["face"].([]structure.TargetResult) { faces = hebingFace(faces, faceResult) } return faces @@ -293,15 +304,15 @@ return nil } } -func hebingFace(faces []*FaceAndRules, faceResult structure.FaceResult) []*FaceAndRules { +func hebingFace(faces []*FaceAndRules, faceResult structure.TargetResult) []*FaceAndRules { for _, arg := range faceResult.Args { // 鎷垮埌姣忎竴寮犱汉鑴� - logger.Info("褰掔疆浜鸿劯鏃剁浉浼艰�呯殑鏁伴噺锛�", len(arg.Liker)) + //logger.Info("褰掔疆浜鸿劯鏃剁浉浼艰�呯殑鏁伴噺锛�", len(arg.Liker)) flag := false for _, face := range faces { - for _, lik := range face.Liker { - logger.Warn("--------鍚堝苟浜鸿劯鏃剁浉浼艰�咃細", lik.PersonId, lik.TableName) - } + //for _, lik := range face.Liker { + // //logger.Warn("--------鍚堝苟浜鸿劯鏃剁浉浼艰�咃細", lik.PersonId, lik.TableName) + //} if arg.Id == face.Id { flag = true face.rules = append(face.rules, faceResult.Result) @@ -328,7 +339,7 @@ } // 寰�es涓彃鍏olo鏁版嵁 -func InsertYolo(msg structure.ResultMsg, linkId string) { +func InsertYolo(msg structure.ResultMsg) { if msg.RuleResult["yolo"] != nil && len(msg.RuleResult["yolo"].([]structure.Result)) > 0 { // 鍏堝垽鏂竴涓嬫暟鎹甫鐨勮鍒欐爣绛炬槸鍚︽湁鍙互鎻掑叆鐨� flag := false @@ -354,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)) @@ -380,11 +391,10 @@ } } // 瑁呴厤鐩爣淇℃伅鏁版嵁 - for _,target := range yoloResult.Location { + for _, target := range yoloResult.Location { // 鍘婚噸娣诲姞 - logger.Info("瑁呴厤鍓嶇殑鍘熷鏁版嵁鏄細",target) var flag = true - for _,selectTarget := range targetInfos { + for _, selectTarget := range targetInfos { if strconv.FormatUint(target.TargetId, 10) == selectTarget.TargetId { flag = false break @@ -394,30 +404,28 @@ var target1 = new(Target) target1.TargetId = strconv.FormatUint(target.TargetId, 10) target1.TargetScore = target.TargetScore - target1.TargetLocation = Points{TopLeft:Point{target.X,target.Y},BottomRight:Point{target.X+target.Width,target.Y+target.Height}} - targetInfos = append(targetInfos,*target1) + target1.TargetLocation = Points{TopLeft: Point{target.X, target.Y}, BottomRight: Point{target.X + target.Width, target.Y + target.Height}} + targetInfos = append(targetInfos, *target1) } } } } - linkFlag := false + + 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 { - linkId := uuid.NewV4().String() for _, msg2 := range yoloResult.Others.LinkCache { - logger.Warn("鎻掑叆鑱斿姩鏁版嵁", "姝ゅ抚鏁版嵁鐨刬d涓�", msg2.Cid) - InsertYolo(msg2, linkId) - linkFlag = true + // 鎶妋sg2鐨勬暟鎹閰嶆垚涓�涓狿erVideoPicture缁撴瀯浣� + if msg2.Cid != msg.Cid { + linkTagInfos = append(linkTagInfos, msg2PersonVideo(msg2)) + } } } } - if linkFlag { - // 鑱斿姩鏁版嵁涓寘鍚湰甯ф暟鎹紝鎻掑叆鑱斿姩鏁版嵁鍚庡氨涓嶉渶瑕佹彃鍏ユ湰甯ф暟鎹簡 - logger.Warn("鎴愬姛鎻掑叆涓や釜鑱斿姩鍥剧墖") - //os.Exit(1) - return + linkTag := "" + if len(linkTagInfos) > 0 { + linkTag = "鑱斿姩浠诲姟" } - //logger.Info("--------璧板埌杩欏効灏变笉涓�鏍�") isAlarm := 0 resp := make(map[string]interface{}) // 瑙e帇缂╁苟涓婁紶鍥剧墖 @@ -442,14 +450,9 @@ // 涓嶆槸鎶ヨ鏁版嵁涓嶅瓨 return } - if resp["fileUrl"] != nil { url = append(url, resp["fileUrl"].(string)) //esDataId := uuid.NewV4().String() - linksId := "" - if linkId != "" { - linksId = linkId - } peraction := Personaction{ msg.Push.PushId, msg.Cid, @@ -466,16 +469,20 @@ "", url, i.Timestamp, - linksId, "", 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 @@ -484,9 +491,9 @@ 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}) + 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鏁版嵁鎴愬姛") //os.Exit(1) } @@ -579,3 +586,148 @@ } return race } + +func msg2PersonVideo(msg structure.ResultMsg) *LinkInfo { + if msg.RuleResult["yolo"] != nil && len(msg.RuleResult["yolo"].([]structure.Result)) > 0 { + // 鍏堝垽鏂竴涓嬫暟鎹甫鐨勮鍒欐爣绛炬槸鍚︽湁鍙互鎻掑叆鐨� + flag := false + for _, res := range msg.RuleResult["yolo"].([]structure.Result) { + //logger.Info("瀹氭椂鍣ㄦ墦鐨勬暟瀛楁爣绛撅細",res.Others.TimeLabel) + if res.Others.TimeLabel == "01" || res.Others.TimeLabel == "10" { + flag = true + } + } + if flag { + logger.Info("鎻掑叆Yolo缁勮鏁版嵁") + var sdkNames string = "" + alarmRules := []AlarmRule{} + var targetInfos []Target + url := []string{} + for _, yoloResult := range msg.RuleResult["yolo"].([]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["yolo"].([]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.Location { + // 鍘婚噸娣诲姞 + var flag = true + for _, selectTarget := range targetInfos { + if strconv.FormatUint(target.TargetId, 10) == selectTarget.TargetId { + flag = false + break + } + } + if flag { + var target1 = new(Target) + target1.TargetId = strconv.FormatUint(target.TargetId, 10) + target1.TargetScore = target.TargetScore + target1.TargetLocation = Points{TopLeft: Point{target.X, target.Y}, BottomRight: Point{target.X + target.Width, target.Y + target.Height}} + targetInfos = append(targetInfos, *target1) + } + } + } + } + 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["yolo"].([]structure.Result), weedfsUrl) + if err != nil { + logger.Error("鐢绘鎴栦笂浼犲浘鐗囨湇鍔″櫒鍑洪敊", err) + return nil + } else { + logger.Info("涓婁紶鐨勫浘鐗囦俊鎭細", resp) + } + } else { + isAlarm = 0 + // 涓嶆槸鎶ヨ鏁版嵁涓嶅瓨 + return nil + } + if resp["fileUrl"] != nil { + url = append(url, resp["fileUrl"].(string)) + //esDataId := uuid.NewV4().String() + pervideo := &LinkInfo{ + msg.Push.PushId + "-" + uuid.NewV4().String(), + msg.Cid, + msg.Push.Cam.Addr, + msg.Push.Cam.Name, + i.Timestamp, + "", + msg.Tasklab.Taskid, + msg.Tasklab.Taskname, + "浜鸿劯", + "", + alarmRules, + time.Now().Format("2006-01-02 15:04:05"), // 鍙娴嬶紝娌℃湁姣斿鏃堕棿 + "", //鏆傛敼涓轰汉鑴竔d strconv.FormatUint(face.Id, 10) + 0, + "", // 鏆傛敼涓哄垎鍊糵mt.Sprintf("%.2f",face.Score) + "", + 0, + 0, + "", + []string{resp["fileUrl"].(string)}, + "", + msg.Push.ServerId, + msg.Push.ServerName, + msg.Push.LocalIp, + "", + 0, + isAlarm, + 0, + 0, + 0, + nil, + targetInfos, + } + return pervideo + } else { + return nil + } + } else { + logger.Debug("timeLabel鏉′欢閮戒笉绗﹀悎锛�") + return nil + } + } else { + return nil + } +} -- Gitblit v1.8.0