package com.mes.device.entity; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.Date; /** * 设备交互逻辑实体类 * 对应数据库表:device_interaction_logic */ @Data @EqualsAndHashCode(callSuper = false) @TableName("device_interaction_logic") @ApiModel(value = "DeviceInteractionLogic", description = "设备交互逻辑配置") public class DeviceInteractionLogic { @ApiModelProperty(value = "逻辑ID", example = "1") @TableId(value = "id", type = IdType.AUTO) private Long id; @ApiModelProperty(value = "逻辑名称", example = "大车自动化测试逻辑") @TableField("logic_name") private String logicName; @ApiModelProperty(value = "逻辑编号", example = "TRUCK_AUTO_TEST_001") @TableField("logic_code") private String logicCode; @ApiModelProperty(value = "所属模块:1-上大车,2-下大车,3-转运,4-测试", example = "1") @TableField("module_type") private Integer moduleType; @ApiModelProperty(value = "所属设备组ID", example = "1") @TableField("group_id") private Long groupId; @ApiModelProperty(value = "逻辑类型:1-顺序执行,2-并行执行,3-条件执行,4-循环执行", example = "1") @TableField("logic_type") private Integer logicType; @ApiModelProperty(value = "逻辑状态:0-禁用,1-启用,3-调试中", example = "1") @TableField("status") private Integer status; @ApiModelProperty(value = "设备组内该逻辑的优先级:1-最高,10-最低", example = "1") @TableField("priority") private Integer priority; @ApiModelProperty(value = "执行超时时间(毫秒)", example = "30000") @TableField("execution_timeout") private Integer executionTimeout; @ApiModelProperty(value = "重试次数", example = "3") @TableField("retry_times") private Integer retryTimes; @ApiModelProperty(value = "逻辑描述", example = "大车自动化测试的完整流程控制") @TableField("description") private String description; @ApiModelProperty(value = "交互步骤JSON数组", example = "[{\"step\": 1, \"deviceId\": 1, \"action\": \"START\", \"params\": {}}]") @TableField("interaction_steps") private String interactionSteps; @ApiModelProperty(value = "条件判断逻辑JSON", example = "{\"conditions\": [{\"field\": \"status\", \"operator\": \"eq\", \"value\": 1}]}") @TableField("condition_logic") private String conditionLogic; @ApiModelProperty(value = "扩展参数JSON", example = "{\"parallelLimit\": 5, \"errorHandling\": \"retry\"}") @TableField("extra_params") private String extraParams; @ApiModelProperty(value = "版本号", example = "1.0.0") @TableField("version") private String version; @ApiModelProperty(value = "创建时间") @TableField(value = "created_time", fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createdTime; @ApiModelProperty(value = "更新时间") @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updatedTime; @ApiModelProperty(value = "创建人", example = "system") @TableField(value = "created_by", fill = FieldFill.INSERT) private String createdBy; @ApiModelProperty(value = "更新人", example = "system") @TableField(value = "updated_by", fill = FieldFill.INSERT_UPDATE) private String updatedBy; @ApiModelProperty(value = "是否删除:0-否,1-是", example = "0") @TableField("is_deleted") @TableLogic private Integer isDeleted; // 模块类型枚举 public static final class ModuleType { public static final int LOAD_TRUCK = 1; // 上大车 public static final int UNLOAD_TRUCK = 2; // 下大车 public static final int TRANSFER = 3; // 转运 public static final int TEST = 4; // 测试 } // 逻辑类型枚举 public static final class LogicType { public static final int SEQUENTIAL = 1; // 顺序执行 public static final int PARALLEL = 2; // 并行执行 public static final int CONDITIONAL = 3; // 条件执行 public static final int LOOP = 4; // 循环执行 } // 逻辑状态枚举 public static final class Status { public static final int DISABLED = 0; // 禁用 public static final int ENABLED = 1; // 启用 public static final int DEBUGGING = 2; // 调试中 } }