package com.lesingle.creation.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.lesingle.creation.common.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

/**
 * 竞赛结果表实体类
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_biz_contest_result")
public class ContestResult extends BaseEntity {

    /**
     * 赛事 ID
     */
    @TableField("contest_id")
    private Long contestId;

    /**
     * 作品 ID
     */
    @TableField("work_id")
    private Long workId;

    /**
     * 报名 ID
     */
    @TableField("registration_id")
    private Long registrationId;

    /**
     * 团队 ID
     */
    @TableField("team_id")
    private Long teamId;

    /**
     * 奖项等级：first/second/third/excellent
     */
    @TableField("award_level")
    private String awardLevel;

    /**
     * 奖项名称
     */
    @TableField("award_name")
    private String awardName;

    /**
     * 排名
     */
    @TableField("rank")
    private Integer rank;

    /**
     * 最终得分
     */
    @TableField("final_score")
    private BigDecimal finalScore;

    /**
     * 证书 URL
     */
    @TableField("certificate_url")
    private String certificateUrl;

    /**
     * 发布时间
     */
    @TableField("publish_time")
    private LocalDateTime publishTime;

    /**
     * 是否获奖：1-是，0-否
     */
    @TableField("is_winner")
    private Boolean isWinner;

    /**
     * 总分
     */
    @TableField("total_score")
    private BigDecimal totalScore;

    /**
     * 公开状态
     */
    @TableField("public_state")
    private String publicState;

    /**
     * 描述
     */
    @TableField("description")
    private String description;

    /**
     * 有效状态：1-有效，2-失效
     */
    @TableField("valid_state")
    private Integer validState;
}
