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

import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;

import com.ym.mec.common.entity.BaseEntity;

/**
 * 对应数据库表(activity_plan):
 */
public class ActivityPlan extends BaseEntity {

	@ApiModelProperty(value = "活动编号")
	private Integer id;

	@ApiModelProperty(value = "适用分部")
	private String organId;

	@ApiModelProperty(value = "活动名称")
	private String name;

	@ApiModelProperty(value = "活动描述")
	private String description;

	@ApiModelProperty(value = "活动类型，课程或者会员,0课程，1会员")
	private Integer type;

	@ApiModelProperty(value = "活动开始时间")
	private java.util.Date startTime;

	@ApiModelProperty(value = "活动结束时间")
	private java.util.Date endTime;

	@ApiModelProperty(value = "可排课开始时间")
	private java.util.Date coursesStartTime;

	@ApiModelProperty(value = "可排课截至时间")
	private java.util.Date coursesEndTime;

	@ApiModelProperty(value = "适用学生类型:-1：所有；0：老用户；1：新用户，2会员，3非会员")
	private Integer applyToStudentType = -1;

	@ApiModelProperty(value = "可购买次数:-1：不限制")
	private Integer maxBuyNum = -1;

	@ApiModelProperty(value = "排课方式0课程余额1排课次数")
	private Integer courseArrangingType = 0;

	@ApiModelProperty(value = "课程类型VIP,PRACTICE")
	private String courseType = "VIP";

	@ApiModelProperty(value = "课程形式")
	private Integer categoryId;

	@ApiModelProperty(value = "单节课时长")
	private Integer singleCourseTime;

	@ApiModelProperty(value = "最少课程数量")
	private Integer minCourseNum;

	@ApiModelProperty(value = "最多可排课数量")
	private Integer maxCourseNum;

	@ApiModelProperty(value = "折扣")
	private BigDecimal discount = new BigDecimal(100);

	@ApiModelProperty(value = "满赠达标课时:-1：没有满减")
	private Integer fullMinusCourseTimes = -1;

	@ApiModelProperty(value = "赠课类型")
	private String giveCourseType;

	@ApiModelProperty(value = "赠课形式")
	private Integer giveCategoryId;

	@ApiModelProperty(value = "赠课数量")
	private Integer giveCourseNum = 0;

	@ApiModelProperty(value = "会员编号")
	private Integer memberRankId;

	@ApiModelProperty(value = "会员时长")
	private Integer memberTime;

	@ApiModelProperty(value = "结算标准")
	private String salarySettlementJson;

	@ApiModelProperty(value = "是否删除")
	private Boolean delFlag = false;

	@ApiModelProperty(value = "是否可用")
	private Boolean enable = false;

	@ApiModelProperty(value = "创建时间")
	private java.util.Date createTime;

	@ApiModelProperty(value = "更新时间")
	private java.util.Date updateTime;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getOrganId() {
		return organId;
	}

	public void setOrganId(String organId) {
		this.organId = organId;
	}

	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 Integer getType() {
		return type;
	}

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

	public Date getStartTime() {
		return startTime;
	}

	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public Date getCoursesStartTime() {
		return coursesStartTime;
	}

	public void setCoursesStartTime(Date coursesStartTime) {
		this.coursesStartTime = coursesStartTime;
	}

	public Date getCoursesEndTime() {
		return coursesEndTime;
	}

	public void setCoursesEndTime(Date coursesEndTime) {
		this.coursesEndTime = coursesEndTime;
	}

	public Integer getApplyToStudentType() {
		return applyToStudentType;
	}

	public void setApplyToStudentType(Integer applyToStudentType) {
		this.applyToStudentType = applyToStudentType;
	}

	public Integer getMaxBuyNum() {
		return maxBuyNum;
	}

	public void setMaxBuyNum(Integer maxBuyNum) {
		this.maxBuyNum = maxBuyNum;
	}

	public Integer getCourseArrangingType() {
		return courseArrangingType;
	}

	public void setCourseArrangingType(Integer courseArrangingType) {
		this.courseArrangingType = courseArrangingType;
	}

	public String getCourseType() {
		return courseType;
	}

	public void setCourseType(String courseType) {
		this.courseType = courseType;
	}

	public Integer getCategoryId() {
		return categoryId;
	}

	public void setCategoryId(Integer categoryId) {
		this.categoryId = categoryId;
	}

	public Integer getSingleCourseTime() {
		return singleCourseTime;
	}

	public void setSingleCourseTime(Integer singleCourseTime) {
		this.singleCourseTime = singleCourseTime;
	}

	public Integer getMinCourseNum() {
		return minCourseNum;
	}

	public void setMinCourseNum(Integer minCourseNum) {
		this.minCourseNum = minCourseNum;
	}

	public Integer getMaxCourseNum() {
		return maxCourseNum;
	}

	public void setMaxCourseNum(Integer maxCourseNum) {
		this.maxCourseNum = maxCourseNum;
	}

	public BigDecimal getDiscount() {
		return discount;
	}

	public void setDiscount(BigDecimal discount) {
		this.discount = discount;
	}

	public Integer getFullMinusCourseTimes() {
		return fullMinusCourseTimes;
	}

	public void setFullMinusCourseTimes(Integer fullMinusCourseTimes) {
		this.fullMinusCourseTimes = fullMinusCourseTimes;
	}

	public String getGiveCourseType() {
		return giveCourseType;
	}

	public void setGiveCourseType(String giveCourseType) {
		this.giveCourseType = giveCourseType;
	}

	public Integer getGiveCategoryId() {
		return giveCategoryId;
	}

	public void setGiveCategoryId(Integer giveCategoryId) {
		this.giveCategoryId = giveCategoryId;
	}

	public Integer getGiveCourseNum() {
		return giveCourseNum;
	}

	public void setGiveCourseNum(Integer giveCourseNum) {
		this.giveCourseNum = giveCourseNum;
	}

	public Integer getMemberRankId() {
		return memberRankId;
	}

	public void setMemberRankId(Integer memberRankId) {
		this.memberRankId = memberRankId;
	}

	public Integer getMemberTime() {
		return memberTime;
	}

	public void setMemberTime(Integer memberTime) {
		this.memberTime = memberTime;
	}

	public String getSalarySettlementJson() {
		return salarySettlementJson;
	}

	public void setSalarySettlementJson(String salarySettlementJson) {
		this.salarySettlementJson = salarySettlementJson;
	}

	public Boolean getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(Boolean delFlag) {
		this.delFlag = delFlag;
	}

	public Boolean getEnable() {
		return enable;
	}

	public void setEnable(Boolean enable) {
		this.enable = enable;
	}

	public Date getCreateTime() {
		return createTime;
	}

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

	public Date getUpdateTime() {
		return updateTime;
	}

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