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("接收到人脸数据, ip:%s dev:%s faceId:%s, LeftTopX:%d", c.RemoteIP(), face.DeviceID, face.FaceID, face.LeftTopX)
|
|
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})
|
}
|