| | |
| | | // 转发图像 |
| | | 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 |
| | | } |
| | |
| | | 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 |
| | | |
| | |
| | | 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 { |
| | |
| | | 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"), |