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

import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;

import java.math.BigDecimal;

/**
 * 对应数据库表(student_statistics):
 */
public class StudentStatistics {

	@ApiModelProperty(value = "主键",required = false)
	private Integer id;
	
	@ApiModelProperty(value = "学员编号",required = false)
	private Integer userId;
	
	@ApiModelProperty(value = "指导老师编号（最近一节已结束课程上的老师）",required = false)
	private Integer teacherId;
	
	@ApiModelProperty(value = "指导老师",required = false)
	private String teacherName;
	
	/** 乐团主管（最近一节已结束课程的课程组老师） */
	@ApiModelProperty(value = "乐团主管",required = false)
	private Integer musicDirectorId;

	@ApiModelProperty(value = "乐团主管",required = false)
	/** 乐团主管（最近一节已结束课程的课程组老师） */
	private String musicDirectorName;

	@ApiModelProperty(value = "总课时",required = false)
	/** 总课时（课时总数） */
	private Integer totalCourseNum;

	@ApiModelProperty(value = "已完成课时",required = false)
	/** 已完成课时（已结束课时数） */
	private Integer overCourseNum;

	@ApiModelProperty(value = "剩余课时",required = false)
	/** 剩余课时（未开始课时数） */
	private Integer subCourseNum;

	@ApiModelProperty(value = "未排课时",required = false)
	/** 未排课时（未排课时总数） */
	private Integer noScheduleNum;

	@ApiModelProperty(value = "第一次课时间",required = false)
	/** 第一次课时间 */
	private String firstCourseTime;

	@ApiModelProperty(value = "最近一次上课时间",required = false)
	/** 最近一次上课时间 */
	private String lastCourseTime;

	@ApiModelProperty(value = "最近30天课耗",required = false)
	/** 最近30天课耗（已结束的课程数量） */
	private Integer latelyCourseConsumer;

	@ApiModelProperty(value = "最近1年课耗",required = false)
	/** 最近1年课耗（已结束的课程数量） */
	private Integer latelyYearCourseConsumer;

	@ApiModelProperty(value = "回访次数",required = false)
	/** 回访次数 */
	private Integer visitNum;

	@ApiModelProperty(value = "最近一次回访状态",required = false)
	/** 最近一次回访状态 */
	private String lastVisitStatus;

	@ApiModelProperty(value = "最近一次回访原因",required = false)
	/** 最近一次回访原因 */
	private String visitReason;

	@ApiModelProperty(value = "最近一次回访时间",required = false)
	/** 最近一次回访时间 */
	private String lastVisitTime;

	@ApiModelProperty(value = "预收款(未开始课程价值总和)",required = false)
	/** 预收款(未开始课程价值总和) */
	private java.math.BigDecimal notStartCourseFee;

	@ApiModelProperty(value = "预收款(未排课 价值总和)",required = false)
	/** 预收款(未排课 价值总和) */
	private java.math.BigDecimal noCourseFee;

	@ApiModelProperty(value = "预收款(总金额)",required = false)
	/** 预收款(总金额) */
	private java.math.BigDecimal preCourseFee;

	@ApiModelProperty(value = "首次付费订单时间",required = false)
	/** 首次付费订单时间 */
	private String firstOrderTime;

	@ApiModelProperty(value = "最近一次付费订单时间",required = false)
	private String lastOrderTime;

	@ApiModelProperty(value = "付费订单总数",required = false)
	private Integer orderNum;

	@ApiModelProperty(value = "课程组类型（VIP,THEORY,PRACTICE）",required = false)
	private String groupType;

	public BigDecimal getPreCourseFee() {
		return preCourseFee;
	}

	public void setPreCourseFee(BigDecimal preCourseFee) {
		this.preCourseFee = preCourseFee;
	}

	public Integer getLatelyYearCourseConsumer() {
		return latelyYearCourseConsumer;
	}

	public void setLatelyYearCourseConsumer(Integer latelyYearCourseConsumer) {
		this.latelyYearCourseConsumer = latelyYearCourseConsumer;
	}

	public void setId(Integer id){
		this.id = id;
	}
	
	public Integer getId(){
		return this.id;
	}
			
	public void setUserId(Integer userId){
		this.userId = userId;
	}
	
	public Integer getUserId(){
		return this.userId;
	}
			
	public void setTeacherId(Integer teacherId){
		this.teacherId = teacherId;
	}
	
	public Integer getTeacherId(){
		return this.teacherId;
	}
			
	public void setTeacherName(String teacherName){
		this.teacherName = teacherName;
	}
	
	public String getTeacherName(){
		return this.teacherName;
	}
			
	public void setMusicDirectorId(Integer musicDirectorId){
		this.musicDirectorId = musicDirectorId;
	}
	
	public Integer getMusicDirectorId(){
		return this.musicDirectorId;
	}
			
	public void setMusicDirectorName(String musicDirectorName){
		this.musicDirectorName = musicDirectorName;
	}
	
	public String getMusicDirectorName(){
		return this.musicDirectorName;
	}
			
	public void setTotalCourseNum(Integer totalCourseNum){
		this.totalCourseNum = totalCourseNum;
	}
	
	public Integer getTotalCourseNum(){
		return this.totalCourseNum;
	}
			
	public void setOverCourseNum(Integer overCourseNum){
		this.overCourseNum = overCourseNum;
	}
	
	public Integer getOverCourseNum(){
		return this.overCourseNum;
	}
			
	public void setSubCourseNum(Integer subCourseNum){
		this.subCourseNum = subCourseNum;
	}
	
	public Integer getSubCourseNum(){
		return this.subCourseNum;
	}
			
	public void setNoScheduleNum(Integer noScheduleNum){
		this.noScheduleNum = noScheduleNum;
	}
	
	public Integer getNoScheduleNum(){
		return this.noScheduleNum;
	}
			
	public void setFirstCourseTime(String firstCourseTime){
		this.firstCourseTime = firstCourseTime;
	}
	
	public String getFirstCourseTime(){
		return this.firstCourseTime;
	}
			
	public void setLastCourseTime(String lastCourseTime){
		this.lastCourseTime = lastCourseTime;
	}
	
	public String getLastCourseTime(){
		return this.lastCourseTime;
	}
			
	public void setLatelyCourseConsumer(Integer latelyCourseConsumer){
		this.latelyCourseConsumer = latelyCourseConsumer;
	}
	
	public Integer getLatelyCourseConsumer(){
		return this.latelyCourseConsumer;
	}
			
	public void setVisitNum(Integer visitNum){
		this.visitNum = visitNum;
	}
	
	public Integer getVisitNum(){
		return this.visitNum;
	}
			
	public void setLastVisitStatus(String lastVisitStatus){
		this.lastVisitStatus = lastVisitStatus;
	}
	
	public String getLastVisitStatus(){
		return this.lastVisitStatus;
	}
			
	public void setVisitReason(String visitReason){
		this.visitReason = visitReason;
	}
	
	public String getVisitReason(){
		return this.visitReason;
	}
			
	public void setLastVisitTime(String lastVisitTime){
		this.lastVisitTime = lastVisitTime;
	}
	
	public String getLastVisitTime(){
		return this.lastVisitTime;
	}

	public BigDecimal getNotStartCourseFee() {
		return notStartCourseFee;
	}

	public void setNotStartCourseFee(BigDecimal notStartCourseFee) {
		this.notStartCourseFee = notStartCourseFee;
	}

	public BigDecimal getNoCourseFee() {
		return noCourseFee;
	}

	public void setNoCourseFee(BigDecimal noCourseFee) {
		this.noCourseFee = noCourseFee;
	}

	public void setFirstOrderTime(String firstOrderTime){
		this.firstOrderTime = firstOrderTime;
	}
	
	public String getFirstOrderTime(){
		return this.firstOrderTime;
	}
			
	public void setLastOrderTime(String lastOrderTime){
		this.lastOrderTime = lastOrderTime;
	}
	
	public String getLastOrderTime(){
		return this.lastOrderTime;
	}
			
	public void setOrderNum(Integer orderNum){
		this.orderNum = orderNum;
	}
	
	public Integer getOrderNum(){
		return this.orderNum;
	}
			
	public void setGroupType(String groupType){
		this.groupType = groupType;
	}
	
	public String getGroupType(){
		return this.groupType;
	}
			
	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
