package com.jsowell.thirdparty.domain; import com.alibaba.fastjson2.annotation.JSONField; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.math.BigDecimal; import java.util.List; /** * 订单信息 */ @Builder @AllArgsConstructor @NoArgsConstructor @Data public class OrderInfo { /** * 对接平台ID Y * 组织机构代码 */ @JSONField(name = "OperatorID") private String operatorID; /** * 设备所属运营商ID Y * 设备所属运营商组织机构代码 */ @JSONField(name = "EquipmentOwnerID") private String equipmentOwnerID; /** * 充电站ID Y * 对接平台自定义的唯一编码 */ @JSONField(name = "StationID") private String stationID; /** * 设备编码 Y * 设备唯一编码,对同一对接平台,保证唯一 */ @JSONField(name = "EquipmentID") private String equipmentID; /** * 充电设备接口编码 Y * 充电设备接口编码,同一对接平台内唯一 */ @JSONField(name = "ConnectorID") private String connectorID; /** * 充电订单号 Y * 对接平台系统订单编号 */ @JSONField(name = "StartChargeSeq") private String startChargeSeq; /** * 用户发起充电类型 Y * 1:本平台注册用户 * 2:卡用户 * 3:互联互通用户 * 10:其他 */ @JSONField(name = "UserChargeType") private Integer userChargeType; /** * 用户手机号 N * 若用户发起充电类型为 APP,用户手机号必填 */ @JSONField(name = "MobileNumber") private String mobileNumber; /** * 本次充电消费总金额(单位:元,保留小数点后2位) Y */ @JSONField(name = "Money") private BigDecimal money; /** * 本次充电电费总金额(单位:元,保留小数点后2位) Y */ @JSONField(name = "ElectMoney") private BigDecimal electMoney; /** * 本次充电服务费金额(单位:元,保留小数点后2位) Y */ @JSONField(name = "ServiceMoney") private BigDecimal serviceMoney; /** * 本次充电电量 Y * 单位kWh,精度0.01,保留小数点后2位 */ @JSONField(name = "Elect") private BigDecimal elect; /** * 本次充电开始时间 Y * 格式“yyyy-MM-dd HH:mm:ss” */ @JSONField(name = "StartTime") private String startTime; /** * 本次充电结束时间 Y * 格式“yyyy-MM-dd HH:mm:ss” */ @JSONField(name = "EndTime") private String endTime; /** * 支付金额 Y */ @JSONField(name = "PaymentAmount") private BigDecimal paymentAmount; /** * 支付时间 N */ @JSONField(name = "PayTime") private String payTime; /** * 支付方式 Y * 1:支付宝 * 2:微信支付 * 3:交通卡 * 4:预充卡 * 5:银联 * 6:其他自定义 */ @JSONField(name = "PayChannel") private Integer payChannel; /** * 优惠信息描述 N * 描述支付的相关优惠信息,如优惠券,折扣等 */ @JSONField(name = "DiscountInfo") private String discountInfo; /** * 充电结束原因 Y * 0:用户手动停止充电 * 1:客户归属地运营商平台停止充电 * 2:BMS停止充电 * 3:充电机设备故障 * 4:连接器断开 * 5-99自定义 */ @JSONField(name = "StopReason") private Integer stopReason; /** * 时段数N,范围:0~32 N */ @JSONField(name = "SumPeriod") private Integer sumPeriod; /** * 充电明细信息 Y */ @JSONField(name = "ChargeDetails") private List chargeDetails; }