package com.nova.sankuai.domain.entity; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.nova.sankuai.domain.enums.capitalInfo.CapitalResultStatusEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * @author weikangdi * @create 2022/5/5 */ @Data @ApiModel(value = "客户资方对接结果") public class CustomerCapitalResult { /** * 撞库失败 */ public static final Integer CHECK_FAIL = 0; /** * 撞库成功 */ public static final Integer CHECK_SUCCESS = 1; @ApiModelProperty(value = "主键") @TableId private Long id; @ApiModelProperty(value = "客户申请记录ID") private Long customerRecordId; @ApiModelProperty(value = "客户用户ID") private Long customerUserId; @ApiModelProperty(value = "资方ID") private Long capitalInfoId; @ApiModelProperty(value = "对接状态") private Integer status; @ApiModelProperty(value = "撞库结果") private Integer checkResult; @ApiModelProperty(value = "创建日期") private Date creationDate; @ApiModelProperty(value = "最后更新日期") private Date lastUpdatedDate; @ApiModelProperty(value = "删除标志 0-未删除 1-已删除") @TableLogic private Integer deleteFlag; @ApiModelProperty(value = "资方代码") private String capitalInfoCode; @ApiModelProperty(value = "授信编号") private String creditNo; @ApiModelProperty(value = "授信审批结果") private Integer approvalResult; @ApiModelProperty(value = "授信额度") private String totalCredit; @ApiModelProperty(value = "随机授信额度") private Integer tempTotalCredit; @ApiModelProperty(value = "额度失效日期") private String subExpDate; @ApiModelProperty(value = "利率类型") private String rateType; @ApiModelProperty(value = "利率") private String quotaRate; @ApiModelProperty(value = "可用金额") private String availableAmount; @ApiModelProperty(value = "授信协议号") private String creditContractNo; @ApiModelProperty(value = "审批时间") private String creditApplyTime; @ApiModelProperty(value = "审批被拒原因") private String failedReason; @ApiModelProperty(value = "金额变更细粒度(默认100)") private String stepAmount; @ApiModelProperty(value = "审批可借期数") private String periods; @ApiModelProperty(value = "最大借款金额") private String maxAmount; @ApiModelProperty(value = "最小借款金额") private String minAmount; @ApiModelProperty(value = "期限类型") private String approvalTermUnit; @ApiModelProperty(value = "冻结时间,冻结时间过后可提交授信") private String freezeTime; @ApiModelProperty(value = "是否绑定银行卡 0-否 1-是 默认0") private Integer hasBindCard; @ApiModelProperty(value = "洋钱罐用户Id") private String yqgUserId; @ApiModelProperty(value = "用信审批结果") private Integer loanApplyResult; @ApiModelProperty(value = "用信结果描述") private String loanResultDesc; @ApiModelProperty(value = "放款成功时间") private String loanTime; @ApiModelProperty(value = "洋钱罐借款金额/容易花CPS70价格") private Double yqgAmount; @ApiModelProperty(value = "洋钱罐借款期限") private Integer yqgPeriod; @ApiModelProperty(value = "易贝分期联登返回0为登录用户,1为注册用户") private Integer validRegistration; @ApiModelProperty(value = "易贝分期进件成功时间") private String submitSuccessTime; @ApiModelProperty(value = "内部授信审批结果") private String approvalInnerResult; @ApiModelProperty(value = "借款/用信订单编号") private String loanNo; @ApiModelProperty(value = "资方结果申请来源渠道代码") private String CapitalResultSourceCode; @ApiModelProperty(value = "是否全部还清 0-否 1-是") private Integer repayResult; @ApiModelProperty(value = "最新一次绑定银行卡号") private String bankCardNo; @ApiModelProperty(value = "最新一次绑定银行名称") private String bankName; @ApiModelProperty(value = "第三方订单状态值") private Integer thirdOrderStatus; @ApiModelProperty(value = "借款金额") private Long loanAmount; @ApiModelProperty(value = "借款申请时间") private Date loanApplyDate; @ApiModelProperty(value = "统计首页弹窗的资方被弹出了多少次") private Integer accessPopupHomeSum; @ApiModelProperty(value = "统计返回弹窗的资方被弹出了多少次") private Integer accessPopupReturnSum; @ApiModelProperty(value = "统计用户点击首页弹窗的总次数。每点击一次弹窗,累计+1") private Integer accessClickedHomeSum; @ApiModelProperty(value = "统计用户点击返回弹窗的总次数。每点击一次弹窗,累计+1") private Integer accessClickedReturnSum; @ApiModelProperty(value = "弹窗时的页面路由地址") private String notificationUrl; @ApiModelProperty(value = "最新一次绑定银行编码") private String bankCode; @ApiModelProperty(value = "最新一次绑定银行预留手机号") private String bankPhoneNo; @ApiModelProperty(value = "银行户名") private String bankCardName; @ApiModelProperty(value = "豆豆钱弹窗 0-未弹出 1-已弹出") private Integer popupDdq; @ApiModelProperty(value = "授信成功后发送短信 1已发送,0未发送") private Integer isSendSms; @ApiModelProperty(value = "放款成功后发送短信 1已发送,0未发送") private Integer makeLoanSendSms; public static CustomerCapitalResult initResult(CapitalInfo capitalInfo, Long customerUserId, Long customerRecordId) { CustomerCapitalResult customerCapitalResult = new CustomerCapitalResult(); customerCapitalResult.setCreationDate(new Date()); customerCapitalResult.setLastUpdatedDate(new Date()); customerCapitalResult.setCapitalInfoId(capitalInfo.getId()); customerCapitalResult.setCapitalInfoCode(capitalInfo.getCode()); customerCapitalResult.setCustomerRecordId(customerRecordId); customerCapitalResult.setCustomerUserId(customerUserId); customerCapitalResult.setStatus(CapitalResultStatusEnum.CHECK.getCode()); return customerCapitalResult; } }