package com.yuchen.saas.parking.charge.api.vo.charge;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;


/**
 * @Author 蔡文强
 * @Date 2023/4/13 15:56
 * @Description 充电停车费规则VO
 */
@Data
@ApiModel
public class SpcStationParkingFeeRuleVO {

    /**
     * 充电站ID
     */
    @ApiModelProperty(name = "stationId", value = "充电站ID")
    @NotNull(message = "stationId不能为null!")
    private Long stationId;
    /**
     * 收费类型(1:限时免费 2:充电限免 3:停车收费 4:停车免费)
     */
    @ApiModelProperty(name = "feeType", value = "收费类型(1:限时免费 2:充电限免 3:停车收费 4:停车免费)")
    @Min(value = 1, message = "feeType值要大于等于1")
    @Max(value = 4, message = "feeType值要小于等于4")
    private Integer feeType;
    /**
     * 免费时间段,json字符串
     */
    @ApiModelProperty(name = "freeTimePeriod", value = "免费时间段,json字符串")
    private String freeTimePeriod;
    /**
     * 收费方式(1:统一收费 2:按时段收费)
     */
    @ApiModelProperty(name = "chargeType", value = "收费方式(1:统一收费 2:按时段收费)")
    @Min(value = 1, message = "chargeType值要大于等于1")
    @Max(value = 2, message = "chargeType值要小于等于2")
    private Integer chargeType;
    /**
     * 收费时间段及对应收费标准(按时段方式),json字符串
     */
    @ApiModelProperty(name = "chargeTimePeriod", value = "收费时间段及对应收费标准(按时段方式),json字符串")
    private String chargeTimePeriod;
    /**
     * 收费标准(统一收费方式)--单位分
     */
    @ApiModelProperty(name = "chargeStandard", value = "收费标准(统一收费方式)--单位分")
    private Integer chargeStandard;

}