package com.usky.vpp.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * vpp_dr_invitation
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("vpp_dr_invitation")
public class VppDrInvitation implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    @TableField("invitation_no")
    private String invitationNo;
    @TableField("dr_event_id")
    private Long drEventId;
    @TableField("customer_id")
    private Long customerId;
    @TableField("site_id")
    private Long siteId;
    @TableField("execute_start_date")
    private LocalDate executeStartDate;
    @TableField("execute_end_date")
    private LocalDate executeEndDate;
    @TableField("reply_deadline")
    private LocalDateTime replyDeadline;
    @TableField("issue_time")
    private LocalDateTime issueTime;
    @TableField("transaction_type")
    private Integer transactionType;
    @TableField("response_type")
    private Integer responseType;
    @TableField("demand_capacity_kw")
    private BigDecimal demandCapacityKw;
    /** 申报出清容量 kW */
    @TableField("declared_capacity_kw")
    private BigDecimal declaredCapacityKw;
    /** 实际出清 kW（电网审核通过） */
    @TableField("actual_cleared_capacity_kw")
    private BigDecimal actualClearedCapacityKw;
    /** 预估响应容量 kW（响应完成后本平台评估） */
    @TableField("estimated_response_capacity_kw")
    private BigDecimal estimatedResponseCapacityKw;
    /**
     * 预估完成率 = 预估响应容量 / 实际出清；展示时 ×100%
     */
    @TableField("estimated_completion_rate")
    private BigDecimal estimatedCompletionRate;
    /** 实际响应容量 kW（电网评估最终结果） */
    @TableField("actual_response_capacity_kw")
    private BigDecimal actualResponseCapacityKw;
    /**
     * 响应完成率 = 实际响应容量 / 实际出清；展示时 ×100%
     */
    @TableField("response_completion_rate")
    private BigDecimal responseCompletionRate;
    /** 是否中标 0否 1是（单选，集中标记） */
    @TableField("is_winning_bid")
    private Integer isWinningBid;
    @TableField("reply_status")
    private Integer replyStatus;
    /** 0待参与 1已申报 2申报完成 3执行中 4已结束 5已取消 */
    @TableField("response_status")
    private Integer responseStatus;
    @TableField("sms_notify_status")
    private Integer smsNotifyStatus;
    @TableField("sms_notify_at")
    private LocalDateTime smsNotifyAt;
    @TableField("sms_contact_id")
    private Long smsContactId;
    @TableField("participation_id")
    private Long participationId;
    private String remark;
    @TableField("tenant_id")
    private Integer tenantId;
    @TableField("create_time")
    private LocalDateTime createTime;
    @TableField("update_time")
    private LocalDateTime updateTime;
    @TableField("created_by")
    private String createdBy;
    @TableField("updated_by")
    private String updatedBy;
    @TableField("delete_flag")
    private Integer deleteFlag;
    @TableField("deleted_at")
    private LocalDateTime deletedAt;
}
