package com.usky.vpp.service.vo;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 补贴金额预测 请求VO（新增/编辑）。
 * <p>新增时由前端携带试算结果直接入库，服务端不再重算。</p>
 */
@Data
public class DrSubsidyPredictionRequest {

    /** 主键（更新时必传） */
    private Long id;

    /** 邀约ID（可选） */
    private Long invitationId;

    /** 需求响应事件ID（可选） */
    private Long drEventId;

    /** 站点ID（手动选择） */
    private Long siteId;

    /** 企业/客户ID */
    private Long customerId;

    /** 企业名称 */
    private String customerName;

    /** 响应开始时间（手动选择） */
    private LocalDateTime eventStartTime;

    /** 响应结束时间（手动选择） */
    private LocalDateTime eventEndTime;

    /** 补贴标准（元/kWh） */
    private BigDecimal subsidyPrice;

    /** 实际响应量-电网（kW） */
    private BigDecimal actualResponseGridKw;

    /** 实际响应量-平台（kW，手动填写） */
    private BigDecimal actualResponsePlatformKw;

    /** 申报出清量（kW） */
    private BigDecimal declaredClearedKw;

    /**
     * 分成比例（0~1，如 0.8 表示 80%）
     */
    private BigDecimal shareRatio;

    /** 响应时长（分钟，试算结果） */
    private Integer responseDurationMin;

    /** 偏差率（百分比）= (1 − 完成率) × 100 */
    private BigDecimal deviationRate;

    /** 完成率（百分比）= 实际响应容量（电网） / 实际出清 × 100 */
    private BigDecimal completionRate;

    /** 价格调整系数（试算结果） */
    private BigDecimal priceAdjustmentCoefficient;

    /** 预估补贴金额（试算结果） */
    private BigDecimal estimatedSubsidyAmount;
}
