package com.jsowell.pile.domain.nanrui;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * 订单信息
 *
 * @author Lemon
 * @Date 2023/9/25 14:33
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class NROrderInfo {
    /**
     * 运营商 ID
     * 统一社会信用代码
     */
    @JSONField(name = "OperatorID")
    private String operatorId;

    /**
     * 充电设备接口编码
     */
    @JSONField(name = "ConnectorID")
    private String connectorId;

    /**
     * 充电业务编号
     */
    @JSONField(name = "StartChargeSeq")
    private String startChargeSeq;

    /**
     * 用户发起充电类型
     * 1:充电运营商平台注册用户
     * 2:监管平台注册用户
     * 3:其他
     */
    @JSONField(name = "UserChargeType")
    private Integer userChargeType;

    /**
     * 本次充电电量
     * 单位 kWh，精度 0.001，
     * 如果不设置峰谷电价，平电量等于本次充电电量，其他分电量为零
     */
    @JSONField(name = "Elect")
    private BigDecimal elect;

    /**
     * 尖阶段电量
     * 单位 kWh，精度 0.001
     */
    @JSONField(name = "CuspElect")
    private BigDecimal cuspElect;

    /**
     * 峰阶段电量
     * 单位 kWh，精度 0.001
     */
    @JSONField(name = "PeakElect")
    private BigDecimal peakElect;

    /**
     * 平阶段电量
     * 单位 kWh，精度 0.001
     */
    @JSONField(name = "FlatElect")
    private BigDecimal flatElect;

    /**
     * 谷阶段电量
     * 单位 kWh，精度 0.001
     */
    @JSONField(name = "ValleyElect")
    private BigDecimal valleyElect;

    /**
     * 本次充电开始时间
     * yyyy-MM-dd HH:mm:ss
     */
    @JSONField(name = "StartTime")
    private String startTime;

    /**
     * 本次充电结束时间
     * yyyy-MM-dd HH:mm:ss
     *
     */
    @JSONField(name = "EndTime")
    private String endTime;

    /**
     * 电表总起值
     * 单位 kWh，精度 0.001
     */
    @JSONField(name = "MeterValueStart")
    private BigDecimal meterValueStart;

    /**
     * 电表总止值
     * 单位 kWh，精度 0.001
     */
    @JSONField(name = "MeterValueEnd")
    private BigDecimal meterValueEnd;
}
