zhangzengfei
2024-04-16 a6e84625b91e19220933ed3bc8ef91435281ab26
添加服务器是否可以连接的判断
3个文件已修改
87 ■■■■■ 已修改文件
repository/captureRepo.go 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/resend.go 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
util/http.go 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
repository/captureRepo.go
@@ -71,41 +71,6 @@
    return
}
func (c CaptureRepository) PackPushDataV2(deviceId, faceId, faceImage, appearTime string) *vo.PushDataInfoV2 {
    var pd = new(vo.PushDataInfoV2)
    var device models.Device
    if err := device.FindById(deviceId); err != nil {
        logger.Warn("Can't find device in database, device:%s, %s", deviceId, err.Error())
        return pd
    }
    // 匹配楼层
    faceAppearTime, err := time.ParseInLocation("20060102150405", appearTime, time.Local)
    if err != nil {
        logger.Warn("Parse face appear time error, %s", err.Error())
        faceAppearTime = time.Now()
    }
    var devPos models.Positions
    _ = devPos.FindDevicePosition(deviceId, faceAppearTime.Unix()+5) // 加5秒电梯关门的时间
    imageBytes, err := base64.StdEncoding.DecodeString(faceImage)
    if err != nil {
        logger.Warn("Decode Image Base64 String failure, %s", err.Error())
        return pd
    }
    pd.PicMaxImages = append(pd.PicMaxImages, imageBytes)
    pd.PicId = faceId
    pd.PicDate = faceAppearTime.Format("2006-01-02 15:04:05")
    pd.DataSource = "camera"
    pd.CameraFloor = devPos.Pos
    pd.CameraId = deviceId
    return pd
}
func (c CaptureRepository) PackPushData(deviceId, faceId, faceImage, appearTime string) *vo.PushDataInfo {
    var pd = new(vo.PushDataInfo)
    var device models.Device
@@ -160,6 +125,44 @@
    return pd
}
func (c CaptureRepository) PackPushDataV2(deviceId, faceId, faceImage, appearTime string) *vo.PushDataInfoV2 {
    var pd = new(vo.PushDataInfoV2)
    var device models.Device
    if err := device.FindById(deviceId); err != nil {
        logger.Warn("Can't find device in database, device:%s, %s", deviceId, err.Error())
        return pd
    }
    // 匹配楼层
    faceAppearTime, err := time.ParseInLocation("20060102150405", appearTime, time.Local)
    if err != nil {
        logger.Warn("Parse face appear time error, %s", err.Error())
        faceAppearTime = time.Now()
    }
    var devPos models.Positions
    _ = devPos.FindDevicePosition(deviceId, faceAppearTime.Unix()+5) // 加5秒电梯关门的时间
    if devPos.Pos == "" {
        devPos.Pos = device.Pos
    }
    imageBytes, err := base64.StdEncoding.DecodeString(faceImage)
    if err != nil {
        logger.Warn("Decode Image Base64 String failure, %s", err.Error())
        return pd
    }
    pd.PicMaxImages = append(pd.PicMaxImages, imageBytes)
    pd.PicId = faceId
    pd.PicDate = faceAppearTime.Format("2006-01-02 15:04:05")
    pd.DataSource = "camera"
    pd.CameraFloor = devPos.Pos
    pd.CameraId = deviceId
    return pd
}
func (c CaptureRepository) CacheData(payload []byte) {
    var cacheItem = models.Cache{
        Data:       string(payload),
service/resend.go
@@ -12,6 +12,11 @@
    cacheItems, _ := cacheMod.FindAll()
    logger.Debug("Start resend task. cache len:%d", len(cacheItems))
    if err := util.HttpGet(config.ForwardConf.SyncServer); err != nil {
        logger.Debug("The server cannot be reached. %s", err.Error())
        return
    }
    for _, c := range cacheItems {
        if !util.SendData([]byte(c.Data), config.ForwardConf.SyncServer) {
            c.UpdateRetryCount()
util/http.go
@@ -54,3 +54,12 @@
    return body, nil
}
func HttpGet(url string) error {
    _, err := http.Get(url)
    if err != nil {
        return err
    }
    return nil
}