package com.zsElectric.boot.charging.vo; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; import java.math.BigDecimal; import java.util.List; @Data @Accessors(chain = true) @Schema(description = "推送充电状态响应VO") @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE) public class EquipChargeStatusResponseVO { @Schema(description = "充电订单号,27位", example = "123456789201805071630123456", required = true) @JsonProperty("StartChargeSeq") private String StartChargeSeq; @Schema(description = "订单状态(1-启动中,2-启动成功,3-启动失败,4-结束)", example = "2", allowableValues = {"1", "2", "3", "4"}, required = true) @JsonProperty("StartChargeSeqStat") private Integer StartChargeSeqStat; @Schema(description = "充电设备接口编码", example = "3702120244102_1", required = true) @JsonProperty("ConnectorID") private String ConnectorID; @Schema(description = "设备接口状态(0-离网,1-空闲,2-占用(未充电),3-占用(充电中),4-占用(预约锁定),255-故障)", example = "3", allowableValues = {"0", "1", "2", "3", "4", "255"}, required = true) @JsonProperty("ConnectorStatus") private Integer ConnectorStatus; @Schema(description = "A相电流,单位:A", example = "15.5", required = true) @JsonProperty("CurrentA") private BigDecimal CurrentA; @Schema(description = "A相电压,单位:V", example = "220.0", required = true) @JsonProperty("VoltageA") private BigDecimal VoltageA; @Schema(description = "荷电状态,0-100", example = "80", required = true) @JsonProperty("Soc") private Integer Soc; @Schema(description = "累计充电电量,单位:kWh", example = "25.68", required = true) @JsonProperty("TotalPower") private BigDecimal TotalPower; @Schema(description = "电费,单位:元", example = "15.80", required = true) @JsonProperty("ElecMoney") private BigDecimal ElecMoney; @Schema(description = "服务费,单位:元", example = "3.20", required = true) @JsonProperty("SeviceMoney") private BigDecimal SeviceMoney; @Schema(description = "总金额,单位:元", example = "19.00", required = true) @JsonProperty("TotalMoney") private BigDecimal TotalMoney; @Schema(description = "充电明细信息体列表", required = true) @JsonProperty("ChargeDetails") private List ChargeDetails; @Data @Accessors(chain = true) @Schema(description = "充电明细信息体") @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE) public static class ChargeDetail { @Schema(description = "开始时间,格式\"yyyy-MM-dd HH:mm:ss\"", example = "2024-01-15 10:30:00", required = true) @JsonProperty("DetailStartTime") private String DetailStartTime; @Schema(description = "结束时间,格式\"yyyy-MM-dd HH:mm:ss\"", example = "2024-01-15 11:30:00", required = true) @JsonProperty("DetailEndTime") private String DetailEndTime; @Schema(description = "时段电价,小数点后2位", example = "0.65") @JsonProperty("ElecPrice") private BigDecimal ElecPrice; @Schema(description = "时段服务费价格,小数点后2位", example = "0.15") @JsonProperty("SevicePrice") private BigDecimal SevicePrice; @Schema(description = "时段充电量,单位:度,小数点后4位", example = "12.3456", required = true) @JsonProperty("DetailPower") private BigDecimal DetailPower; @Schema(description = "时段电费,小数点后2位", example = "8.02") @JsonProperty("DetailElecMoney") private BigDecimal DetailElecMoney; @Schema(description = "时段服务费,小数点后2位", example = "1.85") @JsonProperty("DetailSeviceMoney") private BigDecimal DetailSeviceMoney; } }