package com.ym.mec.collectfee.entity;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import org.apache.commons.lang3.builder.ToStringBuilder;

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

/**
 * 对应数据库表(order):
 */
@XStreamAlias("order")
public class Order {

	/**  */
	private Integer id;
	
	/** 订单号。订单流水号 */
	private Integer oid;

	/**自己系统订单号 */
	private String orderNo;
	
	/** 学员的用户编号 */
	private Integer userId;
	
	/** 订单总金额（分） */
	private BigDecimal amount;
	
	/** 支付成功金额（分）。本次在线支付（充值）的金额，该金额通常应该等于订单总金额；如果该金额少于订单总金额，则自动使用学员账户余额补足订单总金额；该金额不能大于订单总金额 */
	private BigDecimal pay;
	
	/** 在线支付平台 */
	private String bank;
	
	/** 公司收款帐号。本次接收学员款项的公司在线支付平台（支付宝、微信等）账户号 */
	private String account;
	
	/** 学员付款帐号。本次在线支付学员使用的支付宝或微信账户号。银行卡支付可为空。 */
	private String uAccount;
	
	/** 支付流水号或代理商订单号。银行/在线支付平台生成的支付流水号或代理商生成的订单号（必须唯一不重复） */
	private String payId;
	
	/** 支付到帐时间 */
	private Date payTime;
	
	/** 交易订单明细 */
	private String remark;
	
	/** 小课编号 */
	private Integer classId;
	
	/** 支付状态，0成功，1支付中，2失败 */
	private Integer status;
	
	/** 创建时间 */
	private Date createTime;
	
	/** 乐团名称 */
	private String poName;
	
	/** 声部 */
	private String voicyPart;
	
	/** 账户扣款金额 */
	private BigDecimal balance;
	
	/** 批次号 */
	private String batchNum;
	
	public void setId(Integer id){
		this.id = id;
	}
	
	public Integer getId(){
		return this.id;
	}
			
	public void setOid(Integer oid){
		this.oid = oid;
	}
	
	public Integer getOid(){
		return this.oid;
	}
			
	public void setUserId(Integer userId){
		this.userId = userId;
	}
	
	public Integer getUserId(){
		return this.userId;
	}

	public BigDecimal getAmount() {
		return amount;
	}

	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	public String getuAccount() {
		return uAccount;
	}

	public void setuAccount(String uAccount) {
		this.uAccount = uAccount;
	}

	public BigDecimal getPay() {
		return pay;
	}

	public void setPay(BigDecimal pay) {
		this.pay = pay;
	}

	public String getBank() {
		return bank;
	}

	public void setBank(String bank) {
		this.bank = bank;
	}

	public void setAccount(String account){
		this.account = account;
	}
	
	public String getAccount(){
		return this.account;
	}
			
	public void setUAccount(String uAccount){
		this.uAccount = uAccount;
	}
	
	public String getUAccount(){
		return this.uAccount;
	}
			
	public void setPayId(String payId){
		this.payId = payId;
	}
	
	public String getPayId(){
		return this.payId;
	}
			
	public void setPayTime(java.util.Date payTime){
		this.payTime = payTime;
	}
	
	public java.util.Date getPayTime(){
		return this.payTime;
	}
			
	public void setRemark(String remark){
		this.remark = remark;
	}
	
	public String getRemark(){
		return this.remark;
	}
			
	public void setClassId(Integer classId){
		this.classId = classId;
	}
	
	public Integer getClassId(){
		return this.classId;
	}
			
	public void setStatus(Integer status){
		this.status = status;
	}
	
	public Integer getStatus(){
		return this.status;
	}
			
	public void setCreateTime(java.util.Date createTime){
		this.createTime = createTime;
	}
	
	public java.util.Date getCreateTime(){
		return this.createTime;
	}
			
	public void setPoName(String poName){
		this.poName = poName;
	}
	
	public String getPoName(){
		return this.poName;
	}
			
	public void setVoicyPart(String voicyPart){
		this.voicyPart = voicyPart;
	}
	
	public String getVoicyPart(){
		return this.voicyPart;
	}

	public BigDecimal getBalance() {
		return balance;
	}

	public void setBalance(BigDecimal balance) {
		this.balance = balance;
	}

	public void setBatchNum(String batchNum){
		this.batchNum = batchNum;
	}
	
	public String getBatchNum(){
		return this.batchNum;
	}


	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}
			
	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
