package cn.ezhizao.project.business.deposit.domain;

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

import cn.ezhizao.project.system.domain.SysFileStorage;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import cn.ezhizao.framework.web.domain.BaseEntity;
import lombok.Data;
import io.swagger.annotations.ApiModelProperty;
import cn.ezhizao.framework.aspectj.lang.annotation.Excel;

/**
 * 存款对象 biz_deposit
 *
 * @author ruoyi
 * @date 2023-11-13
 */
@Data
@TableName(value = "biz_deposit")
public class BizDeposit extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 签约主体 */
    @ApiModelProperty(value = "${comment}")
    private Long tenantId;

    /** 存款租户外键 */
    @ApiModelProperty(value = "${comment}")
    private Long fromTenantId;

    /** 委托订单外键外键 */
    @ApiModelProperty(value = "${comment}")
    private Long entrustOrderId;



    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "存款日期", width = 20, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "存款日期")
    private Date depositDate;


    @Excel(name = "委托单号")
    @TableField(exist = false)
    private String formNo;

    @Excel(name = "预存单位")
    @TableField(exist = false)
    private String contactCompany;

    @Excel(name = "签约主体")
    @TableField(exist = false)
    private String signingSubject;

    /** 存款金额 */
    @Excel(name = "金额")
    @ApiModelProperty(value = "存款金额")
    private BigDecimal amount;

    /** 余额 */
//    @Excel(name = "余额")
    @ApiModelProperty(value = "余额")
    private BigDecimal remainAmount;

    /** 存款类型 1默认 2赠送 */
//    @Excel(name = "存款类型 1默认 2赠送")
    @ApiModelProperty(value = "存款类型 1默认 2赠送")
    private Integer type;

    /** 审核状态 0 未审核 1审核通过 2审核不通过 */
//    @Excel(name = "审核状态 0 未审核 1审核通过 2审核不通过")
    @ApiModelProperty(value = "审核状态 0 未审核 1审核通过 2审核不通过")
    private Integer status;

    /** 审核状态 0 未审核 1审核通过 2审核不通过 */
    @Excel(name = "审核状态")
    @TableField(exist = false)
    private String statusTyp;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "审核时间")
    private Date verifyDate;

    /** 审核提醒 */
//    @Excel(name = "审核提醒")
    @ApiModelProperty(value = "审核提醒")
    private String verifyRemark;

    /** 审核人 */
    @ApiModelProperty(value = "审核提醒")
    private Long verifierId;

    @TableField(exist = false)
    private List<SysFileStorage> files;





    @TableField(exist = false)
    private BigDecimal freeAmount;
}
