package com.battery.business.domain; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; /** * 推式来源落地表的一行(ADR-0065):厂商原始行按收到的键值原样保存在 {@code payloadJson}, * 同时带上接收端点解析出的身份、时间、协议序号与测量列。 * *

解释只做一遍:厂商列名到这些字段的映射在接收端点里,适配器只把落地行投影成统一观测, * 因此适配器里不出现任何厂商列名。{@code recordKey} 是来源行身份,重复推送由它幂等忽略。 */ public class TDeviceIngestRecord implements Serializable { /** 载荷类别:拓扑上报,声明该来源当前有哪些通道。 */ public static final String KIND_TOPOLOGY = "TOPOLOGY"; /** 载荷类别:逐点数据行。 */ public static final String KIND_SAMPLE = "SAMPLE"; /** 载荷类别:存活心跳,只刷新"取数程序还在推"这一条事实。 */ public static final String KIND_HEARTBEAT = "HEARTBEAT"; /** 落地行主键。 */ private Long ingestId; /** 推送来源所属的适配器实例编码。 */ private String adapterCode; /** 载荷类别:TOPOLOGY 拓扑上报、SAMPLE 逐点数据行、HEARTBEAT 存活心跳。 */ private String payloadKind; /** 厂商设备类型。 */ private Integer devtype; /** 厂商设备号。 */ private Integer devid; /** 厂商单元号。 */ private Integer subdevid; /** 厂商通道号。 */ private Integer chlid; /** 来源协议序号,工步切换点可在同一绝对秒内出现多条。 */ private Long recordSequence; /** 来源行身份,重复推送由它幂等忽略。 */ private String recordKey; /** 来源侧引用标识,如测试或来源记录编号,用于现场核对。 */ private String sourceRef; /** 设备时间,按来源时区解释后以 UTC 保存。 */ private Date deviceTimeUtc; /** 设备时间原始文本,保留厂商原值。 */ private String deviceTimeRaw; /** 解释设备时间所用的时区标识。 */ private String timezoneId; /** 设备实际循环号。 */ private Integer cycleNo; /** 设备实际工步号。 */ private Integer stepNo; /** 工步内相对时长,单位秒;由成功观测提供,不以接收时间推算。 */ private BigDecimal relativeTimeSeconds; /** 电压,业务单位 V。 */ private BigDecimal voltageV; /** 电流,业务单位 A。 */ private BigDecimal currentA; /** 充电容量,业务单位 Ah。 */ private BigDecimal chargeCapacityAh; /** 放电容量,业务单位 Ah。 */ private BigDecimal dischargeCapacityAh; /** 充电能量,业务单位 Wh。 */ private BigDecimal chargeEnergyWh; /** 放电能量,业务单位 Wh。 */ private BigDecimal dischargeEnergyWh; /** 厂商原始行内容,按收到的键值原样保存,便于回溯来源事实。 */ private String payloadJson; /** 记录内容摘要,用于重复推送的幂等与冲突判定。 */ private byte[] contentSha256; /** 服务器收到该行的时间,以 UTC 保存。 */ private Date receivedAtUtc; public Long getIngestId() { return ingestId; } public void setIngestId(Long v) { ingestId = v; } public String getAdapterCode() { return adapterCode; } public void setAdapterCode(String v) { adapterCode = v; } public String getPayloadKind() { return payloadKind; } public void setPayloadKind(String v) { payloadKind = v; } public Integer getDevtype() { return devtype; } public void setDevtype(Integer v) { devtype = v; } public Integer getDevid() { return devid; } public void setDevid(Integer v) { devid = v; } public Integer getSubdevid() { return subdevid; } public void setSubdevid(Integer v) { subdevid = v; } public Integer getChlid() { return chlid; } public void setChlid(Integer v) { chlid = v; } public Long getRecordSequence() { return recordSequence; } public void setRecordSequence(Long v) { recordSequence = v; } public String getRecordKey() { return recordKey; } public void setRecordKey(String v) { recordKey = v; } public String getSourceRef() { return sourceRef; } public void setSourceRef(String v) { sourceRef = v; } public Date getDeviceTimeUtc() { return deviceTimeUtc; } public void setDeviceTimeUtc(Date v) { deviceTimeUtc = v; } public String getDeviceTimeRaw() { return deviceTimeRaw; } public void setDeviceTimeRaw(String v) { deviceTimeRaw = v; } public String getTimezoneId() { return timezoneId; } public void setTimezoneId(String v) { timezoneId = v; } public Integer getCycleNo() { return cycleNo; } public void setCycleNo(Integer v) { cycleNo = v; } public Integer getStepNo() { return stepNo; } public void setStepNo(Integer v) { stepNo = v; } public BigDecimal getRelativeTimeSeconds() { return relativeTimeSeconds; } public void setRelativeTimeSeconds(BigDecimal v) { relativeTimeSeconds = v; } public BigDecimal getVoltageV() { return voltageV; } public void setVoltageV(BigDecimal v) { voltageV = v; } public BigDecimal getCurrentA() { return currentA; } public void setCurrentA(BigDecimal v) { currentA = v; } public BigDecimal getChargeCapacityAh() { return chargeCapacityAh; } public void setChargeCapacityAh(BigDecimal v) { chargeCapacityAh = v; } public BigDecimal getDischargeCapacityAh() { return dischargeCapacityAh; } public void setDischargeCapacityAh(BigDecimal v) { dischargeCapacityAh = v; } public BigDecimal getChargeEnergyWh() { return chargeEnergyWh; } public void setChargeEnergyWh(BigDecimal v) { chargeEnergyWh = v; } public BigDecimal getDischargeEnergyWh() { return dischargeEnergyWh; } public void setDischargeEnergyWh(BigDecimal v) { dischargeEnergyWh = v; } public String getPayloadJson() { return payloadJson; } public void setPayloadJson(String v) { payloadJson = v; } public byte[] getContentSha256() { return contentSha256; } public void setContentSha256(byte[] v) { contentSha256 = v; } public Date getReceivedAtUtc() { return receivedAtUtc; } public void setReceivedAtUtc(Date v) { receivedAtUtc = v; } }