package com.zsElectric.boot.business.model.vo.applet;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 小程序实时充电费用VO
 *
 * @author system
 * @since 2025-12-19
 */
@Getter
@Setter
@Schema(description = "小程序实时充电费用VO")
public class AppChargingCostVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "充电订单号")
    private String chargeOrderNo;

    @Schema(description = "充电站名称")
    private String stationName;

    @Schema(description = "充电终端名称")
    private String connectorName;

    @Schema(description = "订单状态：1-启动中,2-充电中,3-停止中,4-已结束,5-未知")
    private Integer orderStatus;

    @Schema(description = "订单状态描述")
    private String orderStatusDesc;

    @Schema(description = "充电时长(秒)")
    private Long chargingDuration;

    @Schema(description = "充电时长描述（如：00:12:35）")
    private String chargingDurationDesc;

    @Schema(description = "累计充电量(度/kWh)")
    private BigDecimal totalPower;

    @Schema(description = "累计电费(元)")
    private BigDecimal elecMoney;

    @Schema(description = "累计服务费(元)")
    private BigDecimal serviceMoney;

    @Schema(description = "累计总金额(元)")
    private BigDecimal totalMoney;

    @Schema(description = "电池剩余电量SOC(%)")
    private Integer soc;

    @Schema(description = "当前电流(A)")
    private BigDecimal current;

    @Schema(description = "当前电压(V)")
    private BigDecimal voltage;

    @Schema(description = "当前功率(kW)")
    private BigDecimal power;

    @Schema(description = "充电开始时间")
    private String startTime;

    @Schema(description = "最后更新时间")
    private String lastUpdateTime;
}
