From d6831b733a4a97f2271c544c92ce33701634a97b Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期五, 29 三月 2024 13:55:17 +0800 Subject: [PATCH] 修复楼层匹配 --- repository/captureRepo.go | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-) diff --git a/repository/captureRepo.go b/repository/captureRepo.go index 76a963d..1928a33 100644 --- a/repository/captureRepo.go +++ b/repository/captureRepo.go @@ -48,7 +48,7 @@ // 杞彂鍥惧儚 logger.Debug("鍑嗗杞彂,deviceId:%s, image len:%d, server:%s", deviceId, len(faceImageStr), config.ForwardConf.SyncServer) if deviceId != "" && faceImageStr != "" && config.ForwardConf.SyncServer != "" { - pd := c.PackPushData(deviceId, faceId, faceImageStr) + pd := c.PackPushData(deviceId, faceId, faceImageStr, face.FaceAppearTime) if pd == nil { return } @@ -65,7 +65,7 @@ return } -func (c CaptureRepository) PackPushData(deviceId, faceId, faceImage string) *vo.PushDataInfo { +func (c CaptureRepository) PackPushData(deviceId, faceId, faceImage, appearTime string) *vo.PushDataInfo { var pd = new(vo.PushDataInfo) var device models.Device @@ -73,6 +73,16 @@ logger.Warn("Can't find device in database, device:%s, %s", deviceId, err.Error()) return pd } + + // 鍖归厤妤煎眰 + aTime, err := time.ParseInLocation("20060102150405", appearTime, time.Local) + if err != nil { + logger.Warn("Parse face appear time error,%s", err.Error()) + aTime = time.Now() + } + + var devPos models.Positions + _ := devPos.FindDevicePosition(deviceId, aTime.Unix()) imageBytes, err := base64.StdEncoding.DecodeString(faceImage) if err != nil { @@ -85,7 +95,7 @@ tr := vo.TaskResultInfo{ Id: uuid.NewV4().String(), CameraId: deviceId, - CameraAddr: device.Addr + device.Pos, + CameraAddr: device.Addr + devPos.Pos, CameraName: device.Name, PicMaxUrl: []string{""}, PicDate: time.Now().Format("2006-01-02 15:04:05"), -- Gitblit v1.8.0