- 新增 SYSTEM_EXECUTE_ACTION_QUEUE 枚举值支持边缘设备动作队列执行 - 修改 aima_task_test_case 表主键为 task_id 和 sort_order 组合 - 添加 AimaFlowExecutionListener 监听器实现任务执行进度跟踪 - 引入并发安全的 Map 结构存储任务执行状态避免并发问题 - 实现测试用例绑定顺序管理和执行进度计算逻辑 - 集成 FlowMediaParamResolver 处理图像和视频媒体参数 - 完善 AimaTaskInstanceService 支持测试用例顺序执行 - 添加 AimaTestLog 记录实际执行结果、截图和视频链接 - 更新 EdgeCameraService 支持工作流录像会话管理 - 实现后端本地录像功能包括开始/停止录制操作 - 添加定时清理过期录像会话和 WebSocket 实时推送支持
116 lines
3.1 KiB
Java
116 lines
3.1 KiB
Java
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;
|
||
|
||
}
|