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


import com.ssj.bean.common.framework.core.domain.BaseEntity;

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

/** 
 * @author  ZhangCaibao 
 * @version 2017年4月28日 下午3:00:02 
 * 类说明   图书馆卡片销售订单
 */
@Entity
@Table(name = "tb_lib_order_details")
public class LibOrderDetails  extends BaseEntity{

	private static final long serialVersionUID = -5302500983979370609L;
	
	  /**
     * 订单编号
     */
	
    private String orderNo;
    /**
     * 订单ID
     */
    private String orderId;
    /**
     *  卡片卡片明细ID
     */
    private String salesPriceId;
    /**
     * 卡片价格
     */
    private BigDecimal price;
    /**
     * 书本抵扣价格
     */
    private BigDecimal  bookPrice;
    /**
     * 购买人
     */
    private String userId;
    /**
     * 销售人员
     */
    private String salesUserId;
    /**
     * 图书馆
     */
    private String libId;
    /**
     * 如何知晓私塾家
     */
    private String know;
    /**
     * 购买时间
     */
    private Date createTime;
    /**
     * 购卡明细
     */
    private String details;
    /**
     * 1新签，2续签
     */
    private Integer type;
    
    /**
     * 卡的种类(S001阅读吧卡，S003作业吧卡)
     */
    private String priceSpecies;
	/**
	 * C001年卡C002半年卡C003月卡
	 * 作业吧服务（小塾需要此服务才能使用）：C004作业吧月卡C005作业吧半年卡C006作业吧年卡C015季度卡C022天卡
	 * C007会员卡周末卡C008长假卡寒假卡C009自然拼读课程L1
	 * C010励登幼升小拼音识字班C011励登幼升小数学思维班
	 * C012励登幼升小课程全天班
	 * C016自然拼读课程L2
	 * C017自然拼读课程L3
	 * C020阅读产品收费
	 * C021通讯费
	 */
	private String priceType;
    /**
     * 人员类型  1 CD  2 CC 3 CDA 4 ZB
     */
    private String staffingType;
    
    // 订单状态 1-已支付, 2-已退款  //3财务手动添加
	 private Integer orderStatus;
	 
	 private Date endTime;
	 /**
	  * 会员卡ID
	  */
	 private String vipId;
	 /**
	  * 1自己购买，2代买
	  */
	 private Integer isBuy;
	/** 
	 * 初始购卡，会员卡的类型，续费统一为标准卡。 1标准卡，4联名卡。5兴趣卡（自然拼读），
	 */
	private Integer vipStatus;
	/**
	 * 单次购买的数量
	 */
	private Integer number;
	/**
	 * 优惠码，折扣码
	 */
	private String vipCode;
	/**
	 * 判断是从哪里支付的，1 图书馆销售二维码进来付款。
	 */
	private String isType;
	/**
	 * 孩子姓名
	 */
	private String childName;
	/**
	 * 年级
	 */
	private String grade;
	/**
	 * 家长姓名
	 */
	private String parentName;
	/**
	 * 联系方式
	 */
	private String phone;
	/**
	 * 学校
	 */
	private String school;
	
	/**
     * 额外价格
     */
    private BigDecimal extraPrice;
    /**
     * 图书馆类型 
     * 1--家庭图书馆 
     * 2--共享图书馆A,
     * 3共享图书馆B
     */
    private Integer libtype;

	/**
	 * 是否结算 用于进销存 1未结算 2已结算
	 */
	private Integer isClose;
	/**
	 * 购买程序端(6:家长端小程序;7:老师端小程序（校长端和老师端);11:app老师端;12:app家长端)
	 */
	private int appType;
	/**
	 * 赠送的优惠码
	 */
	private String code;
	/**
	 * 服务开始时间
	 */
	private Date startTime;

	public Date getStartTime() {
		return startTime;
	}

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

	@Transient
	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public int getAppType() {
		return appType;
	}

	public void setAppType(int appType) {
		this.appType = appType;
	}

	public String getOrderNo() {
		return orderNo;
	}
	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}
	public String getOrderId() {
		return orderId;
	}
	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}
	public String getSalesPriceId() {
		return salesPriceId;
	}
	public void setSalesPriceId(String salesPriceId) {
		this.salesPriceId = salesPriceId;
	}
	public BigDecimal getPrice() {
		return price;
	}
	public void setPrice(BigDecimal price) {
		this.price = price;
	}
	public BigDecimal getBookPrice() {
		return bookPrice;
	}
	public void setBookPrice(BigDecimal bookPrice) {
		this.bookPrice = bookPrice;
	}
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	public String getSalesUserId() {
		return salesUserId;
	}
	public void setSalesUserId(String salesUserId) {
		this.salesUserId = salesUserId;
	}
	public String getLibId() {
		return libId;
	}
	public void setLibId(String libId) {
		this.libId = libId;
	}
	public String getKnow() {
		return know;
	}
	public void setKnow(String know) {
		this.know = know;
	}
	@Column(updatable =false)
	public Date getCreateTime() {
		return createTime;
	}
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	public String getDetails() {
		return details;
	}
	public void setDetails(String details) {
		this.details = details;
	}
	public Integer getType() {
		return type;
	}
	public void setType(Integer type) {
		this.type = type;
	}
	public String getPriceSpecies() {
		return priceSpecies;
	}
	public void setPriceSpecies(String priceSpecies) {
		this.priceSpecies = priceSpecies;
	}
	public String getPriceType() {
		return priceType;
	}
	public void setPriceType(String priceType) {
		this.priceType = priceType;
	}
	public String getStaffingType() {
		return staffingType;
	}
	public void setStaffingType(String staffingType) {
		this.staffingType = staffingType;
	}
	public Integer getOrderStatus() {
		return orderStatus;
	}
	public void setOrderStatus(Integer orderStatus) {
		this.orderStatus = orderStatus;
	}
	public Date getEndTime() {
		return endTime;
	}
	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}
	public String getVipId() {
		return vipId;
	}
	public void setVipId(String vipId) {
		this.vipId = vipId;
	}
	public Integer getIsBuy() {
		return isBuy;
	}
	public void setIsBuy(Integer isBuy) {
		this.isBuy = isBuy;
	}
	public Integer getVipStatus() {
		return vipStatus;
	}
	public void setVipStatus(Integer vipStatus) {
		this.vipStatus = vipStatus;
	}
	public Integer getNumber() {
		 if(number==null){
			 return 1;
		 }
		return number;
	}
	public void setNumber(Integer number) {
		this.number = number;
	}
	@Transient
	public String getVipCode() {
		return vipCode;
	}
	public void setVipCode(String vipCode) {
		this.vipCode = vipCode;
	}
	@Transient
	public String getIsType() {
		return isType;
	}
	public void setIsType(String isType) {
		this.isType = isType;
	}
	@Transient
	public String getChildName() {
		return childName;
	}
	public void setChildName(String childName) {
		this.childName = childName;
	}
	@Transient
	public String getGrade() {
		return grade;
	}
	public void setGrade(String grade) {
		this.grade = grade;
	}
	@Transient
	public String getParentName() {
		return parentName;
	}
	public void setParentName(String parentName) {
		this.parentName = parentName;
	}
	@Transient
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	@Transient
	public String getSchool() {
		return school;
	}
	public void setSchool(String school) {
		this.school = school;
	}
	@Transient
	public BigDecimal getExtraPrice() {
		return extraPrice;
	}
	public void setExtraPrice(BigDecimal extraPrice) {
		this.extraPrice = extraPrice;
	}
	public Integer getLibtype() {
		return libtype;
	}
	public void setLibtype(Integer libtype) {
		this.libtype = libtype;
	}

	public Integer getIsClose() {
		return isClose;
	}

	public void setIsClose(Integer isClose) {
		this.isClose = isClose;
	}
}
