huang
2025-11-20 366ba040d2447bacd3455299425e3166f1f992bb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
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;        // 调试中
    }
}