package com.ym.mec.biz.dal.entity;

import com.ym.mec.biz.dal.enums.KitPurchaseMethodEnum;
import com.ym.mec.biz.dal.enums.YesOrNoEnum;

import io.swagger.annotations.ApiModelProperty;

import org.apache.commons.lang3.builder.ToStringBuilder;

/**
 * 对应数据库表(student_registration):
 */
public class StudentRegistration {

	/**  */
	private Long id;
	
	/**  */
	@ApiModelProperty(value = "学生编号",required = false)
	private Integer userId;

	@ApiModelProperty(value = "学生姓名",required = true)
	private String name;
	
	/** 所属乐团（对应 music_group 表id） */
	@ApiModelProperty(value = "所属乐团（对应 music_group 表id）",required = false)
	private Integer musicGroupId;
	
	/** 当前所在年级 */
	@ApiModelProperty(value = "当前所在年级",required = false)
	private String currentGrade;
	
	/** 当前所在班级 */
	@ApiModelProperty(value = "当前所在班级",required = false)
	private String currentClass;
	
	/** 报名科目 */
	@ApiModelProperty(value = "报名科目",required = true)
	private Integer subjectId;

	/** 报名科目 */
	@ApiModelProperty(value = "实际科目",hidden = true)
	private Integer actualSubjectId;
	
	/** 是否允许调剂 */
	@ApiModelProperty(value = "是否允许调剂",required = false)
	private YesOrNoEnum isAllowAdjust;
	
	/** 器材购买方式（团购、自备） */
	@ApiModelProperty(value = "器材购买方式（团购、自备）",required = false)
	private KitPurchaseMethodEnum kitPurchaseMethod;
	
	/**  */
	@ApiModelProperty(value = "备注",required = false)
	private String remark;
	
	/**  */
	private java.util.Date createTime;
	
	/**  */
	private java.util.Date updateTime;
	
	/** 家长姓名 */
	@ApiModelProperty(value = "家长姓名",required = false)
	private String parentsName;

	/** 家长姓名 */
	@ApiModelProperty(value = "家长电话",required = false)
	private String parentsPhone;
	
	/** 家长单位 */
	@ApiModelProperty(value = "家长单位",required = false)
	private String parentsCompany;
	
	/** 缴费状态（1-已缴费 0-未交费） */
	@ApiModelProperty(value = "缴费状态（1-已缴费 0-未交费）",required = false)
	private YesOrNoEnum paymentStatus;

	@ApiModelProperty(value = "班级id",hidden = true)
	private Integer ClassGroupId;
	
	/** 最后缴费日期 */
	@ApiModelProperty(value = "最后缴费日期",required = false)
	private java.util.Date lastPaymentDate;
	
	/** 预计下次缴费日期 */
	@ApiModelProperty(value = "预计下次缴费日期",required = false)
	private java.util.Date nextPaymentDate;

	public Integer getActualSubjectId() {
		return actualSubjectId;
	}

	public void setActualSubjectId(Integer actualSubjectId) {
		this.actualSubjectId = actualSubjectId;
	}

	public String getParentsPhone() {
		return parentsPhone;
	}

	public void setParentsPhone(String parentsPhone) {
		this.parentsPhone = parentsPhone;
	}

	public void setId(Long id){
		this.id = id;
	}
	
	public Long getId(){
		return this.id;
	}
			
	public void setUserId(Integer userId){
		this.userId = userId;
	}
	
	public Integer getUserId(){
		return this.userId;
	}
			
	public void setMusicGroupId(Integer musicGroupId){
		this.musicGroupId = musicGroupId;
	}
	
	public Integer getMusicGroupId(){
		return this.musicGroupId;
	}
			
	public void setCurrentGrade(String currentGrade){
		this.currentGrade = currentGrade;
	}
	
	public String getCurrentGrade(){
		return this.currentGrade;
	}
			
	public void setCurrentClass(String currentClass){
		this.currentClass = currentClass;
	}
	
	public String getCurrentClass(){
		return this.currentClass;
	}
			
	public void setSubjectId(Integer subjectId){
		this.subjectId = subjectId;
	}
	
	public Integer getSubjectId(){
		return this.subjectId;
	}

	public YesOrNoEnum getIsAllowAdjust() {
		return isAllowAdjust;
	}

	public void setIsAllowAdjust(YesOrNoEnum isAllowAdjust) {
		this.isAllowAdjust = isAllowAdjust;
	}

	public void setPaymentStatus(YesOrNoEnum paymentStatus) {
		this.paymentStatus = paymentStatus;
	}

	public KitPurchaseMethodEnum getKitPurchaseMethod() {
		return kitPurchaseMethod;
	}

	public void setKitPurchaseMethod(KitPurchaseMethodEnum kitPurchaseMethod) {
		this.kitPurchaseMethod = kitPurchaseMethod;
	}

	public void setRemark(String remark){
		this.remark = remark;
	}
	
	public String getRemark(){
		return this.remark;
	}
			
	public void setCreateTime(java.util.Date createTime){
		this.createTime = createTime;
	}
	
	public java.util.Date getCreateTime(){
		return this.createTime;
	}
			
	public void setUpdateTime(java.util.Date updateTime){
		this.updateTime = updateTime;
	}
	
	public java.util.Date getUpdateTime(){
		return this.updateTime;
	}
			
	public void setParentsName(String parentsName){
		this.parentsName = parentsName;
	}
	
	public String getParentsName(){
		return this.parentsName;
	}
			
	public void setParentsCompany(String parentsCompany){
		this.parentsCompany = parentsCompany;
	}
	
	public String getParentsCompany(){
		return this.parentsCompany;
	}

	public YesOrNoEnum getPaymentStatus() {
		return paymentStatus;
	}

	public void setLastPaymentDate(java.util.Date lastPaymentDate){
		this.lastPaymentDate = lastPaymentDate;
	}
	
	public java.util.Date getLastPaymentDate(){
		return this.lastPaymentDate;
	}
			
	public void setNextPaymentDate(java.util.Date nextPaymentDate){
		this.nextPaymentDate = nextPaymentDate;
	}
	
	public java.util.Date getNextPaymentDate(){
		return this.nextPaymentDate;
	}

	public Integer getClassGroupId() {
		return ClassGroupId;
	}

	public void setClassGroupId(Integer classGroupId) {
		ClassGroupId = classGroupId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
			
	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
