package com.ruoyi.dk.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 借款计划对象 dk_borrow
 *
 * @author duteliang
 * @date 2023-11-29
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("dk_borrow")
@Schema(description = "借款计划")
public class Borrow implements Serializable {

    private static final long serialVersionUID=1L;


    /** ID */
    @TableId(value = "id")
    @Schema(description = "ID")
    private Long id;
    @Schema(description = "用途说明")
    private String noteRemark;


    private Boolean auditFlag;

    /** 订单编号 */
    @Schema(description = "订单编号")
    private String tradeNo;

    /** 总贷款额 */
    @Schema(description = "总贷款额")
    private BigDecimal totalLoanMoney;

    /** 还款月数 */
    @Schema(description = "还款月数")
    private Integer totalMonth;

    /** 月利率 */
    @Schema(description = "月利率")
    private Double loanMonthRate;

    /** 年利率 */
    @Schema(description = "年利率")
    private Double loanYearRate;

    /** 总利息数 */
    @Schema(description = "总利息数")
    private BigDecimal totalInterest;

    /** 还款总额 */
    @Schema(description = "还款总额")
    private BigDecimal totalRepayment;

    /** 首月还款额 */
    @Schema(description = "首月还款额")
    private BigDecimal firstRepayment;

    /** 每月还款额 */
    @Schema(description = "每月还款额")
    private BigDecimal avgRepayment;

    /** 每月还款日 */
    @Schema(description = "每月还款日")
    private Integer dueDate;

    /** 是否打款 */
    @Schema(description = "是否打款")
    private Integer remitFlag;

    @Schema(description = "客户电话")
    private String customerPhone;

    /** 借款状态 */
    @Schema(description = "借款状态")
    private String borrowName;

    /** 借款状态编码 **/
    @Schema(description = "借款状态ID")
    private Long borrowStatusId;

    @Schema(description = "借款状态样式")
    private String borrowNameStyle;

    /** 借款说明 */
    @Schema(description = "借款说明")
    private String borrowRemark;

    /** 还款说明 */
    @Schema(description = "还款说明")
    private String repayRemark;

    /** 计划 */
    @Schema(description = "计划")
    private String infoJson;

    /** 客户ID */
    @Schema(description = "客户ID")
    private Long customerId;

    /** 真实姓名 */
    @Schema(description = "真实姓名")
    private String realName;

    /** 身份证照片 */
    @Schema(description = "身份证照片")
    private String cardNum;

    /** 身份证正面 */
    @Schema(description = "身份证正面")
    private String cardFrontPicture;

    private String handCardPicture;

    /** 身份证背面 */
    @Schema(description = "身份证背面")
    private String cardBackPicture;

    /** 单位名称 */
    @Schema(description = "单位名称")
    private String companyName;

    /** 职位 */
    @Schema(description = "职位")
    private String companyTitle;

    /** 单位电话 */
    @Schema(description = "单位电话")
    private String companyPhone;

    /** 工作年龄 */
    @Schema(description = "工作年龄")
    private String companyYear;

    /** 单位地址 */
    @Schema(description = "单位地址")
    private String companyAddress;

    /** 详细地址 */
    @Schema(description = "详细地址")
    private String companyAddressInfo;

    /** 现居住地址 */
    @Schema(description = "现居住地址")
    private String customerAddress;

    /** 详细地址 */
    @Schema(description = "详细地址")
    private String customerAddressInfo;

    /** 亲属姓名 */
    @Schema(description = "亲属姓名")
    private String kinsfolkName;

    /** 亲属电话 */
    @Schema(description = "亲属电话")
    private String kinsfolkPhone;

    /** 亲属关系 1-父母、2-配偶、3-子女，4-祖父母 */
    @Schema(description = "亲属关系 1-父母、2-配偶、3-子女，4-祖父母")
    private String kinsfolkRef;

    @Schema(description = "转账备注")
    private String transRemark;

    /** $column.columnComment */
    @Schema(description = "$column.columnComment")
    private String bankType;

    /** $column.columnComment */
    @Schema(description = "$column.columnComment")
    private String backCardNum;

    /** $column.columnComment */
    @Schema(description = "$column.columnComment")
    private String firstBankType;

    /** $column.columnComment */
    @Schema(description = "$column.columnComment")
    private String firstBackCardNum;

    /** 修改银行卡次数 */
    @Schema(description = "修改银行卡次数")
    private Integer updateBackNum;

    @Schema(description = "收入（万）")
    private BigDecimal incomeWan;

    /** 创建时间 */
    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    /** 修改时间 */
    @Schema(description = "修改时间")
    private LocalDateTime updateTime;

    private String tenantId;

}
