From ecee2cffe7f3b4a66895f3752b143704db4c198e Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 22 五月 2024 01:52:43 +0800
Subject: [PATCH] 完善上报逻辑
---
controller/captureCtl.go | 66 ++++++++++++++++++++++++++++++++-
1 files changed, 64 insertions(+), 2 deletions(-)
diff --git a/controller/captureCtl.go b/controller/captureCtl.go
index c17b618..4ea6154 100644
--- a/controller/captureCtl.go
+++ b/controller/captureCtl.go
@@ -1,6 +1,8 @@
package controller
import (
+ "gat1400Exchange/config"
+ "gat1400Exchange/service"
"net/http"
"time"
@@ -37,10 +39,18 @@
}
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)
- a.Repository.FaceForward(req.FaceListObject.FaceObject)
+ // 濡傛灉寮�鍚簡涓嬬骇, 韬唤搴旇鏄秷鎭唬鐞�, 涓嶅啀杞彂鍒版湇鍔″櫒
+ 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(req.FaceListObject.FaceObject)
+ }
rspMsg := vo.ResponseStatus{
RequestURL: c.FullPath(),
@@ -52,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