package com.qxgmat.data.dao.entity;

import java.io.Serializable;
import javax.persistence.*;

@Table(name = "rank")
public class Rank implements Serializable {
    @Id
    @Column(name = "`id`")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    /**
     * 总分
     */
    @Column(name = "`total_score`")
    private Integer totalScore;

    /**
     * 总排行
     */
    @Column(name = "`total_rank`")
    private String totalRank;

    /**
     * quant分数
     */
    @Column(name = "`quant_score`")
    private Integer quantScore;

    /**
     * quant排行
     */
    @Column(name = "`quant_rank`")
    private String quantRank;

    /**
     * verbal分数
     */
    @Column(name = "`verbal_score`")
    private Integer verbalScore;

    /**
     * verbal排行
     */
    @Column(name = "`verbal_rank`")
    private String verbalRank;

    private static final long serialVersionUID = 1L;

    /**
     * @return id
     */
    public Integer getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取总分
     *
     * @return total_score - 总分
     */
    public Integer getTotalScore() {
        return totalScore;
    }

    /**
     * 设置总分
     *
     * @param totalScore 总分
     */
    public void setTotalScore(Integer totalScore) {
        this.totalScore = totalScore;
    }

    /**
     * 获取总排行
     *
     * @return total_rank - 总排行
     */
    public String getTotalRank() {
        return totalRank;
    }

    /**
     * 设置总排行
     *
     * @param totalRank 总排行
     */
    public void setTotalRank(String totalRank) {
        this.totalRank = totalRank;
    }

    /**
     * 获取quant分数
     *
     * @return quant_score - quant分数
     */
    public Integer getQuantScore() {
        return quantScore;
    }

    /**
     * 设置quant分数
     *
     * @param quantScore quant分数
     */
    public void setQuantScore(Integer quantScore) {
        this.quantScore = quantScore;
    }

    /**
     * 获取quant排行
     *
     * @return quant_rank - quant排行
     */
    public String getQuantRank() {
        return quantRank;
    }

    /**
     * 设置quant排行
     *
     * @param quantRank quant排行
     */
    public void setQuantRank(String quantRank) {
        this.quantRank = quantRank;
    }

    /**
     * 获取verbal分数
     *
     * @return verbal_score - verbal分数
     */
    public Integer getVerbalScore() {
        return verbalScore;
    }

    /**
     * 设置verbal分数
     *
     * @param verbalScore verbal分数
     */
    public void setVerbalScore(Integer verbalScore) {
        this.verbalScore = verbalScore;
    }

    /**
     * 获取verbal排行
     *
     * @return verbal_rank - verbal排行
     */
    public String getVerbalRank() {
        return verbalRank;
    }

    /**
     * 设置verbal排行
     *
     * @param verbalRank verbal排行
     */
    public void setVerbalRank(String verbalRank) {
        this.verbalRank = verbalRank;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", totalScore=").append(totalScore);
        sb.append(", totalRank=").append(totalRank);
        sb.append(", quantScore=").append(quantScore);
        sb.append(", quantRank=").append(quantRank);
        sb.append(", verbalScore=").append(verbalScore);
        sb.append(", verbalRank=").append(verbalRank);
        sb.append("]");
        return sb.toString();
    }

    public static Rank.Builder builder() {
        return new Rank.Builder();
    }

    public static class Builder {
        private Rank obj;

        public Builder() {
            this.obj = new Rank();
        }

        /**
         * @param id
         */
        public Builder id(Integer id) {
            obj.setId(id);
            return this;
        }

        /**
         * 设置总分
         *
         * @param totalScore 总分
         */
        public Builder totalScore(Integer totalScore) {
            obj.setTotalScore(totalScore);
            return this;
        }

        /**
         * 设置总排行
         *
         * @param totalRank 总排行
         */
        public Builder totalRank(String totalRank) {
            obj.setTotalRank(totalRank);
            return this;
        }

        /**
         * 设置quant分数
         *
         * @param quantScore quant分数
         */
        public Builder quantScore(Integer quantScore) {
            obj.setQuantScore(quantScore);
            return this;
        }

        /**
         * 设置quant排行
         *
         * @param quantRank quant排行
         */
        public Builder quantRank(String quantRank) {
            obj.setQuantRank(quantRank);
            return this;
        }

        /**
         * 设置verbal分数
         *
         * @param verbalScore verbal分数
         */
        public Builder verbalScore(Integer verbalScore) {
            obj.setVerbalScore(verbalScore);
            return this;
        }

        /**
         * 设置verbal排行
         *
         * @param verbalRank verbal排行
         */
        public Builder verbalRank(String verbalRank) {
            obj.setVerbalRank(verbalRank);
            return this;
        }

        public Rank build() {
            return this.obj;
        }
    }
}