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

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;
import java.util.List;

/**
 * 小程序电站价格列表VO
 *
 * @author system
 * @since 2025-12-18
 */
@Getter
@Setter
@Schema(description = "小程序电站价格列表VO")
public class AppletStationPriceListVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "站点ID")
    private Long stationId;

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

    @Schema(description = "价格列表")
    private List<PriceItemVO> priceList;

    /**
     * 时段价格信息
     */
    @Getter
    @Setter
    @Schema(description = "时段价格信息")
    public static class PriceItemVO implements Serializable {

        @Serial
        private static final long serialVersionUID = 1L;

        @Schema(description = "时段（如：00:00-08:00）")
        private String timePeriod;

        @Schema(description = "时段标志(1-尖,2-峰,3-平,4-谷)")
        private Integer periodFlag;

        @Schema(description = "时段标志名称（尖/峰/平/谷）")
        private String periodFlagName;

        @Schema(description = "电费（元/度）")
        private BigDecimal elecPrice;

        @Schema(description = "服务费（元/度）")
        private BigDecimal servicePrice;

        @Schema(description = "合计充电价（元/度）= 电费 + 服务费")
        private BigDecimal totalPrice;

        @Schema(description = "是否当前时段")
        private Boolean currentPeriod;
    }
}
