Sunshine
2024-11-04 919ed870ea1def0cfdd1dff23bec204975e7f34c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
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;
    }
}