package com.ssj.bean.weixin.sales.domain;

import com.ssj.bean.common.framework.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;


/** 
 * @author  ZhangCaibao 
 * @version 2017年6月22日 下午3:46:32 
 * 类说明  VIP卡对应的服务
 */
@Entity
@Table(name = "tb_lib_vip_service")
public class LibVipService extends BaseEntity  {

	/**
	 * 
	 */
	private static final long serialVersionUID = -3378852305172216774L;
    /**
     * 会员卡ID
     */
	private String vipId;
	/**
	 * 图书馆ID
	 */
	private String libId;
	
	 /**
	  * 开始时间
	  */
	 private Date startTime;
	/** 
	 * 结束时间
	 */
	private Date endTime; 
	/**
	 * 1有效，2无效。
	 */
	private Integer stat;
	
	/**
	 * 卡的种类S001会员卡，S003VIP专席卡（作业吧）， S010一对一  S005小塾服务（通讯费）
	 * 具体看 sys_sort  code ='cardType'
	 */
	private String species;
	/**
	 * C001年卡C002半年卡C003月卡C004作业吧月卡C005作业吧半年卡C006作业吧年卡C015季度卡
	 * "C023"机构购买平台服务“C024”校区服务"C025"校区批改服务
	 * 具体看 sys_sort  code ='species'  C020贝壳服务
	 */
	 private String  type;
	 
	 /**
	  * //押金
	  */
	 private Integer deposit; 
	 /**
	  * //可借书籍数量
	  */
	 private Integer borrowNum; 
	 /**
	  * //可借书天数	
	  */
	 private Integer borrowDay;  
	 /**
	  * //逾期后每日扣的钱
	  */
	 private BigDecimal outMoney;
	 /**
	  * 购买的订单ID
	  */
	 private String orderDetailsId; 
	 /**
	  * 操作时间
	  */
	 private Date createTime;
	 /**
	  * 1寒假，2暑假，3寒暑假
	  */
	 private Integer isJia;  
	 
	 //课次
	 private Integer courseCount;

	/**
	 * 课程 只针对作业吧服务有效
	 */
	private String zybCourseId;
	/**
	 * 课程时段 只针对作业吧服务有效
	 */
	private String courseHour;

	/**
	 * 批改方式类型，1平台服务（家长购买），2平台服务（机构自批改），3家长自批改（废弃），4平台服务（机构购买）
	 */
	private Integer correctType;
	/**
	 * 从小到大，值越小服务优先级越高
	 * 目前排序为1：平台服务（家⻓长购买）；2：平台服务（校区购买）；3：校区服务；4：批改服务；5：内部⽤用户
	 */
	private Integer serviceSort;
	 
	public Integer getCourseCount() {
		return courseCount;
	}
	public void setCourseCount(Integer courseCount) {
		this.courseCount = courseCount;
	}
	public String getVipId() {
		return vipId;
	}
	public void setVipId(String vipId) {
		this.vipId = vipId;
	}
	public String getLibId() {
		return libId;
	}
	public void setLibId(String libId) {
		this.libId = libId;
	}
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") 
	public Date getStartTime() {
		return startTime;
	}
	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") 
	public Date getEndTime() {
		return endTime;
	}
	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}
	public Integer getStat() {
		return stat;
	}
	public void setStat(Integer stat) {
		this.stat = stat;
	}
	public String getSpecies() {
		return species;
	}
	public void setSpecies(String species) {
		this.species = species;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public Integer getDeposit() {
		return deposit;
	}
	public void setDeposit(Integer deposit) {
		this.deposit = deposit;
	}
	public Integer getBorrowNum() {
		return borrowNum;
	}
	public void setBorrowNum(Integer borrowNum) {
		this.borrowNum = borrowNum;
	}
	public Integer getBorrowDay() {
		return borrowDay;
	}
	public void setBorrowDay(Integer borrowDay) {
		this.borrowDay = borrowDay;
	}
	public BigDecimal getOutMoney() {
		return outMoney;
	}
	public void setOutMoney(BigDecimal outMoney) {
		this.outMoney = outMoney;
	}
	public String getOrderDetailsId() {
		return orderDetailsId;
	}
	public void setOrderDetailsId(String orderDetailsId) {
		this.orderDetailsId = orderDetailsId;
	}
	@Column(updatable =false)
	public Date getCreateTime() {
		return createTime;
	}
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	public Integer getIsJia() {
		return isJia;
	}
	public void setIsJia(Integer isJia) {
		this.isJia = isJia;
	}
	public String getZybCourseId() {
		return zybCourseId;
	}
	public void setZybCourseId(String zybCourseId) {
		this.zybCourseId = zybCourseId;
	}
	public String getCourseHour() {
		return courseHour;
	}
	public void setCourseHour(String courseHour) {
		this.courseHour = courseHour;
	}
	public Integer getCorrectType() {
		return correctType;
	}
	public void setCorrectType(Integer correctType) {
		this.correctType = correctType;
	}
	public Integer getServiceSort() {
		return serviceSort;
	}
	public void setServiceSort(Integer serviceSort) {
		this.serviceSort = serviceSort;
	}
	 
	 
}
