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.LocalDateTime;

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

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    @TableField("event_id")
    private String eventId;
    @TableField("event_name")
    private String eventName;
    @TableField("response_type")
    private Integer responseType;
    @TableField("event_type")
    private Integer eventType;
    @TableField("start_time")
    private LocalDateTime startTime;
    @TableField("end_time")
    private LocalDateTime endTime;
    /** 申报截止时间 */
    @TableField("declare_deadline")
    private LocalDateTime declareDeadline;
    /** 邀约范围 */
    @TableField("invite_scope")
    private String inviteScope;
    /** 邀约规模 kW */
    @TableField("target_capacity_kw")
    private BigDecimal targetCapacityKw;
    /** 出清规模 kW */
    @TableField("cleared_capacity_kw")
    private BigDecimal clearedCapacityKw;
    /** 备注 */
    private String remark;
    /** 附件 URL */
    @TableField("attachment_url")
    private String attachmentUrl;
    /** 附件名称 */
    @TableField("attachment_name")
    private String attachmentName;
    @TableField("subsidy_price")
    private BigDecimal subsidyPrice;
    /** 下浮系数（必填） */
    @TableField("floating_coefficient")
    private BigDecimal floatingCoefficient;
    /** 0待参与 1已申报 2申报完成 3执行中 4已结束 5已取消 */
    @TableField("event_status")
    private Integer eventStatus;
    @TableField("raw_payload")
    private String rawPayload;
    @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;
}
