yeg
2026-09-29 b78295e8da96c3e5e76befeef9582ce5273dbb74
battery-business/src/main/java/com/battery/business/domain/TDeviceAdapter.java
@@ -9,57 +9,73 @@
import jakarta.validation.constraints.Size;
import com.ruoyi.common.core.domain.BaseEntity;
/** 设备适配器实例对象 t_device_adapter。 */
/** 设备适配器实例对象 t_device_adapter;实例按「机器 + 上位机版本」划分,不能按厂商划分。 */
public class TDeviceAdapter extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** 适配器实例主键。 */
    private Long adapterId;
    /** 适配器实例编码,与厂商通道字段共同构成通道身份。 */
    @NotBlank(message = "适配器编码不能为空")
    @Size(max = 64, message = "适配器编码长度不能超过64个字符")
    private String adapterCode;
    /** 适配器实例名称,用于区分不同机器上的同名设备,仅供展示。 */
    @NotBlank(message = "适配器名称不能为空")
    @Size(max = 100, message = "适配器名称长度不能超过100个字符")
    private String adapterName;
    /** 适配器类型,决定使用哪一套来源实现:BTS 协议客户端、NEWARE_MYSQL 新威读库、PUSH_INGEST 读落地表。 */
    @NotBlank(message = "适配器类型不能为空")
    private String adapterType;
    /** 来源主机地址。 */
    @NotBlank(message = "主机不能为空")
    @Size(max = 255, message = "主机长度不能超过255个字符")
    private String host;
    /** 来源端口。 */
    @NotNull(message = "端口不能为空")
    @Min(value = 1, message = "端口必须在1到65535之间")
    @Max(value = 65535, message = "端口必须在1到65535之间")
    private Integer port;
    /** 轮询周期(毫秒);设备来源约 60 秒才产生一行数据,取数不必更快。 */
    @NotNull(message = "轮询周期不能为空")
    @Min(value = 1000, message = "轮询周期不能小于1000毫秒")
    private Integer pollIntervalMs;
    /** 适配器时区标识,用于把设备时间解释为 UTC。 */
    @NotBlank(message = "时区不能为空")
    @Size(max = 64, message = "时区长度不能超过64个字符")
    private String timezoneId;
    /** 只读能力标记,只允许为真:第一版只观测设备,不下发控制命令。 */
    @NotNull(message = "只读能力不能为空")
    @AssertTrue(message = "当前里程碑只允许只读设备适配器")
    private Boolean readOnly;
    /** 适配器声明的能力标记,运行时控制能力默认为不支持。 */
    private String capabilities;
    /** 来源形态配置(JSON),承载各存储形态互不相交的非敏感字段;连接口令不入库。 */
    private String sourceConfig;
    /** 启用状态:0启用,1停用。 */
    private String status;
    /** 适配器连接状态,仅允许 ONLINE/OFFLINE。 */
    private String connectionStatus;
    /** 最近一次连接失败的错误码,供现场排查使用。 */
    private String lastErrorCode;
    /** 最近一次连接失败的错误说明,供现场排查使用。 */
    private String lastErrorMessage;
    /** 最近一次尝试连接的时间,以 UTC 保存。 */
    private Instant lastAttemptAtUtc;
    /** 最近一次成功观测到设备事实的时间,以 UTC 保存。 */
    private Instant lastObservedAtUtc;
    /** 逻辑删除标识:0存在,其他值表示已删除。 */
    private String delFlag;
    public Long getAdapterId() { return adapterId; }