package com.ho.business.vo.req;

import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.Digits;
import java.math.BigDecimal;

/**
 * @author gyan
 * @desc: 工商业储能入参
 * @DateTime: 2022/11/29 11:33
 */
@Getter
@Setter
@ToString
public class IndustryCommerceValueReqVo {

    @ApiModelProperty(value = "id",hidden = true)
    private Integer id;

    @ApiModelProperty(value = "userId",hidden = true)
    private String userId;

    @ApiModelProperty(value = "groupId",hidden = true)
    private Integer groupId;

    @ApiModelProperty(value = "deptId",hidden = true)
    private Integer deptId;

    /**
     * 峰值电价(元)
     */
    @Digits(integer = 3, fraction = 6,message = "电价限定整数部分最多为3位，小数部分最多为6位")//校验数值型，限定整数部分最多3位，小数部分最多6位
    @ApiModelProperty(value = "峰值电价(元)")
    private BigDecimal peakPrice;

    /**
     * 平值电价(元)
     */
    @Digits(integer = 3, fraction = 6,message = "电价限定整数部分最多为3位，小数部分最多为6位")
    @ApiModelProperty(value = "平值电价(元)")
    private BigDecimal agePrice;

    /**
     * 峰谷差价(元)
     */
    @Digits(integer = 3, fraction = 6,message = "电价限定整数部分最多为3位，小数部分最多为6位")
    @ApiModelProperty(value = "峰谷差价(元)")
    private BigDecimal differencePrice;

    /**
     * 峰平电价(元)
     */
    @Digits(integer = 3, fraction = 6,message = "电价限定整数部分最多为3位，小数部分最多为6位")
    @ApiModelProperty(value = "峰平电价(元)")
    private BigDecimal flatPrice;

    /**
     * 千瓦时成本(元/Wh)
     */
    @DecimalMax(value ="10000000000" ,message = "成本最多为11位")
    @ApiModelProperty(value = "千瓦时成本(元/Wh)")
    private BigDecimal kwhCost;

    /**
     * 储能定增容量(元/kWh)
     */
    @DecimalMax(value ="10000000000" ,message = "成本最多为11位")
    @ApiModelProperty(value = "储能定增容量(元/kWh)")
    private BigDecimal increaseCapacity;

    /**
     * 储能额定输出功率(kw)
     */
    @DecimalMax(value ="10000000000" ,message = "储能额定输出功率最多为11位")
    @ApiModelProperty(value = "储能额定输出功率(kw)")
    private BigDecimal outputPower;

    /**
     * 初期投资成本
     */
    @DecimalMax(value ="10000000000" ,message = "初期投资成本最多为11位")
    @ApiModelProperty(value = "初期投资成本")
    private BigDecimal initialCost;

    /**
     * 年运行天数
     */
    @DecimalMax(value ="10000000000" ,message = "年运行天数最多为11位")
    @ApiModelProperty(value = "年运行天数")
    private BigDecimal yearRunDays;

    /**
     * 低值电价(元)
     */
    @Digits(integer = 3, fraction = 6,message = "电价限定整数部分最多3位，小数部分最多6位")
    @ApiModelProperty(value = "低值电价(元)")
    private BigDecimal lowPrice;
}
