From a6cfc30060b3dc2d3808a9f4b51f77b2c0000798 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期三, 22 五月 2024 03:06:29 +0800 Subject: [PATCH] 修复设备类型缓存类型错误的bug --- controller/captureCtl.go | 69 ++++++++++++++++++++++++++++++---- 1 files changed, 60 insertions(+), 9 deletions(-) diff --git a/controller/captureCtl.go b/controller/captureCtl.go index dbf3b31..4ea6154 100644 --- a/controller/captureCtl.go +++ b/controller/captureCtl.go @@ -38,20 +38,19 @@ return } - // 濡傛灉寮�鍚簡涓嬬骇, 韬唤搴旇鏄秷鎭唬鐞�, 涓嶅啀杞彂鍒版湇鍔″櫒 face := req.FaceListObject.FaceObject[0] + logger.Debug("Receive new message, Id:%s Ip:%s faceId:%s, LeftTopX:%d, appearTime:%s", c.RemoteIP(), face.DeviceID, face.FaceID, face.LeftTopX, face.FaceAppearTime) + + // 濡傛灉寮�鍚簡涓嬬骇, 韬唤搴旇鏄秷鎭唬鐞�, 涓嶅啀杞彂鍒版湇鍔″櫒 if config.ClientConf.Enable && config.ServeConf.Role == "agent" { - a.Repository.VIIDMsgForward(&req) + go a.Repository.VIIDMsgForward(&req) } else if config.ServeConf.Role == "cascade" { - logger.Debug("Receive new message, Id:%s Ip:%s faceId:%s, LeftTopX:%d, appearTime:%s", c.RemoteIP(), face.DeviceID, face.FaceID, face.LeftTopX, face.FaceAppearTime) - service.AddFaceCapture(&face) - } else { - logger.Debug("Receive new message, Id:%s Ip:%s faceId:%s, LeftTopX:%d, appearTime:%s", c.RemoteIP(), face.DeviceID, face.FaceID, face.LeftTopX, face.FaceAppearTime) - a.Repository.FaceForward(req.FaceListObject.FaceObject) + go service.AddFaceNotification(&face) } - // 璁惧淇濇椿 - service.KeepDeviceAlive(face.DeviceID) + if config.ForwardConf.SyncServer != "" { + go a.Repository.FaceForward(req.FaceListObject.FaceObject) + } rspMsg := vo.ResponseStatus{ RequestURL: c.FullPath(), @@ -63,3 +62,55 @@ c.JSON(http.StatusOK, gin.H{"ResponseStatusObject": rspMsg}) } +func (a CaptureController) VideoLabels(c *gin.Context) { + var req vo.RequestVideoLabelList + if err := c.BindJSON(&req); err != nil { + c.AbortWithStatus(http.StatusBadRequest) + return + } + + if len(req.VideoLabelListObject.VideoLabelObject) == 0 { + c.AbortWithStatus(http.StatusBadRequest) + return + } + + 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 + + for idx, _ := range videoLabel.SubImageList.SubImageInfoObject { + videoLabel.SubImageList.SubImageInfoObject[idx].EventSort = 10 + } + + face.SubImageList.SubImageInfoObject = videoLabel.SubImageList.SubImageInfoObject + + // 濡傛灉寮�鍚簡涓嬬骇, 韬唤搴旇鏄秷鎭唬鐞�, 涓嶅啀杞彂鍒版湇鍔″櫒 + if config.ClientConf.Enable && config.ServeConf.Role == "agent" { + //go a.Repository.VIIDMsgForward(&req) + } else if config.ServeConf.Role == "cascade" { + go service.AddFaceNotification(&face) + } + + if config.ForwardConf.SyncServer != "" { + go a.Repository.FaceForward([]vo.FaceObject{face}) + } + + rspMsg := vo.ResponseStatus{ + RequestURL: c.FullPath(), + StatusCode: vo.StatusSuccess, + StatusString: vo.StatusString[vo.StatusSuccess], + Id: videoLabel.VideoLabelID, + LocalTime: time.Now().Format("20060102150405"), + } + + c.JSON(http.StatusOK, gin.H{"ResponseStatusObject": rspMsg}) +} -- Gitblit v1.8.0