package com.ym.mec.education.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.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * vip课
 * </p>
 *
 * @author lemeng
 * @since 2019-09-25
 */
@TableName("vip_group")
public class VipGroup extends Model<VipGroup> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id_", type = IdType.AUTO)
    private Long id;
    @TableField("user_id_")
    private Integer userId;
    /**
     * 单节课时
     */
    @TableField("single_class_minutes_")
    private Integer singleClassMinutes;
    /**
     * 缴费截止时间
     */
    @TableField("payment_expire_date_")
    private Date paymentExpireDate;
    /**
     * 课程结束日期
     */
    @TableField("courses_expire_date_")
    private Date coursesExpireDate;
    @TableField("create_time_")
    private Date createTime;
    @TableField("update_time_")
    private Date updateTime;
    /**
     * 教学点
     */
    @TableField("teacher_school_id_")
    private Long teacherSchoolId;
    /**
     * 线上课课时数
     */
    @TableField("online_classes_num_")
    private Integer onlineClassesNum;
    /**
     * 线下课课时数
     */
    @TableField("offline_classes_num_")
    private Integer offlineClassesNum;
    /**
     * 开启报名时间
     */
    @TableField("registration_start_time_")
    private Date registrationStartTime;
    @TableField("name_")
    private String name;
    /**
     * 课程类型
     */
    @TableField("vip_group_category_id_")
    private Integer vipGroupCategoryId;

    /**
     * 审核状态
     */
    @TableField("audit_status_")
    private String auditStatus;
    /**
     * 所属分部列表
     */
    @TableField("organ_id_list_")
    private String organIdList;


    public Long getId() {
        return id;
    }

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

    public Integer getUserId() {
        return userId;
    }

    public VipGroup setUserId(Integer userId) {
        this.userId = userId;
        return this;
    }

    public Integer getSingleClassMinutes() {
        return singleClassMinutes;
    }

    public VipGroup setSingleClassMinutes(Integer singleClassMinutes) {
        this.singleClassMinutes = singleClassMinutes;
        return this;
    }

    public Date getPaymentExpireDate() {
        return paymentExpireDate;
    }

    public VipGroup setPaymentExpireDate(Date paymentExpireDate) {
        this.paymentExpireDate = paymentExpireDate;
        return this;
    }

    public Date getCoursesExpireDate() {
        return coursesExpireDate;
    }

    public VipGroup setCoursesExpireDate(Date coursesExpireDate) {
        this.coursesExpireDate = coursesExpireDate;
        return this;
    }

    public Date getCreateTime() {
        return createTime;
    }

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

    public Date getUpdateTime() {
        return updateTime;
    }

    public VipGroup setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
        return this;
    }

    public Long getTeacherSchoolId() {
        return teacherSchoolId;
    }

    public VipGroup setTeacherSchoolId(Long teacherSchoolId) {
        this.teacherSchoolId = teacherSchoolId;
        return this;
    }

    public Integer getOnlineClassesNum() {
        return onlineClassesNum;
    }

    public VipGroup setOnlineClassesNum(Integer onlineClassesNum) {
        this.onlineClassesNum = onlineClassesNum;
        return this;
    }

    public Integer getOfflineClassesNum() {
        return offlineClassesNum;
    }

    public VipGroup setOfflineClassesNum(Integer offlineClassesNum) {
        this.offlineClassesNum = offlineClassesNum;
        return this;
    }

    public Date getRegistrationStartTime() {
        return registrationStartTime;
    }

    public VipGroup setRegistrationStartTime(Date registrationStartTime) {
        this.registrationStartTime = registrationStartTime;
        return this;
    }

    public String getName() {
        return name;
    }

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

    public Integer getVipGroupCategoryId() {
        return vipGroupCategoryId;
    }

    public VipGroup setVipGroupCategoryId(Integer vipGroupCategoryId) {
        this.vipGroupCategoryId = vipGroupCategoryId;
        return this;
    }


    public String getAuditStatus() {
        return auditStatus;
    }

    public VipGroup setAuditStatus(String auditStatus) {
        this.auditStatus = auditStatus;
        return this;
    }

    public String getOrganIdList() {
        return organIdList;
    }

    public VipGroup setOrganIdList(String organIdList) {
        this.organIdList = organIdList;
        return this;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "VipGroup{" +
        ", id=" + id +
        ", userId=" + userId +
        ", singleClassMinutes=" + singleClassMinutes +
        ", paymentExpireDate=" + paymentExpireDate +
        ", coursesExpireDate=" + coursesExpireDate +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        ", teacherSchoolId=" + teacherSchoolId +
        ", onlineClassesNum=" + onlineClassesNum +
        ", offlineClassesNum=" + offlineClassesNum +
        ", registrationStartTime=" + registrationStartTime +
        ", name=" + name +
        ", vipGroupCategoryId=" + vipGroupCategoryId +
        ", auditStatus=" + auditStatus +
        ", organIdList=" + organIdList +
        "}";
    }
}
