CMVR-IOT/cmvr-iot-aima/src/main/java/com/cmvr/aima/domain/AimaTestLog.java
lixiaolong 05992d1980 feat(aima): 实现智能测试任务执行队列和媒体录制功能
- 新增 SYSTEM_EXECUTE_ACTION_QUEUE 枚举值支持边缘设备动作队列执行
- 修改 aima_task_test_case 表主键为 task_id 和 sort_order 组合
- 添加 AimaFlowExecutionListener 监听器实现任务执行进度跟踪
- 引入并发安全的 Map 结构存储任务执行状态避免并发问题
- 实现测试用例绑定顺序管理和执行进度计算逻辑
- 集成 FlowMediaParamResolver 处理图像和视频媒体参数
- 完善 AimaTaskInstanceService 支持测试用例顺序执行
- 添加 AimaTestLog 记录实际执行结果、截图和视频链接
- 更新 EdgeCameraService 支持工作流录像会话管理
- 实现后端本地录像功能包括开始/停止录制操作
- 添加定时清理过期录像会话和 WebSocket 实时推送支持
2026-08-12 17:58:44 +08:00

116 lines
3.1 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.cmvr.aima.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import com.cmvr.common.annotation.Excel;
import com.cmvr.common.core.domain.BaseEntity;
import java.util.Date;
/**
* 爱玛测试日志对象 aima_test_log
*
* @author cmvr-iot
* @since 2026-06-22
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel("爱玛测试日志")
@Builder
public class AimaTestLog extends BaseEntity
{
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键ID")
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
@Excel(name = "任务执行实例ID")
@ApiModelProperty("任务执行实例ID")
private String taskInstanceId;
@Excel(name = "任务ID")
@ApiModelProperty("任务ID")
private String taskId;
@Excel(name = "任务名称")
@ApiModelProperty("任务名称")
private String taskName;
@Excel(name = "测试用例ID")
@ApiModelProperty("测试用例ID")
private String testCaseId;
/** 工作流检测项 ID,仅用于接口和 WebSocket 展示,不落日志表。 */
@TableField(exist = false)
private String itemId;
/** 当前绑定项的执行位置,从 1 开始。 */
@TableField(exist = false)
private Integer itemOrder;
/** 同一检测项在任务中第几次出现。 */
@TableField(exist = false)
private Integer itemOccurrence;
@Excel(name = "用例名称")
@ApiModelProperty("用例名称")
private String caseName;
@Excel(name = "日志级别")
@ApiModelProperty("日志级别(DEBUG/INFO/WARN/ERROR)")
private String logLevel;
@Excel(name = "日志类型")
@ApiModelProperty("日志类型(执行日志/系统日志/异常日志)")
private String logType;
@Excel(name = "日志内容")
@ApiModelProperty("日志内容")
private String logContent;
@Excel(name = "日志时间")
@ApiModelProperty("日志时间")
private Date logTime;
@Excel(name = "执行步骤")
@ApiModelProperty("执行步骤")
private String executionStep;
@Excel(name = "实际结果")
@ApiModelProperty("实际结果")
private String actualResult;
@Excel(name = "测试结果")
@ApiModelProperty("测试结果(0未执行 1通过 2失败 3跳过)")
private String testStatus;
@ApiModelProperty("截图URL")
private String screenshotUrl;
@ApiModelProperty("视频URL")
private String videoUrl;
@ApiModelProperty("错误堆栈")
private String errorStack;
@Excel(name = "执行耗时")
@ApiModelProperty("执行耗时(毫秒)")
private Long durationMs;
@Excel(name = "进度")
@ApiModelProperty("执行进度(百分比)")
private Double progress;
@Excel(name = "状态")
@ApiModelProperty("执行状态(0待执行 1执行中 2已完成 3已取消 4执行失败 5已暂停)")
private Integer status;
}