package com.ruoyi.system.domain; import java.time.Instant; import jakarta.validation.constraints.AssertTrue; import jakarta.validation.constraints.Max; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; import com.ruoyi.common.core.domain.BaseEntity; /** 设备适配器实例对象 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; @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; @NotNull(message = "轮询周期不能为空") @Min(value = 1000, message = "轮询周期不能小于1000毫秒") private Integer pollIntervalMs; @NotBlank(message = "时区不能为空") @Size(max = 64, message = "时区长度不能超过64个字符") private String timezoneId; @NotNull(message = "只读能力不能为空") @AssertTrue(message = "当前里程碑只允许只读设备适配器") private Boolean readOnly; private String capabilities; private String status; /** 适配器连接状态,仅允许 ONLINE/OFFLINE。 */ private String connectionStatus; private String lastErrorCode; private String lastErrorMessage; private Instant lastAttemptAtUtc; private Instant lastObservedAtUtc; private String delFlag; public Long getAdapterId() { return adapterId; } public void setAdapterId(Long adapterId) { this.adapterId = adapterId; } public String getAdapterCode() { return adapterCode; } public void setAdapterCode(String adapterCode) { this.adapterCode = adapterCode; } public String getAdapterName() { return adapterName; } public void setAdapterName(String adapterName) { this.adapterName = adapterName; } public String getAdapterType() { return adapterType; } public void setAdapterType(String adapterType) { this.adapterType = adapterType; } public String getHost() { return host; } public void setHost(String host) { this.host = host; } public Integer getPort() { return port; } public void setPort(Integer port) { this.port = port; } public Integer getPollIntervalMs() { return pollIntervalMs; } public void setPollIntervalMs(Integer pollIntervalMs) { this.pollIntervalMs = pollIntervalMs; } public String getTimezoneId() { return timezoneId; } public void setTimezoneId(String timezoneId) { this.timezoneId = timezoneId; } public Boolean getReadOnly() { return readOnly; } public void setReadOnly(Boolean readOnly) { this.readOnly = readOnly; } public String getCapabilities() { return capabilities; } public void setCapabilities(String capabilities) { this.capabilities = capabilities; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getConnectionStatus() { return connectionStatus; } public void setConnectionStatus(String connectionStatus) { this.connectionStatus = connectionStatus; } public String getLastErrorCode() { return lastErrorCode; } public void setLastErrorCode(String lastErrorCode) { this.lastErrorCode = lastErrorCode; } public String getLastErrorMessage() { return lastErrorMessage; } public void setLastErrorMessage(String lastErrorMessage) { this.lastErrorMessage = lastErrorMessage; } public Instant getLastAttemptAtUtc() { return lastAttemptAtUtc; } public void setLastAttemptAtUtc(Instant value) { this.lastAttemptAtUtc = value; } public Instant getLastObservedAtUtc() { return lastObservedAtUtc; } public void setLastObservedAtUtc(Instant value) { this.lastObservedAtUtc = value; } public String getDelFlag() { return delFlag; } public void setDelFlag(String delFlag) { this.delFlag = delFlag; } }