From 332fc6ad5edca596ecd23876aa9db7452b45f804 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期三, 29 五月 2024 02:58:21 +0800 Subject: [PATCH] 添加人员抓拍处理 --- controller/captureCtl.go | 58 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 35 insertions(+), 23 deletions(-) diff --git a/controller/captureCtl.go b/controller/captureCtl.go index a6fc5cb..8f3d784 100644 --- a/controller/captureCtl.go +++ b/controller/captureCtl.go @@ -2,14 +2,17 @@ import ( "encoding/base64" - "gat1400Exchange/config" - "gat1400Exchange/pkg" - "gat1400Exchange/service" + "fmt" + "math/rand" "net/http" + "strconv" "time" + "gat1400Exchange/config" + "gat1400Exchange/pkg" "gat1400Exchange/pkg/logger" "gat1400Exchange/repository" + "gat1400Exchange/service" "gat1400Exchange/vo" "github.com/gin-gonic/gin" @@ -45,7 +48,7 @@ // 濡傛灉寮�鍚簡涓嬬骇, 韬唤搴旇鏄秷鎭唬鐞�, 涓嶅啀杞彂鍒版湇鍔″櫒 if config.ClientConf.Enable && config.ServeConf.Role == "agent" { - go a.Repository.VIIDMsgForward(&req) + go a.Repository.VIIDFaceMsgForward(&req) } else if config.ServeConf.Role == "cascade" { go service.AddFaceNotification(&face) } @@ -80,15 +83,17 @@ videoLabel := req.VideoLabelListObject.VideoLabelObject[0] logger.Debug("Receive new message, Id:%s Ip:%s ", videoLabel.VideoLabelID, c.RemoteIP()) - // 杞汉鑴告秷鎭� - var face vo.FaceObject - face.FaceID = videoLabel.VideoLabelID - face.InfoKind = 1 - face.SourceID = videoLabel.VideoImageID - face.DeviceID = videoLabel.IVADeviceID - face.LocationMarkTime = videoLabel.CreateTimeAbs - face.FaceAppearTime = videoLabel.BehaviorAnalysisObject.BehaviorBeginTime - face.FaceDisAppearTime = videoLabel.BehaviorAnalysisObject.BehaviorEndTime + // 杞汉鍛樻秷鎭� + var person vo.PersonObject + person.PersonID = videoLabel.VideoLabelID[0:41] + "01" + videoLabel.VideoLabelID[43:48] + person.InfoKind = "1" + person.DeviceID = videoLabel.IVADeviceID + person.SourceID = videoLabel.VideoImageID + person.LocationMarkTime = videoLabel.BehaviorAnalysisObject.BehaviorBeginTime + person.PersonAppearTime = videoLabel.BehaviorAnalysisObject.BehaviorBeginTime + person.PersonDisAppearTime = videoLabel.BehaviorAnalysisObject.BehaviorEndTime + person.IsDriver = 2 + person.IsCriminalInvolved = 2 var hasTargetImage bool var bgImageWith, bgImageHeight int @@ -104,8 +109,8 @@ bgImage = &videoLabel.SubImageList.SubImageInfoObject[idx] } - face.SubImageList.SubImageInfoObject = append( - face.SubImageList.SubImageInfoObject, + person.SubImageList.SubImageInfoObject = append( + person.SubImageList.SubImageInfoObject, videoLabel.SubImageList.SubImageInfoObject[idx], ) } @@ -129,8 +134,15 @@ return } + imageId := bgImage.ImageID[37:41] + imageNumber, err := strconv.Atoi(imageId) + if err != nil { + imageNumber = rand.Intn(90000) + 10000 + } else { + imageNumber++ + } var subImageInfo = vo.SubImageInfoObject{ - ImageID: bgImage.ImageID + "1", + ImageID: fmt.Sprintf("%s%d", bgImage.ImageID[0:37], imageNumber), EventSort: 10, DeviceID: bgImage.DeviceID, StoragePath: "", @@ -141,23 +153,23 @@ Height: subRect.Top - subRect.Bottom, Data: base64.StdEncoding.EncodeToString(subImage), } - face.SubImageList.SubImageInfoObject = append( - face.SubImageList.SubImageInfoObject, + person.SubImageList.SubImageInfoObject = append( + person.SubImageList.SubImageInfoObject, subImageInfo, ) } // 濡傛灉寮�鍚簡涓嬬骇, 韬唤搴旇鏄秷鎭唬鐞�, 涓嶅啀杞彂鍒版湇鍔″櫒 if config.ClientConf.Enable && config.ServeConf.Role == "agent" { - var faceObjList vo.RequestFaceList - faceObjList.FaceListObject.FaceObject = append(faceObjList.FaceListObject.FaceObject, face) - go a.Repository.VIIDMsgForward(&faceObjList) + var personList vo.RequestPersonList + personList.PersonListObject.PersonObject = append(personList.PersonListObject.PersonObject, person) + go a.Repository.VIIDPersonMsgForward(&personList) } else if config.ServeConf.Role == "cascade" { - go service.AddFaceNotification(&face) + go service.AddPersonNotification(&person) } if config.ForwardConf.SyncServer != "" { - go a.Repository.FaceForward([]vo.FaceObject{face}) + go a.Repository.PersonForward([]vo.PersonObject{person}) } rspMsg := vo.ResponseStatus{ -- Gitblit v1.8.0