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

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

import com.ym.mec.biz.dal.enums.DealStatusEnum;
import com.ym.mec.common.enums.BaseEnum;

/**
 * 对应数据库表(sys_tenant_account_detail):
 */
public class SysTenantAccountDetail {

	public enum TransStatus implements BaseEnum<String, DealStatusEnum> {
		ING("ING", "交易中"), SUCCESS("SUCCESS", "成功交易"), FAILED("FAILED", "交易失败"), CLOSE("CLOSE", "交易关闭");

		private String code;

		private String desc;

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

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

		public String getDesc() {
			return desc;
		}

	}
	
	public enum TransType implements BaseEnum<String, TransType> {
		RECHARGE("RECHARGE", "充值"),
		CONSUME("CONSUME", "消费"),
		RETURN("RETURN", "退还"),
		MANUAL_ADD("MANUAL_ADD", "系统充值"),
		MANUAL_SUB("MANUAL_SUB", "系统扣减");

		private String code;

		private String desc;

		TransType(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 userId;
	
	private String orderNo;

	/** 交易类型 */
	private TransType transType;

	/** 交易状态 */
	private TransStatus transStatus;

	/** 交易流水 */
	private String transNo;

	/** 现金数额 */
	private java.math.BigDecimal transCashAmount;

	/** 账户总可用分钟数 */
	private Integer totalAvailableMinutes;

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

	/**  */
	private String memo;

	/**  */
	private Integer operatorId;

	/**  */
	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 void setUserId(Integer userId) {
		this.userId = userId;
	}

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

	public void setTransType(TransType transType) {
		this.transType = transType;
	}

	public TransType getTransType() {
		return this.transType;
	}

	public void setTransStatus(TransStatus transStatus) {
		this.transStatus = transStatus;
	}

	public TransStatus getTransStatus() {
		return this.transStatus;
	}

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

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

	public void setTransCashAmount(java.math.BigDecimal transCashAmount) {
		this.transCashAmount = transCashAmount;
	}

	public java.math.BigDecimal getTransCashAmount() {
		return this.transCashAmount;
	}

	public void setTotalAvailableMinutes(Integer totalAvailableMinutes) {
		this.totalAvailableMinutes = totalAvailableMinutes;
	}

	public Integer getTotalAvailableMinutes() {
		return this.totalAvailableMinutes;
	}

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

	public Integer getTransMinutes() {
		return this.transMinutes;
	}

	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 String getOrderNo() {
		return orderNo;
	}

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

	public Integer getOperatorId() {
		return operatorId;
	}

	public void setOperatorId(Integer operatorId) {
		this.operatorId = operatorId;
	}

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

}
