Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cash-loan-flow-boss
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QG
cash-loan-flow-boss
Commits
44f27804
Commit
44f27804
authored
Jul 23, 2020
by
王向伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加风控数据接口
parent
685353ae
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
129 additions
and
43 deletions
+129
-43
CustomerInfo.java
...up/cashloanflowboss/api/customer/entity/CustomerInfo.java
+1
-1
CustomerService.java
...anflowboss/api/customer/service/impl/CustomerService.java
+95
-42
SpiderCenter.java
...group/cashloanflowboss/spi/spiderCenter/SpiderCenter.java
+33
-0
No files found.
src/main/java/cn/quantgroup/cashloanflowboss/api/customer/entity/CustomerInfo.java
View file @
44f27804
...
@@ -80,7 +80,7 @@ public class CustomerInfo {
...
@@ -80,7 +80,7 @@ public class CustomerInfo {
@Data
@Data
class
RiskInfo
{
public
class
RiskInfo
{
private
String
key
;
private
String
key
;
private
String
name
;
private
String
name
;
private
String
value
;
private
String
value
;
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/customer/service/impl/CustomerService.java
View file @
44f27804
...
@@ -2,8 +2,11 @@ package cn.quantgroup.cashloanflowboss.api.customer.service.impl;
...
@@ -2,8 +2,11 @@ package cn.quantgroup.cashloanflowboss.api.customer.service.impl;
import
cn.quantgroup.cashloanflowboss.api.customer.entity.CustomerInfo
;
import
cn.quantgroup.cashloanflowboss.api.customer.entity.CustomerInfo
;
import
cn.quantgroup.cashloanflowboss.api.customer.service.ICustomerService
;
import
cn.quantgroup.cashloanflowboss.api.customer.service.ICustomerService
;
import
cn.quantgroup.cashloanflowboss.component.route.ServiceRoute
;
import
cn.quantgroup.cashloanflowboss.core.base.ServiceResult
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping
;
import
cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfOrderMappingRepository
;
import
cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfOrderMappingRepository
;
import
cn.quantgroup.cashloanflowboss.spi.spiderCenter.SpiderCenter
;
import
cn.quantgroup.cashloanflowboss.spi.user.service.UserSysService
;
import
cn.quantgroup.cashloanflowboss.spi.user.service.UserSysService
;
import
cn.quantgroup.user.retbean.*
;
import
cn.quantgroup.user.retbean.*
;
import
cn.quantgroup.user.vo.UserSysResult
;
import
cn.quantgroup.user.vo.UserSysResult
;
...
@@ -13,7 +16,9 @@ import org.apache.commons.lang3.StringUtils;
...
@@ -13,7 +16,9 @@ import org.apache.commons.lang3.StringUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Objects
;
/**
/**
...
@@ -26,73 +31,121 @@ public class CustomerService implements ICustomerService {
...
@@ -26,73 +31,121 @@ public class CustomerService implements ICustomerService {
@Autowired
@Autowired
private
UserSysService
userSysService
;
private
UserSysService
userSysService
;
@Autowired
private
ServiceRoute
serviceRoute
;
@Autowired
@Autowired
private
ClfOrderMappingRepository
clfOrderMappingRepository
;
private
ClfOrderMappingRepository
clfOrderMappingRepository
;
@Autowired
private
SpiderCenter
spiderCenter
;
@Override
@Override
public
CustomerInfo
getCustomerInfo
(
String
phoneNo
,
String
channelOrderNo
)
{
public
CustomerInfo
getCustomerInfo
(
String
phoneNo
,
String
channelOrderNo
)
{
String
logPre
=
"CustomerService.getCustomerInfo"
;
String
logPre
=
"CustomerService.getCustomerInfo"
;
log
.
info
(
"{} 查询客户信息 phoneNo={},channelOrderNo={}"
,
logPre
,
phoneNo
,
channelOrderNo
);
log
.
info
(
"{} 查询客户信息 phoneNo={},channelOrderNo={}"
,
logPre
,
phoneNo
,
channelOrderNo
);
if
(
StringUtils
.
isAllBlank
(
phoneNo
,
channelOrderNo
))
{
if
(
StringUtils
.
isAllBlank
(
phoneNo
,
channelOrderNo
))
{
log
.
error
(
"{} 查询客户信息失败 参数为空phoneNo={},channelOrderNo={}"
,
logPre
,
phoneNo
,
channelOrderNo
);
log
.
error
(
"{} 查询客户信息失败 参数为空phoneNo={},channelOrderNo={}"
,
logPre
,
phoneNo
,
channelOrderNo
);
return
null
;
return
null
;
}
}
Long
userId
=
getUserId
(
phoneNo
,
channelOrderNo
);
Long
userId
=
getUserId
(
phoneNo
,
channelOrderNo
);
if
(
userId
==
null
)
{
if
(
userId
==
null
)
{
return
null
;
return
null
;
}
}
UserSysResult
<
XUser
>
xUserResult
=
userSysService
.
getService
().
findUserByUserId
(
userId
);
UserSysResult
<
XUser
>
xUserResult
=
userSysService
.
getService
().
findUserByUserId
(
userId
);
if
(!
xUserResult
.
isSuccess
())
{
if
(!
xUserResult
.
isSuccess
())
{
log
.
error
(
"{} 查询用户信息失败 userId={} userResult={}"
,
logPre
,
userId
,
xUserResult
);
log
.
error
(
"{} 查询用户信息失败 userId={} userResult={}"
,
logPre
,
userId
,
xUserResult
);
return
null
;
return
null
;
}
}
CustomerInfo
info
=
new
CustomerInfo
();
CustomerInfo
info
=
new
CustomerInfo
();
populateUser
(
info
,
xUserResult
.
getData
());
populateUser
(
info
,
xUserResult
.
getData
());
UserSysResult
<
XUserDetail
>
userDetailResult
=
userSysService
.
getService
().
findUserDetailByUserId
(
userId
);
UserSysResult
<
XUserDetail
>
userDetailResult
=
userSysService
.
getService
().
findUserDetailByUserId
(
userId
);
if
(!
userDetailResult
.
isSuccess
())
{
if
(!
userDetailResult
.
isSuccess
())
{
log
.
error
(
"{} 查询用户详细信息失败 userId={} userDetailResult={}"
,
logPre
,
userId
,
userDetailResult
);
log
.
error
(
"{} 查询用户详细信息失败 userId={} userDetailResult={}"
,
logPre
,
userId
,
userDetailResult
);
return
null
;
return
null
;
}
}
populateDetail
(
info
,
userDetailResult
.
getData
());
populateDetail
(
info
,
userDetailResult
.
getData
());
UserSysResult
<
XUserExtInfo
>
userExtInfoResult
=
userSysService
.
getService
().
findUserExtInfoByUserId
(
userId
);
UserSysResult
<
XUserExtInfo
>
userExtInfoResult
=
userSysService
.
getService
().
findUserExtInfoByUserId
(
userId
);
if
(!
userExtInfoResult
.
isSuccess
())
{
if
(!
userExtInfoResult
.
isSuccess
())
{
log
.
error
(
"{} 查询用户扩展信息失败 userId={} userExtInfoResult={}"
,
logPre
,
userId
,
userExtInfoResult
);
log
.
error
(
"{} 查询用户扩展信息失败 userId={} userExtInfoResult={}"
,
logPre
,
userId
,
userExtInfoResult
);
return
null
;
return
null
;
}
}
populateExtInfo
(
info
,
userExtInfoResult
.
getData
());
populateExtInfo
(
info
,
userExtInfoResult
.
getData
());
UserSysResult
<
List
<
XContact
>>
contactsResult
=
userSysService
.
getService
().
findContactsByUserId
(
userId
);
UserSysResult
<
List
<
XContact
>>
contactsResult
=
userSysService
.
getService
().
findContactsByUserId
(
userId
);
if
(!
contactsResult
.
isSuccess
())
{
if
(!
contactsResult
.
isSuccess
())
{
log
.
error
(
"{} 查询用户紧急联系人失败 userId={} contactsResult={}"
,
logPre
,
userId
,
contactsResult
);
log
.
error
(
"{} 查询用户紧急联系人失败 userId={} contactsResult={}"
,
logPre
,
userId
,
contactsResult
);
return
null
;
return
null
;
}
}
populateContact
(
info
,
contactsResult
.
getData
());
populateContact
(
info
,
contactsResult
.
getData
());
UserSysResult
<
XAddress
>
addressResult
=
userSysService
.
getService
().
findAddressByUserId
(
userId
);
UserSysResult
<
XAddress
>
addressResult
=
userSysService
.
getService
().
findAddressByUserId
(
userId
);
if
(!
addressResult
.
isSuccess
())
{
if
(!
addressResult
.
isSuccess
())
{
log
.
error
(
"{}查询用户地址失败 userId={} addressResult={}"
,
logPre
,
userId
,
addressResult
);
log
.
error
(
"{}查询用户地址失败 userId={} addressResult={}"
,
logPre
,
userId
,
addressResult
);
return
null
;
return
null
;
}
}
populateAddress
(
info
,
addressResult
.
getData
());
populateAddress
(
info
,
addressResult
.
getData
());
Map
<
String
,
Object
>
param
=
getParam
(
channelOrderNo
);
ServiceResult
<
List
<
CustomerInfo
.
RiskInfo
>>
riskInfoData
=
spiderCenter
.
getRiskInfoData
(
param
);
if
(!
riskInfoData
.
isSuccess
())
{
log
.
error
(
"{}查询风控信息失败 channelOrderNo={} riskInfoData={}"
,
logPre
,
channelOrderNo
,
riskInfoData
);
return
null
;
}
info
.
setRiskInfoList
(
riskInfoData
.
getData
());
return
info
;
return
info
;
}
}
private
Map
<
String
,
Object
>
getParam
(
String
channelOrderNo
)
{
String
logPre
=
"CustomerService.getParam"
;
//优先使用渠道订单号查询userId
if
(
StringUtils
.
isBlank
(
channelOrderNo
))
{
log
.
error
(
"{} 查询客户信息失败 参数为空 channelOrderNo={}"
,
logPre
,
channelOrderNo
);
return
null
;
}
ClfOrderMapping
orderMapping
=
clfOrderMappingRepository
.
findByChannelOrderNoLastOne
(
channelOrderNo
);
if
(
orderMapping
==
null
)
{
log
.
error
(
"{} 查询客户信息失败 未查到对应的order_mapping channelOrderNo={}"
,
logPre
,
channelOrderNo
);
return
null
;
}
Map
<
String
,
Object
>
param
=
new
HashMap
<>();
List
<
String
>
middleStageChannel
=
serviceRoute
.
getMiddleStageChannel
();
if
(
middleStageChannel
.
contains
(
orderMapping
.
getRegisteredFrom
().
toString
())){
param
.
put
(
"type"
,
2
);
}
else
{
param
.
put
(
"type"
,
1
);
}
Long
qgUserId
=
orderMapping
.
getQgUserId
();
UserSysResult
<
XUser
>
userByUserId
=
userSysService
.
getService
().
findUserByUserId
(
qgUserId
);
if
(!
userByUserId
.
isSuccess
())
{
log
.
error
(
"{} 查询用户信息失败 userId={} userResult={}"
,
logPre
,
qgUserId
,
userByUserId
);
return
null
;
}
param
.
put
(
"uuid"
,
userByUserId
.
getData
().
getUuid
());
param
.
put
(
"channelId"
,
userByUserId
.
getData
().
getRegisteredFrom
());
param
.
put
(
"applyNo"
,
orderMapping
.
getApplyNo
());
return
param
;
}
private
void
populateAddress
(
CustomerInfo
info
,
XAddress
xAddress
)
{
private
void
populateAddress
(
CustomerInfo
info
,
XAddress
xAddress
)
{
String
logStr
=
"CustomerService.populateAddress"
;
String
logStr
=
"CustomerService.populateAddress"
;
log
.
info
(
"{} xAddress 填充客户信息 xAddress={}"
,
logStr
,
xAddress
);
log
.
info
(
"{} xAddress 填充客户信息 xAddress={}"
,
logStr
,
xAddress
);
if
(
Objects
.
isNull
(
xAddress
))
{
if
(
Objects
.
isNull
(
xAddress
))
{
log
.
error
(
"{} xAddress填充客户地址失败 xAddress为空"
,
logStr
);
log
.
error
(
"{} xAddress填充客户地址失败 xAddress为空"
,
logStr
);
return
;
return
;
}
}
info
.
setAddress
(
xAddress
.
getAddress
());
info
.
setAddress
(
xAddress
.
getAddress
());
...
@@ -101,13 +154,13 @@ public class CustomerService implements ICustomerService {
...
@@ -101,13 +154,13 @@ public class CustomerService implements ICustomerService {
private
void
populateContact
(
CustomerInfo
info
,
List
<
XContact
>
contacts
)
{
private
void
populateContact
(
CustomerInfo
info
,
List
<
XContact
>
contacts
)
{
String
logStr
=
"CustomerService.populateContact"
;
String
logStr
=
"CustomerService.populateContact"
;
log
.
info
(
"{} contacts填充客户信息 contacts={}"
,
logStr
,
contacts
);
log
.
info
(
"{} contacts填充客户信息 contacts={}"
,
logStr
,
contacts
);
if
(
CollectionUtils
.
isEmpty
(
contacts
))
{
if
(
CollectionUtils
.
isEmpty
(
contacts
))
{
log
.
error
(
"{} contacts填充客户紧急联系人失败 contacts为空"
,
logStr
);
log
.
error
(
"{} contacts填充客户紧急联系人失败 contacts为空"
,
logStr
);
return
;
return
;
}
}
if
(
contacts
.
size
()
!=
2
)
{
if
(
contacts
.
size
()
!=
2
)
{
log
.
error
(
"{} 紧急联系人个数错误 contacts={}"
,
logStr
,
contacts
);
log
.
error
(
"{} 紧急联系人个数错误 contacts={}"
,
logStr
,
contacts
);
return
;
return
;
}
}
info
.
setContactNameA
(
contacts
.
get
(
0
).
getName
());
info
.
setContactNameA
(
contacts
.
get
(
0
).
getName
());
...
@@ -122,9 +175,9 @@ public class CustomerService implements ICustomerService {
...
@@ -122,9 +175,9 @@ public class CustomerService implements ICustomerService {
private
void
populateExtInfo
(
CustomerInfo
info
,
XUserExtInfo
xUserExtInfo
)
{
private
void
populateExtInfo
(
CustomerInfo
info
,
XUserExtInfo
xUserExtInfo
)
{
String
logStr
=
"CustomerService.populateExtInfo"
;
String
logStr
=
"CustomerService.populateExtInfo"
;
log
.
info
(
"{} xUserExtInfo填充客户信息 xUserExtInfo={}"
,
logStr
,
xUserExtInfo
);
log
.
info
(
"{} xUserExtInfo填充客户信息 xUserExtInfo={}"
,
logStr
,
xUserExtInfo
);
if
(
Objects
.
isNull
(
xUserExtInfo
))
{
if
(
Objects
.
isNull
(
xUserExtInfo
))
{
log
.
error
(
"{} xUserExtInfo填充客户扩展信息失败 xUserExtInfo为空"
,
logStr
);
log
.
error
(
"{} xUserExtInfo填充客户扩展信息失败 xUserExtInfo为空"
,
logStr
);
return
;
return
;
}
}
...
@@ -141,9 +194,9 @@ public class CustomerService implements ICustomerService {
...
@@ -141,9 +194,9 @@ public class CustomerService implements ICustomerService {
private
void
populateDetail
(
CustomerInfo
info
,
XUserDetail
xUserDetail
)
{
private
void
populateDetail
(
CustomerInfo
info
,
XUserDetail
xUserDetail
)
{
String
logStr
=
"CustomerService.populateDetail"
;
String
logStr
=
"CustomerService.populateDetail"
;
log
.
info
(
"{} xUser填充客户信息 xUser={}"
,
logStr
,
xUserDetail
);
log
.
info
(
"{} xUser填充客户信息 xUser={}"
,
logStr
,
xUserDetail
);
if
(
Objects
.
isNull
(
xUserDetail
))
{
if
(
Objects
.
isNull
(
xUserDetail
))
{
log
.
error
(
"{} xUserDetail填充客户信息失败 xUserDetail为空"
,
logStr
);
log
.
error
(
"{} xUserDetail填充客户信息失败 xUserDetail为空"
,
logStr
);
return
;
return
;
}
}
info
.
setName
(
xUserDetail
.
getName
());
info
.
setName
(
xUserDetail
.
getName
());
...
@@ -154,9 +207,9 @@ public class CustomerService implements ICustomerService {
...
@@ -154,9 +207,9 @@ public class CustomerService implements ICustomerService {
private
void
populateUser
(
CustomerInfo
info
,
XUser
xUser
)
{
private
void
populateUser
(
CustomerInfo
info
,
XUser
xUser
)
{
String
logStr
=
"CustomerService.populateUser"
;
String
logStr
=
"CustomerService.populateUser"
;
log
.
info
(
"{} xUser填充客户信息 xUser={}"
,
logStr
,
xUser
);
log
.
info
(
"{} xUser填充客户信息 xUser={}"
,
logStr
,
xUser
);
if
(
Objects
.
isNull
(
xUser
))
{
if
(
Objects
.
isNull
(
xUser
))
{
log
.
error
(
"{} xUser填充客户信息失败 xUser为空"
,
logStr
);
log
.
error
(
"{} xUser填充客户信息失败 xUser为空"
,
logStr
);
return
;
return
;
}
}
info
.
setUserId
(
xUser
.
getId
());
info
.
setUserId
(
xUser
.
getId
());
...
@@ -168,19 +221,19 @@ public class CustomerService implements ICustomerService {
...
@@ -168,19 +221,19 @@ public class CustomerService implements ICustomerService {
private
Long
getUserId
(
String
phoneNo
,
String
channelOrderNo
)
{
private
Long
getUserId
(
String
phoneNo
,
String
channelOrderNo
)
{
String
logPre
=
"CustomerService.getUserId"
;
String
logPre
=
"CustomerService.getUserId"
;
//优先使用渠道订单号查询userId
//优先使用渠道订单号查询userId
if
(
StringUtils
.
isNotBlank
(
channelOrderNo
))
{
if
(
StringUtils
.
isNotBlank
(
channelOrderNo
))
{
ClfOrderMapping
orderMapping
=
clfOrderMappingRepository
.
findByChannelOrderNoLastOne
(
channelOrderNo
);
ClfOrderMapping
orderMapping
=
clfOrderMappingRepository
.
findByChannelOrderNoLastOne
(
channelOrderNo
);
if
(
orderMapping
==
null
)
{
if
(
orderMapping
==
null
)
{
log
.
error
(
"{} 查询客户信息失败 未查到对应的order_mapping channelOrderNo={}"
,
logPre
,
channelOrderNo
);
log
.
error
(
"{} 查询客户信息失败 未查到对应的order_mapping channelOrderNo={}"
,
logPre
,
channelOrderNo
);
return
null
;
return
null
;
}
}
return
orderMapping
.
getQgUserId
();
return
orderMapping
.
getQgUserId
();
}
else
{
}
else
{
UserSysResult
<
XUser
>
user
=
UserSysResult
<
XUser
>
user
=
userSysService
.
getService
().
findUserByPhoneNo
(
phoneNo
);
userSysService
.
getService
().
findUserByPhoneNo
(
phoneNo
);
if
(!
user
.
isSuccess
())
{
if
(!
user
.
isSuccess
())
{
log
.
error
(
"{} 查询客户信息失败 phoneNo={},result={}"
,
logPre
,
phoneNo
,
user
);
log
.
error
(
"{} 查询客户信息失败 phoneNo={},result={}"
,
logPre
,
phoneNo
,
user
);
return
null
;
return
null
;
}
}
return
user
.
getData
().
getId
();
return
user
.
getData
().
getId
();
...
...
src/main/java/cn/quantgroup/cashloanflowboss/spi/spiderCenter/SpiderCenter.java
0 → 100644
View file @
44f27804
package
cn
.
quantgroup
.
cashloanflowboss
.
spi
.
spiderCenter
;
import
cn.quantgroup.cashloanflowboss.api.customer.entity.CustomerInfo
;
import
cn.quantgroup.cashloanflowboss.core.base.ServiceResult
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author Wang Xiangwei
* @version 2020/7/22
*/
@Component
@FeignClient
(
name
=
"OPCenter"
,
url
=
"${spider.api-host}"
,
fallback
=
SpiderCenter
.
Fallback
.
class
)
public
interface
SpiderCenter
{
@PostMapping
(
value
=
"/spider-center/middle_office/ex/import/check_risk_info_data"
,
consumes
=
"application/x-www-form-urlencoded"
)
ServiceResult
<
List
<
CustomerInfo
.
RiskInfo
>>
getRiskInfoData
(
@RequestParam
Map
paramMap
);
@Component
class
Fallback
implements
SpiderCenter
{
@Override
public
ServiceResult
<
List
<
CustomerInfo
.
RiskInfo
>>
getRiskInfoData
(
Map
paramMap
)
{
return
ServiceResult
.
buildFial
();
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment