From 7eb122e20a75ed800cc96b1565522951286e4081 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期一, 03 六月 2024 20:33:33 +0800 Subject: [PATCH] 添加persons 接口 --- controller/captureCtl.go | 41 +++++++++++++++++++++++++++++++++++++++-- 1 files changed, 39 insertions(+), 2 deletions(-) diff --git a/controller/captureCtl.go b/controller/captureCtl.go index 8f3d784..7e53382 100644 --- a/controller/captureCtl.go +++ b/controller/captureCtl.go @@ -44,7 +44,7 @@ } 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) + logger.Debug("Receive new face message, ip:%s, device id:%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" { @@ -81,7 +81,7 @@ } videoLabel := req.VideoLabelListObject.VideoLabelObject[0] - logger.Debug("Receive new message, Id:%s Ip:%s ", videoLabel.VideoLabelID, c.RemoteIP()) + logger.Debug("Receive new videoLabel message, Id:%s Ip:%s ", videoLabel.VideoLabelID, c.RemoteIP()) // 杞汉鍛樻秷鎭� var person vo.PersonObject @@ -182,3 +182,40 @@ c.JSON(http.StatusOK, gin.H{"ResponseStatusObject": rspMsg}) } + +func (a CaptureController) Persons(c *gin.Context) { + var req vo.RequestPersonList + if err := c.BindJSON(&req); err != nil { + c.AbortWithStatus(http.StatusBadRequest) + return + } + + if len(req.PersonListObject.PersonObject) == 0 { + c.AbortWithStatus(http.StatusBadRequest) + return + } + + person := req.PersonListObject.PersonObject[0] + logger.Debug("Receive new person message, ip:%s, device Id:%s personId:%s, appearTime:%s", c.RemoteIP(), person.DeviceID, person.PersonID, person.PersonAppearTime) + + // 濡傛灉寮�鍚簡涓嬬骇, 韬唤搴旇鏄秷鎭唬鐞�, 涓嶅啀杞彂鍒版湇鍔″櫒 + if config.ClientConf.Enable && config.ServeConf.Role == "agent" { + go a.Repository.VIIDPersonMsgForward(&req) + } else if config.ServeConf.Role == "cascade" { + go service.AddPersonNotification(&person) + } + + if config.ForwardConf.SyncServer != "" { + go a.Repository.PersonForward(req.PersonListObject.PersonObject) + } + + rspMsg := vo.ResponseStatus{ + RequestURL: c.FullPath(), + StatusCode: vo.StatusSuccess, + StatusString: vo.StatusString[vo.StatusSuccess], + Id: person.PersonID, + LocalTime: time.Now().Format("20060102150405"), + } + + c.JSON(http.StatusOK, gin.H{"ResponseStatusObject": rspMsg}) +} -- Gitblit v1.8.0