You've already forked FrameTour-BE
feat(pc): 添加外部工具上报视频连续性检查结果接口
- 添加 @IgnoreToken 注解支持无需认证的上报功能 - 新增 reportContinuityResult 方法处理外部工具上报请求 - 实现根据设备编号查询设备ID的逻辑 - 添加视频连续性检查结果的缓存存储功能 - 支持间隙信息的转换和存储到Redis - 设置24小时缓存TTL策略 - 完善日志记录和异常处理机制
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
package com.ycwl.basic.model.pc.device.req;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 外部工具上报视频连续性检查结果的请求DTO
|
||||
*
|
||||
* @author Claude Code
|
||||
* @date 2025-12-30
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class VideoContinuityReportReq {
|
||||
|
||||
/**
|
||||
* 设备编号(必填)
|
||||
*/
|
||||
@NotBlank(message = "设备编号不能为空")
|
||||
private String deviceNo;
|
||||
|
||||
/**
|
||||
* 检查的开始时间(必填)
|
||||
*/
|
||||
@NotNull(message = "检查开始时间不能为空")
|
||||
private Date startTime;
|
||||
|
||||
/**
|
||||
* 检查的结束时间(必填)
|
||||
*/
|
||||
@NotNull(message = "检查结束时间不能为空")
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
* 是否支持连续性检查(必填)
|
||||
*/
|
||||
@NotNull(message = "是否支持连续性检查不能为空")
|
||||
private Boolean support;
|
||||
|
||||
/**
|
||||
* 视频是否连续(必填)
|
||||
* true: 所有间隙都在允许范围内
|
||||
* false: 存在超出允许范围的间隙
|
||||
*/
|
||||
@NotNull(message = "视频是否连续不能为空")
|
||||
private Boolean continuous;
|
||||
|
||||
/**
|
||||
* 视频总数(必填)
|
||||
*/
|
||||
@NotNull(message = "视频总数不能为空")
|
||||
private Integer totalVideos;
|
||||
|
||||
/**
|
||||
* 总时长,单位毫秒(必填)
|
||||
*/
|
||||
@NotNull(message = "总时长不能为空")
|
||||
private Long totalDurationMs;
|
||||
|
||||
/**
|
||||
* 允许的最大间隙,单位毫秒(选填,默认2000ms)
|
||||
*/
|
||||
private Long maxAllowedGapMs;
|
||||
|
||||
/**
|
||||
* 间隙列表(选填,当continuous=false时应提供)
|
||||
*/
|
||||
private List<GapInfoReq> gaps;
|
||||
|
||||
/**
|
||||
* 间隙信息
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class GapInfoReq {
|
||||
/**
|
||||
* 前一个文件名
|
||||
*/
|
||||
private String beforeFileName;
|
||||
|
||||
/**
|
||||
* 后一个文件名
|
||||
*/
|
||||
private String afterFileName;
|
||||
|
||||
/**
|
||||
* 间隙时长,单位毫秒
|
||||
*/
|
||||
private Long gapMs;
|
||||
|
||||
/**
|
||||
* 间隙开始时间
|
||||
*/
|
||||
private Date gapStartTime;
|
||||
|
||||
/**
|
||||
* 间隙结束时间
|
||||
*/
|
||||
private Date gapEndTime;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user