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

import com.ym.mec.common.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;

import java.math.BigDecimal;

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

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

	@ApiModelProperty(value = "单节课价值")
	private BigDecimal singleCoursePrice = BigDecimal.ZERO;

	@ApiModelProperty(value = "赠送单节课时长")
	private Integer giveSingleCourseTime;

	@ApiModelProperty(value = "可排课课程类型")
	private Integer categoryId;

	@ApiModelProperty(value = "赠送可排课课程类型")
	private Integer giveCategoryId;

	@ApiModelProperty(value = "活动编号")
	private Integer activityId;
	
	@ApiModelProperty(value = "学员编号")
	private Integer userId;

	@ApiModelProperty(value = "指导老师编号")
	private Integer teacherId;
	
	@ApiModelProperty(value = "vip课排课标记0没有排课资格1未排课2已排课")
	private Integer vipFlag = 0;
	
	@ApiModelProperty(value = "赠送vip课次数")
	private Integer giveVipFlag = 0;

	@ApiModelProperty(value = "网管课次数")
	private Integer practiceFlag = 0;

	@ApiModelProperty(value = "赠送网管课次数")
	private Integer givePracticeFlag = 0;

	@ApiModelProperty(value = "购买会员标识")
	private Integer memberFlag = 0;

	@ApiModelProperty(value = "赠送会员标识")
	private Integer giveMemberFlag = 0;

	@ApiModelProperty(value = "购买的总课时数")
	private Integer totalCourseNum = 0;

	@ApiModelProperty(value = "赠送的总课时数")
	private Integer totalGiveCourseNum = 0;

	@ApiModelProperty(value = "剩余的总课时数")
	private Integer subCourseNum = 0;

	@ApiModelProperty(value = "剩余的赠送课时数")
	private Integer subGiveCourseNum = 0;

	@ApiModelProperty(value = "缴费编号")
	private Long paymentOrderId;

	@ApiModelProperty(value = "已排课的vip课程组编号(多个逗号分割)")
	private String vipGroupId;

	@ApiModelProperty(value = "已排课的赠送的vip课程组编号(多个逗号分割)")
	private String giveVipGroupId;

	@ApiModelProperty(value = "会员订单号")
	private Long memberOrderId;

	@ApiModelProperty(value = "赠送的会员订单号")
	private Long giveMemberOrderId;

	@ApiModelProperty(value = "已排课的陪练课课程组编号(多个逗号分割)")
	private String practiceGroupId;

	@ApiModelProperty(value = "已排课的陪练课课程组编号(多个逗号分割)")
	private String givePracticeGroupId;

	@ApiModelProperty(value = "是否退费")
	private Boolean returnFee = false;

	@ApiModelProperty(value = "剩余未排课金额")
	private BigDecimal subNoCoursePrice = BigDecimal.ZERO;

	@ApiModelProperty(value = "本次排课消耗的课程价值")
	private BigDecimal currentCoursePrice = BigDecimal.ZERO;

	@ApiModelProperty(value = "实际支付金额")
	private BigDecimal actualPrice = BigDecimal.ZERO;

	@ApiModelProperty(value = "添加资格时的备注")
	private String addMemo;

	@ApiModelProperty(value = "减少资格时的备注")
	private String cutMemo;
	
	/**  */
	private java.util.Date createTime;
	
	/**  */
	private java.util.Date updateTime;

	@ApiModelProperty(value = "赠送的优惠券编号")
	private Integer giveCouponId;

	@ApiModelProperty(value = "关联的云教练缴费项目编号")
	private Long calenderId;

	public Long getCalenderId() {
		return calenderId;
	}

	public void setCalenderId(Long calenderId) {
		this.calenderId = calenderId;
	}

	public BigDecimal getCurrentCoursePrice() {
		return currentCoursePrice;
	}

	public void setCurrentCoursePrice(BigDecimal currentCoursePrice) {
		this.currentCoursePrice = currentCoursePrice;
	}

	public BigDecimal getSingleCoursePrice() {
		return singleCoursePrice;
	}

	public void setSingleCoursePrice(BigDecimal singleCoursePrice) {
		this.singleCoursePrice = singleCoursePrice;
	}

	public Integer getSingleCourseTime() {
		return singleCourseTime;
	}

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

	public Integer getGiveSingleCourseTime() {
		return giveSingleCourseTime;
	}

	public void setGiveSingleCourseTime(Integer giveSingleCourseTime) {
		this.giveSingleCourseTime = giveSingleCourseTime;
	}

	public Integer getCategoryId() {
		return categoryId;
	}

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

	public Integer getGiveCategoryId() {
		return giveCategoryId;
	}

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

	public BigDecimal getSubNoCoursePrice() {
		return subNoCoursePrice;
	}

	public void setSubNoCoursePrice(BigDecimal subNoCoursePrice) {
		this.subNoCoursePrice = subNoCoursePrice;
	}

	public Integer getTotalCourseNum() {
		return totalCourseNum;
	}

	public void setTotalCourseNum(Integer totalCourseNum) {
		this.totalCourseNum = totalCourseNum;
	}

	public Integer getTotalGiveCourseNum() {
		return totalGiveCourseNum;
	}

	public void setTotalGiveCourseNum(Integer totalGiveCourseNum) {
		this.totalGiveCourseNum = totalGiveCourseNum;
	}

	public Integer getSubCourseNum() {
		return subCourseNum;
	}

	public void setSubCourseNum(Integer subCourseNum) {
		this.subCourseNum = subCourseNum;
	}

	public Integer getSubGiveCourseNum() {
		return subGiveCourseNum;
	}

	public void setSubGiveCourseNum(Integer subGiveCourseNum) {
		this.subGiveCourseNum = subGiveCourseNum;
	}

	public String getVipGroupId() {
		return vipGroupId;
	}

	public void setVipGroupId(String vipGroupId) {
		this.vipGroupId = vipGroupId;
	}

	public String getGiveVipGroupId() {
		return giveVipGroupId;
	}

	public void setGiveVipGroupId(String giveVipGroupId) {
		this.giveVipGroupId = giveVipGroupId;
	}

	public String getPracticeGroupId() {
		return practiceGroupId;
	}

	public void setPracticeGroupId(String practiceGroupId) {
		this.practiceGroupId = practiceGroupId;
	}

	public String getGivePracticeGroupId() {
		return givePracticeGroupId;
	}

	public void setGivePracticeGroupId(String givePracticeGroupId) {
		this.givePracticeGroupId = givePracticeGroupId;
	}

	public Integer getGiveCouponId() {
		return giveCouponId;
	}

	public void setGiveCouponId(Integer giveCouponId) {
		this.giveCouponId = giveCouponId;
	}

	public String getAddMemo() {
		return addMemo;
	}

	public void setAddMemo(String addMemo) {
		this.addMemo = addMemo;
	}

	public String getCutMemo() {
		return cutMemo;
	}

	public void setCutMemo(String cutMemo) {
		this.cutMemo = cutMemo;
	}

	public BigDecimal getActualPrice() {
		return actualPrice;
	}

	public void setActualPrice(BigDecimal actualPrice) {
		this.actualPrice = actualPrice;
	}

	public Integer getTeacherId() {
		return teacherId;
	}

	public void setTeacherId(Integer teacherId) {
		this.teacherId = teacherId;
	}

	public Long getMemberOrderId() {
		return memberOrderId;
	}

	public void setMemberOrderId(Long memberOrderId) {
		this.memberOrderId = memberOrderId;
	}

	public Long getGiveMemberOrderId() {
		return giveMemberOrderId;
	}

	public void setGiveMemberOrderId(Long giveMemberOrderId) {
		this.giveMemberOrderId = giveMemberOrderId;
	}

	public Integer getMemberFlag() {
		return memberFlag;
	}

	public void setMemberFlag(Integer memberFlag) {
		this.memberFlag = memberFlag;
	}

	public Integer getGiveMemberFlag() {
		return giveMemberFlag;
	}

	public void setGiveMemberFlag(Integer giveMemberFlag) {
		this.giveMemberFlag = giveMemberFlag;
	}

	public Boolean getReturnFee() {
		return returnFee;
	}

	public void setReturnFee(Boolean returnFee) {
		this.returnFee = returnFee;
	}

	public Long getPaymentOrderId() {
		return paymentOrderId;
	}

	public void setPaymentOrderId(Long paymentOrderId) {
		this.paymentOrderId = paymentOrderId;
	}

	public void setId(Integer id){
		this.id = id;
	}
	
	public Integer getId(){
		return this.id;
	}
			
	public void setActivityId(Integer activityId){
		this.activityId = activityId;
	}
	
	public Integer getActivityId(){
		return this.activityId;
	}
			
	public void setUserId(Integer userId){
		this.userId = userId;
	}
	
	public Integer getUserId(){
		return this.userId;
	}
			
	public void setVipFlag(Integer vipFlag){
		this.vipFlag = vipFlag;
	}
	
	public Integer getVipFlag(){
		return this.vipFlag;
	}
			
	public void setGiveVipFlag(Integer giveVipFlag){
		this.giveVipFlag = giveVipFlag;
	}
	
	public Integer getGiveVipFlag(){
		return this.giveVipFlag;
	}
			
	public void setPracticeFlag(Integer practiceFlag){
		this.practiceFlag = practiceFlag;
	}
	
	public Integer getPracticeFlag(){
		return this.practiceFlag;
	}
			
	public void setGivePracticeFlag(Integer givePracticeFlag){
		this.givePracticeFlag = givePracticeFlag;
	}
	
	public Integer getGivePracticeFlag(){
		return this.givePracticeFlag;
	}
			
	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;
	}
			
	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
