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

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

import com.ym.mec.auth.api.entity.SysUser;
import com.ym.mec.biz.dal.enums.DealStatusEnum;
import com.ym.mec.biz.dal.enums.PaymentChannelEnum;
import com.ym.mec.common.enums.BaseEnum;

/**
 * 对应数据库表(tenant_payment_order):
 */
public class TenantPaymentOrder {

	public enum TenantPaymentType implements BaseEnum<String, TenantPaymentType> {
		RECHARGE("RECHARGE", "充值");

		private String code;

		private String desc;

		TenantPaymentType(String code, String desc) {
			this.code = code;
			this.desc = desc;
		}

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

		public String getDesc() {
			return desc;
		}
	}

	/**  */
	private Long id;

	private Integer activitiesId;

	/**  */
	private Integer userId;
	/**  */
	private SysUser user = new SysUser();

	/** 分部id */
	private Integer organId;

	/** 订单类型(购买) */
	private TenantPaymentType type;

	/** 交易的分钟数 */
	private Integer transMinutes;

	private Integer giveMinutes;

	/** 预计金额 */
	private java.math.BigDecimal expectAmount;

	/** 实际金额 */
	private java.math.BigDecimal actualAmount;

	/** 余额支付金额 */
	private java.math.BigDecimal balancePaymentAmount;

	/** 公户金额 */
	private java.math.BigDecimal comAmount;

	/** 私户金额 */
	private java.math.BigDecimal perAmount;

	/** 减免金额 */
	private java.math.BigDecimal remitFee;

	/** 交易流水号(第三方支付平台) */
	private String transNo;

	/** 交易状态 */
	private DealStatusEnum status;

	/** 备注 */
	private String memo;

	/** 付款渠道 */
	private PaymentChannelEnum paymentChannel;

	/** 业务渠道 */
	private String paymentBusinessChannel;

	/** 渠道收款账户 */
	private String merNos;

	/** 订单号 */
	private String orderNo;

	/** 支付时间 */
	private java.util.Date payTime;

	/** 版本 */
	private Integer version;

	/**  */
	private java.util.Date createTime;

	/**  */
	private java.util.Date updateTime;

	public void setId(Long id) {
		this.id = id;
	}

	public Long getId() {
		return this.id;
	}

	public SysUser getUser() {
		return user;
	}

	public void setUser(SysUser user) {
		this.user = user;
	}

	public Integer getActivitiesId() {
		return activitiesId;
	}

	public void setActivitiesId(Integer activitiesId) {
		this.activitiesId = activitiesId;
	}

	public void setUserId(Integer userId) {
		this.userId = userId;
	}

	public Integer getUserId() {
		return this.userId;
	}

	public void setOrganId(Integer organId) {
		this.organId = organId;
	}

	public Integer getOrganId() {
		return this.organId;
	}

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

	public TenantPaymentType getType() {
		return this.type;
	}

	public Integer getTransMinutes() {
		return transMinutes;
	}

	public void setTransMinutes(Integer transMinutes) {
		this.transMinutes = transMinutes;
	}

	public Integer getGiveMinutes() {
		return giveMinutes;
	}

	public void setGiveMinutes(Integer giveMinutes) {
		this.giveMinutes = giveMinutes;
	}

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

	public java.math.BigDecimal getExpectAmount() {
		return this.expectAmount;
	}

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

	public java.math.BigDecimal getActualAmount() {
		return this.actualAmount;
	}

	public void setBalancePaymentAmount(java.math.BigDecimal balancePaymentAmount) {
		this.balancePaymentAmount = balancePaymentAmount;
	}

	public java.math.BigDecimal getBalancePaymentAmount() {
		return this.balancePaymentAmount;
	}

	public void setComAmount(java.math.BigDecimal comAmount) {
		this.comAmount = comAmount;
	}

	public java.math.BigDecimal getComAmount() {
		return this.comAmount;
	}

	public void setPerAmount(java.math.BigDecimal perAmount) {
		this.perAmount = perAmount;
	}

	public java.math.BigDecimal getPerAmount() {
		return this.perAmount;
	}

	public void setRemitFee(java.math.BigDecimal remitFee) {
		this.remitFee = remitFee;
	}

	public java.math.BigDecimal getRemitFee() {
		return this.remitFee;
	}

	public void setTransNo(String transNo) {
		this.transNo = transNo;
	}

	public String getTransNo() {
		return this.transNo;
	}

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

	public DealStatusEnum getStatus() {
		return this.status;
	}

	public void setMemo(String memo) {
		this.memo = memo;
	}

	public String getMemo() {
		return this.memo;
	}

	public void setPaymentChannel(PaymentChannelEnum paymentChannel) {
		this.paymentChannel = paymentChannel;
	}

	public PaymentChannelEnum getPaymentChannel() {
		return this.paymentChannel;
	}

	public void setPaymentBusinessChannel(String paymentBusinessChannel) {
		this.paymentBusinessChannel = paymentBusinessChannel;
	}

	public String getPaymentBusinessChannel() {
		return this.paymentBusinessChannel;
	}

	public void setMerNos(String merNos) {
		this.merNos = merNos;
	}

	public String getMerNos() {
		return this.merNos;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	public String getOrderNo() {
		return this.orderNo;
	}

	public void setPayTime(java.util.Date payTime) {
		this.payTime = payTime;
	}

	public java.util.Date getPayTime() {
		return this.payTime;
	}

	public void setVersion(Integer version) {
		this.version = version;
	}

	public Integer getVersion() {
		return this.version;
	}

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

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

}
