package org.xyzh.common.dto.usercenter;

import org.xyzh.common.dto.BaseDTO;

/**
 * @description 成就表
 * @filename TbAchievement.java
 * @author yslg
 * @copyright xyzh
 * @since 2025-10-15
 */
public class TbAchievement extends BaseDTO {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * @description 成就唯一标识
     */
    private String achievementID;
    
    /**
     * @description 成就名称
     */
    private String name;
    
    /**
     * @description 成就描述
     */
    private String description;
    
    /**
     * @description 成就图标
     */
    private String icon;
    
    /**
     * @description 成就类型（1勋章 2等级）
     */
    private Integer type;
    
    /**
     * @description 成就等级
     */
    private Integer level;
    
    /**
     * @description 获取条件类型（1学习时长 2资源数量 3课程数量 4连续学习天数）
     */
    private Integer conditionType;
    
    /**
     * @description 条件值
     */
    private Integer conditionValue;
    
    /**
     * @description 获得积分
     */
    private Integer points;
    
    /**
     * @description 排序号
     */
    private Integer orderNum;
    
    /**
     * @description 创建者
     */
    private String creator;
    
    /**
     * @description 更新者
     */
    private String updater;

    public String getAchievementID() {
        return achievementID;
    }

    public void setAchievementID(String achievementID) {
        this.achievementID = achievementID;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Integer getConditionType() {
        return conditionType;
    }

    public void setConditionType(Integer conditionType) {
        this.conditionType = conditionType;
    }

    public Integer getConditionValue() {
        return conditionValue;
    }

    public void setConditionValue(Integer conditionValue) {
        this.conditionValue = conditionValue;
    }

    public Integer getPoints() {
        return points;
    }

    public void setPoints(Integer points) {
        this.points = points;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public String getUpdater() {
        return updater;
    }

    public void setUpdater(String updater) {
        this.updater = updater;
    }

    @Override
    public String toString() {
        return "TbAchievement{" +
                "id=" + getID() +
                ", achievementID='" + achievementID + '\'' +
                ", name='" + name + '\'' +
                ", type=" + type +
                ", level=" + level +
                ", conditionType=" + conditionType +
                ", conditionValue=" + conditionValue +
                ", points=" + points +
                ", createTime=" + getCreateTime() +
                '}';
    }
}
