package com.yonge.cooleshow.biz.dal.entity;

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 com.yonge.cooleshow.common.enums.ActivityResourceEnum;
import com.yonge.cooleshow.common.enums.HardLevelEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 评测活动表
 */
@TableName("activity_evaluation")
@ApiModel(value = "ActivityEvaluation对象", description = "评测活动表")
public class ActivityEvaluation implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("主键 ")
    @TableId(value = "id_", type = IdType.AUTO)
    private Long id;
    @ApiModelProperty("活动id ")
    @TableField(value = "activity_id_")
    private Long activityId;
    @ApiModelProperty("曲目id ")
    @TableField(value = "music_sheet_id_")
    private Long musicSheetId;

    @ApiModelProperty("评测难度 BEGINNER 入门级 ADVANCED 进阶级 PERFORMER 大师级 ")
    @TableField(value = "evaluation_difficulty_")
    private HardLevelEnum evaluationDifficulty;

    @ApiModelProperty("资源类型 ")
    @TableField(value = "resource_type_")
    private ActivityResourceEnum resourceType;

    @ApiModelProperty("创建时间 ")
    @TableField(value = "create_time_")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;
    @ApiModelProperty("创建人 ")
    @TableField(value = "create_by_")
    private Long createBy;

    public ActivityResourceEnum getResourceType() {
        return resourceType;
    }

    public void setResourceType(ActivityResourceEnum resourceType) {
        this.resourceType = resourceType;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getActivityId() {
        return activityId;
    }

    public void setActivityId(Long activityId) {
        this.activityId = activityId;
    }

    public Long getMusicSheetId() {
        return musicSheetId;
    }

    public void setMusicSheetId(Long musicSheetId) {
        this.musicSheetId = musicSheetId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getCreateBy() {
        return createBy;
    }

    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
    }

    public HardLevelEnum getEvaluationDifficulty() {
        return evaluationDifficulty;
    }

    public void setEvaluationDifficulty(HardLevelEnum evaluationDifficulty) {
        this.evaluationDifficulty = evaluationDifficulty;
    }
}