package controller import ( "net/http" "time" "gat1400Exchange/pkg/logger" "gat1400Exchange/repository" "gat1400Exchange/vo" "github.com/gin-gonic/gin" ) type CaptureController struct { Repository repository.CaptureRepository } // 构造函数 func NewCaptureController() CaptureController { svr := repository.NewCaptureRepository() controller := CaptureController{Repository: svr} return controller } // 批量提交人脸 func (a CaptureController) Faces(c *gin.Context) { var req vo.RequestFaceList if err := c.BindJSON(&req); err != nil { c.AbortWithStatus(http.StatusBadRequest) return } if len(req.FaceListObject.FaceObject) == 0 { c.AbortWithStatus(http.StatusBadRequest) return } face := req.FaceListObject.FaceObject[0] logger.Debug("接收到人脸数据, 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) rspMsg := vo.ResponseStatus{ RequestURL: c.FullPath(), StatusCode: vo.StatusSuccess, StatusString: vo.StatusString[vo.StatusSuccess], Id: face.FaceID, LocalTime: time.Now().Format("20060102150405"), } c.JSON(http.StatusOK, gin.H{"ResponseStatusObject": rspMsg}) }