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 {

	/**  */
//	@ApiModelProperty(name = "id", value = "主键", hidden = true)
	private Integer id;

	/** 订单号。订单流水号 */
//	@ApiModelProperty(name = "oid", value = "mec订单号（废弃）", hidden = true)
	private Integer oid;

	/** 订单号。订单流水号 */
//	@ApiModelProperty(name = "branchId", value = "分部id",required = true)
	private Integer branchId;

	/** 订单号。订单流水号 */
//	@ApiModelProperty(name = "group_id", value = "分部id",hidden = true)
	private Integer groupId;

	/**自己系统订单号 */
//	@ApiModelProperty(name = "orderNo", value = "系统订单号", hidden = true)
	private String orderNo;

	/** 学员的用户编号 */
//	@ApiModelProperty(name = "userId", value = "学员编号",required = true)
	private Integer userId;

	private String userName;

	/** 订单总金额（分） */
//	@ApiModelProperty(name = "amount", value = "订单总金额",required = true)
	private BigDecimal amount;

	private Integer type;

	/** 支付成功金额（分）。本次在线支付（充值）的金额，该金额通常应该等于订单总金额；如果该金额少于订单总金额，则自动使用学员账户余额补足订单总金额；该金额不能大于订单总金额 */
//	@ApiModelProperty(name = "pay", value = "支付成功金额",hidden = true)
	private BigDecimal pay;

	/** 在线支付平台 */
//	@ApiModelProperty(name = "bank", value = "支付平台",hidden = true)
	private String bank;

	/** 公司收款帐号。本次接收学员款项的公司在线支付平台（支付宝、微信等）账户号 */
//	@ApiModelProperty(name = "account", value = "公司收款账号",hidden = true)
	private String account;

	/** 学员付款帐号。本次在线支付学员使用的支付宝或微信账户号。银行卡支付可为空。 */
//	@ApiModelProperty(name = "uAccount", value = "学院付款账号",hidden = true)
	private String uAccount;

	/** 支付流水号或代理商订单号。银行/在线支付平台生成的支付流水号或代理商生成的订单号（必须唯一不重复） */
//	@ApiModelProperty(name = "payId", value = "支付平台流水号",hidden = true)
	private String payId;

	/** 支付到帐时间 */
//	@ApiModelProperty(name = "payTime", value = "支付到账时间",hidden = true)
	private Date payTime;

	/** 交易订单明细 */
//	@ApiModelProperty(name = "remark", value = "订单明细",hidden = true)
	private String remark;

	/** 小课编号 */
//	@ApiModelProperty(name = "classId", value = "小课编号")
	private Integer classId;

	/** 支付状态，0成功，1支付中，2失败 */
//	@ApiModelProperty(name = "status", value = "支付状态",hidden = true)
	private Integer status;

	/** 创建时间 */
//	@ApiModelProperty(name = "createTime", value = "创建时间",hidden = true)
	private Date createTime;

	/** 乐团名称 */
//	@ApiModelProperty(name = "poName", value = "乐团名称")
	private String poName;

	/** 课程组信息 */
//	@ApiModelProperty(name = "courseId", value = "课程组id",required = true)
	private Integer courseId;

	/** 声部 */
//	@ApiModelProperty(name = "voicyPart", value = "声部")
	private String voicyPart;

	/** 账户扣款金额 */
//	@ApiModelProperty(name = "balance", value = "账号扣款金额",hidden = true)
	private BigDecimal balance;

	/** 批次号 */
//	@ApiModelProperty(name = "batchNum", value = "批次号",hidden = true)
	private String batchNum;

	/** 乐器 */
//	@ApiModelProperty(name = "instrument", value = "乐器")
	private String instrument;

	/** 辅件 */
//	@ApiModelProperty(name = "adjunct", value = "辅件")
	private String adjunct;

	/** 其他 */
//	@ApiModelProperty(name = "other", value = "其他")
	private String other;

	//学费金额（元）。本次缴纳的学费金额。
//	@ApiModelProperty(name = "tuiFee", value = "学费金额",hidden = true)
	private BigDecimal tuiFee;

	//乐器费用（元）
//	@ApiModelProperty(name = "goodsFee", value = "乐器费用",hidden = true)
	private BigDecimal goodsFee;

	//杂费金额（元）
//	@ApiModelProperty(name = "goodsFee", value = "杂费金额",hidden = true)
	private BigDecimal sdFee;

	//杂费名称，如：乐保、教谱等。
//	@ApiModelProperty(name = "goodsFee", value = "杂费名称",hidden = true)
	private String sdName;

	public BigDecimal getTuiFee() {
		return tuiFee;
	}

	public void setTuiFee(BigDecimal tuiFee) {
		this.tuiFee = tuiFee;
	}

	public BigDecimal getGoodsFee() {
		return goodsFee;
	}

	public void setGoodsFee(BigDecimal goodsFee) {
		this.goodsFee = goodsFee;
	}

	public BigDecimal getSdFee() {
		return sdFee;
	}

	public void setSdFee(BigDecimal sdFee) {
		this.sdFee = sdFee;
	}

	public String getSdName() {
		return sdName;
	}

	public void setSdName(String sdName) {
		this.sdName = sdName;
	}

	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 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;
	}


	public String getInstrument() {
		return instrument;
	}

	public void setInstrument(String instrument) {
		this.instrument = instrument;
	}

	public String getAdjunct() {
		return adjunct;
	}

	public void setAdjunct(String adjunct) {
		this.adjunct = adjunct;
	}

	public String getOther() {
		return other;
	}

	public void setOther(String other) {
		this.other = other;
	}

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

	public Integer getBranchId() {
		return branchId;
	}

	public void setBranchId(Integer branchId) {
		this.branchId = branchId;
	}

	public Integer getCourseId() {
		return courseId;
	}

	public void setCourseId(Integer courseId) {
		this.courseId = courseId;
	}

	public Integer getGroupId() {
		return groupId;
	}

	public void setGroupId(Integer groupId) {
		this.groupId = groupId;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public Integer getType() {
		return type;
	}

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