package com.kym.entity.miniapp.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * @author skyline
 * @description 充电订单视图对象
 * @date 2023-10-20 14:50
 */
@Data
@Accessors(chain = true)
public class ChargeOrderVo {

    private Long userId;

    private String stationId;

    private String stationName;

    /**
     * 充电订单号（EN+）
     */
    private String startChargeSeq;

    /**
     * 充电设备接口编码（EN+）
     */
    private String connectorId;

    /**
     * 是否为预约订单：0-否 1-是
     */
    private Integer isBooking;

    /**
     * 充电开始时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;

    /**
     * 充电结束时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;

    /**
     * 累积充电量（度）
     */
    private Double totalPower;

    /**
     * 累积总金额（元）
     */
    private Integer totalMoney;

    /**
     * 累积电费（元）
     */
    private Integer elecMoney;

    /**
     * 累积服务费（元）
     */
    private Integer serviceMoney;

    /**
     * 实付金额（分）
     */
    private Integer payAmount;

    /**
     * 优惠金额（分）
     */
    private Integer discountAmount;

    /**
     * 服务费优惠抵扣金额（分）
     */
    private Integer serviceMoneyDiscount;

    /**
     * 实付服务费金额（分）
     */
    private Integer payServiceAmount;

    /**
     * 优惠描述
     */
    private String rightsDesc;

    /**
     * 充电状态：1：启动中 2：充电中 3：停止中 4：已结束 5：未知
     */
    private Integer chargeStatus;

    /**
     * 发票状态：0：未开票 1：已开票
     */
    private Integer invoiceStatus;

    /**
     * 发票id
     */
    private Integer invoiceId;

    private String discountType;

}
