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

import com.ym.mec.biz.dal.enums.DealStatusEnum;
import com.ym.mec.biz.dal.enums.OrderTypeEnum;

import io.swagger.annotations.ApiModelProperty;

import org.apache.commons.lang3.builder.ToStringBuilder;

import java.math.BigDecimal;

/**
 * 对应数据库表(student_payment_order):
 */
public class StudentPaymentOrder {

	/**  */
	private Long id;
	
	/**  */
	@ApiModelProperty(value = "用户编号",required = true)
	private Integer userId;
	
	/** 订单类型(报名、续费、小课购买、其他) */
	@ApiModelProperty(value = "订单类型",required = true)
	private OrderTypeEnum type;
	
	/** 预计金额 */
	@ApiModelProperty(value = "预计金额",required = true)
	private BigDecimal expectAmount;
	
	/** 实际金额 */
	@ApiModelProperty(value = "实际金额",required = true)
	private BigDecimal actualAmount;
	
	/** 交易流水号 */
	@ApiModelProperty(value = "交易流水号",required = true)
	private String transNo;
	
	/** 交易状态 */
	@ApiModelProperty(value = "交易状态",required = true)
	private DealStatusEnum status;
	
	/** 备注 */
	@ApiModelProperty(value = "备注",required = true)
	private String memo;
	
	/**  */
	private java.util.Date createTime;
	
	/**  */
	private java.util.Date updateTime;
	
	/** 付款渠道 */
	@ApiModelProperty(value = "付款渠道",required = true)
	private String paymentChannel;
	
	/** 业务渠道 */
	@ApiModelProperty(value = "业务渠道",required = true)
	private String paymentBusinessChannel;
	
	/** 付款账户 */
	@ApiModelProperty(value = "付款账户",required = true)
	private String paymentAccountNo;
	
	/** 订单号 */
	@ApiModelProperty(value = "订单号",required = true)
	private String orderNo;
	
	/**  */
	@ApiModelProperty(value = "乐团编号",required = true)
	private String musicGroupId;
	
	/**  */
	@ApiModelProperty(value = "课程组编号",required = true)
	private Integer classGroupId;
	
	public void setId(Long id){
		this.id = id;
	}
	
	public Long getId(){
		return this.id;
	}
			
	public void setUserId(Integer userId){
		this.userId = userId;
	}
	
	public Integer getUserId(){
		return this.userId;
	}
			
	public void setTransNo(String transNo){
		this.transNo = transNo;
	}
	
	public String getTransNo(){
		return this.transNo;
	}
			
	public void setMemo(String memo){
		this.memo = memo;
	}
	
	public String getMemo(){
		return this.memo;
	}
			
	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;
	}
			
	public void setPaymentChannel(String paymentChannel){
		this.paymentChannel = paymentChannel;
	}
	
	public String getPaymentChannel(){
		return this.paymentChannel;
	}
			
	public void setPaymentBusinessChannel(String paymentBusinessChannel){
		this.paymentBusinessChannel = paymentBusinessChannel;
	}
	
	public String getPaymentBusinessChannel(){
		return this.paymentBusinessChannel;
	}
			
	public void setPaymentAccountNo(String paymentAccountNo){
		this.paymentAccountNo = paymentAccountNo;
	}
	
	public String getPaymentAccountNo(){
		return this.paymentAccountNo;
	}
			
	public void setOrderNo(String orderNo){
		this.orderNo = orderNo;
	}
	
	public String getOrderNo(){
		return this.orderNo;
	}
			
	public void setMusicGroupId(String musicGroupId){
		this.musicGroupId = musicGroupId;
	}
	
	public String getMusicGroupId(){
		return this.musicGroupId;
	}
			
	public void setClassGroupId(Integer classGroupId){
		this.classGroupId = classGroupId;
	}
	
	public Integer getClassGroupId(){
		return this.classGroupId;
	}

	public OrderTypeEnum getType() {
		return type;
	}

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

	public BigDecimal getExpectAmount() {
		return expectAmount;
	}

	public void setExpectAmount(BigDecimal expectAmount) {
		this.expectAmount = expectAmount;
	}

	public BigDecimal getActualAmount() {
		return actualAmount;
	}

	public void setActualAmount(BigDecimal actualAmount) {
		this.actualAmount = actualAmount;
	}

	public DealStatusEnum getStatus() {
		return status;
	}

	public void setStatus(DealStatusEnum status) {
		this.status = status;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
