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

import com.ym.mec.auth.api.entity.SysUser;
import com.ym.mec.common.enums.BaseEnum;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;

import java.math.BigDecimal;

/**
 * 对应数据库表(student_apply_refunds):
 */
public class StudentApplyRefunds {
	
	public enum StudentApplyRefundsStatus implements BaseEnum<String, StudentApplyRefundsStatus>{
		ING("审核中"), REJECT("拒绝"), WAIT_PAYMENT("待支付"),DONE("完成");
		private String desc;
		
		private StudentApplyRefundsStatus(String desc) {
			this.desc = desc;
		}

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

		public String getDesc() {
			return desc;
		}

	}

	/**  */
	private Long id;
	
	/**  */
	@ApiModelProperty(value = "用户编号",required = true)
	private Integer userId;
	
	/** 订单号 */
	@ApiModelProperty(value = "订单号",required = true)
	private String orderNo;

	@ApiModelProperty(value = "审核状态",required = true)
	private StudentApplyRefundsStatus status;
	
	/** 预计退费金额 */
	@ApiModelProperty(value = "预计退费金额",required = true)
	private BigDecimal expectAmount;
	
	/** 实际退费金额 */
	@ApiModelProperty(value = "实际退费金额",required = true)
	private BigDecimal actualAmount;
	
	/**  */
	private java.util.Date createTime;
	
	/**  */
	private java.util.Date updateTime;
	
	private String remark;
	
	/** 原订单编号 */
	@ApiModelProperty(value = "原订单编号",required = true)
	private Long origPaymentOrderId;
	
	private StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
	
	private SysUser user = new SysUser();

	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 setOrderNo(String orderNo){
		this.orderNo = orderNo;
	}
	
	public String getOrderNo(){
		return this.orderNo;
	}

	public StudentApplyRefundsStatus getStatus() {
		return status;
	}

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

	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 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 setOrigPaymentOrderId(Long origPaymentOrderId){
		this.origPaymentOrderId = origPaymentOrderId;
	}
	
	public Long getOrigPaymentOrderId(){
		return this.origPaymentOrderId;
	}
			
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public StudentPaymentOrder getStudentPaymentOrder() {
		return studentPaymentOrder;
	}

	public void setStudentPaymentOrder(StudentPaymentOrder studentPaymentOrder) {
		this.studentPaymentOrder = studentPaymentOrder;
	}

	public SysUser getUser() {
		return user;
	}

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

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

}
