Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
asset-distribution
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
data-spider
asset-distribution
Commits
5ddb769c
Commit
5ddb769c
authored
Apr 28, 2020
by
liwenbin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
你我贷需求
parent
c849eda3
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
200 additions
and
25 deletions
+200
-25
NiWoDaiController.java
...roup/asset/distribution/controller/NiWoDaiController.java
+5
-3
RedisFlushController.java
...p/asset/distribution/controller/RedisFlushController.java
+12
-0
AssetDistributeServiceImpl.java
...n/service/distribute/impl/AssetDistributeServiceImpl.java
+1
-1
IAidFundAssetService.java
...et/distribution/service/funding/IAidFundAssetService.java
+2
-1
IAidLoanFundConfigService.java
...stribution/service/funding/IAidLoanFundConfigService.java
+1
-1
IAidLoanFundUserTagService.java
...tribution/service/funding/IAidLoanFundUserTagService.java
+14
-0
AidFundAssetServiceImpl.java
...ibution/service/funding/impl/AidFundAssetServiceImpl.java
+3
-2
AidFundRouteServiceImpl.java
...ibution/service/funding/impl/AidFundRouteServiceImpl.java
+15
-12
AidLoanFundConfigServiceImpl.java
...on/service/funding/impl/AidLoanFundConfigServiceImpl.java
+5
-0
AidLoanFundUserTagServiceImpl.java
...n/service/funding/impl/AidLoanFundUserTagServiceImpl.java
+39
-0
AidLoanFundAuditOrder.java
...istribution/service/jpa/entity/AidLoanFundAuditOrder.java
+3
-0
AidLoanFundConfig.java
...et/distribution/service/jpa/entity/AidLoanFundConfig.java
+3
-0
AidLoanFundRouteRecord.java
...stribution/service/jpa/entity/AidLoanFundRouteRecord.java
+3
-0
AidLoanFundUserTag.java
...t/distribution/service/jpa/entity/AidLoanFundUserTag.java
+58
-0
IAidLoanFundUserTagRepository.java
...service/jpa/repository/IAidLoanFundUserTagRepository.java
+12
-0
INiwodaiAssetService.java
...et/distribution/service/niwodai/INiwodaiAssetService.java
+1
-1
NiwodaiAssetServiceImpl.java
...ibution/service/niwodai/impl/NiwodaiAssetServiceImpl.java
+15
-3
NiwodaiServiceImpl.java
...distribution/service/niwodai/impl/NiwodaiServiceImpl.java
+1
-1
NiwodaiDataImportCheckResponseVO.java
.../service/niwodai/vo/NiwodaiDataImportCheckResponseVO.java
+7
-0
No files found.
src/main/java/com/quantgroup/asset/distribution/controller/NiWoDaiController.java
View file @
5ddb769c
...
@@ -77,7 +77,7 @@ public class NiWoDaiController {
...
@@ -77,7 +77,7 @@ public class NiWoDaiController {
alarmService
.
dingtalkAlarm
(
"Error"
,
"你我贷审核结果回调type错误"
,
"bizNo : "
+
orderId
+
" , type : "
+
type
+
" , code : "
+
code
+
" , timestamp : "
+
timestamp
+
" , data : "
+
data
);
alarmService
.
dingtalkAlarm
(
"Error"
,
"你我贷审核结果回调type错误"
,
"bizNo : "
+
orderId
+
" , type : "
+
type
+
" , code : "
+
code
+
" , timestamp : "
+
timestamp
+
" , data : "
+
data
);
return
GlobalResponse
.
success
();
return
GlobalResponse
.
success
();
}
}
if
(
code
==
null
||
(
code
!=
300005
&&
code
!=
300006
))
{
if
(
code
==
null
||
(
code
.
intValue
()
!=
300005
&&
code
.
intValue
()
!=
300006
))
{
log
.
info
(
"你我贷审核进件回调结果code出现错误, orderId : {}, type : {}, code : {}, timestamp : {}, data : {}"
,
orderId
,
type
,
code
,
timestamp
,
data
);
log
.
info
(
"你我贷审核进件回调结果code出现错误, orderId : {}, type : {}, code : {}, timestamp : {}, data : {}"
,
orderId
,
type
,
code
,
timestamp
,
data
);
alarmService
.
dingtalkAlarm
(
"Error"
,
"你我贷审核结果回调code出现错误"
,
"bizNo : "
+
orderId
+
" , type : "
+
type
+
" , code : "
+
code
+
" , timestamp : "
+
timestamp
+
" , data : "
+
data
);
alarmService
.
dingtalkAlarm
(
"Error"
,
"你我贷审核结果回调code出现错误"
,
"bizNo : "
+
orderId
+
" , type : "
+
type
+
" , code : "
+
code
+
" , timestamp : "
+
timestamp
+
" , data : "
+
data
);
return
GlobalResponse
.
success
();
return
GlobalResponse
.
success
();
...
@@ -86,7 +86,7 @@ public class NiWoDaiController {
...
@@ -86,7 +86,7 @@ public class NiWoDaiController {
AssetForm
assetForm
=
JSON
.
parseObject
(
aidLoanFundAuditOrder
.
getAssetFormText
(),
AssetForm
.
class
);
AssetForm
assetForm
=
JSON
.
parseObject
(
aidLoanFundAuditOrder
.
getAssetFormText
(),
AssetForm
.
class
);
Asset
asset
=
JSON
.
parseObject
(
aidLoanFundAuditOrder
.
getAssetText
(),
Asset
.
class
);
Asset
asset
=
JSON
.
parseObject
(
aidLoanFundAuditOrder
.
getAssetText
(),
Asset
.
class
);
Map
<
String
,
Object
>
dataMap
=
JSON
.
parseObject
(
aidLoanFundAuditOrder
.
getDataText
(),
Map
.
class
);
Map
<
String
,
Object
>
dataMap
=
JSON
.
parseObject
(
aidLoanFundAuditOrder
.
getDataText
(),
Map
.
class
);
if
(
300005
==
code
)
{
if
(
300005
==
code
.
intValue
()
)
{
// 将助贷审核订单状态改为拒绝
// 将助贷审核订单状态改为拒绝
aidFundAuditOrderService
.
updateOrderStatus
(
aidLoanFundAuditOrder
,
AidFundStatus
.
Incoming
.
REJECT
);
aidFundAuditOrderService
.
updateOrderStatus
(
aidLoanFundAuditOrder
,
AidFundStatus
.
Incoming
.
REJECT
);
// 将分发记录改为失败
// 将分发记录改为失败
...
@@ -101,10 +101,12 @@ public class NiWoDaiController {
...
@@ -101,10 +101,12 @@ public class NiWoDaiController {
return
GlobalResponse
.
success
();
return
GlobalResponse
.
success
();
}
}
// 通过了直接通知资金系统
// 通过了直接通知资金系统
String
finance
=
financeProductService
.
createSingletonFinanceProduct
(
vo
.
getApprovedAmount
().
toString
(),
String
.
valueOf
(
vo
.
getApproveTerm
()),
AidFundConstants
.
FundId
.
NIWODAI
,
"1052"
);
String
finance
=
financeProductService
.
createSingletonFinanceProduct
(
vo
.
getApprovedAmount
().
toString
(),
String
.
valueOf
(
vo
.
getApproveTerm
()),
aidLoanFundAuditOrder
.
getFundId
(),
aidLoanFundAuditOrder
.
getFundProductId
()
);
assetForm
=
financeProductService
.
checkFundResult
(
assetForm
,
finance
,
Long
.
parseLong
(
vo
.
getValidBefore
()));
assetForm
=
financeProductService
.
checkFundResult
(
assetForm
,
finance
,
Long
.
parseLong
(
vo
.
getValidBefore
()));
assetForm
.
setAmount
(
vo
.
getApprovedAmount
().
toString
());
assetForm
.
setAmount
(
vo
.
getApprovedAmount
().
toString
());
assetForm
.
setTerm
(
String
.
valueOf
(
vo
.
getApproveTerm
()));
assetForm
.
setTerm
(
String
.
valueOf
(
vo
.
getApproveTerm
()));
// 将助贷审核订单状态改为成功
aidFundAuditOrderService
.
updateOrderStatus
(
aidLoanFundAuditOrder
,
AidFundStatus
.
Incoming
.
PASS
);
notifyService
.
notifyFundServer
(
assetForm
,
dataMap
);
notifyService
.
notifyFundServer
(
assetForm
,
dataMap
);
}
}
log
.
info
(
"你我贷审核进件回调结果处理完成, orderId : {}, type : {}, code : {}, timestamp : {}, data : {}"
,
orderId
,
log
.
info
(
"你我贷审核进件回调结果处理完成, orderId : {}, type : {}, code : {}, timestamp : {}, data : {}"
,
orderId
,
...
...
src/main/java/com/quantgroup/asset/distribution/controller/RedisFlushController.java
View file @
5ddb769c
...
@@ -5,6 +5,7 @@ import com.quantgroup.asset.distribution.model.response.GlobalResponse;
...
@@ -5,6 +5,7 @@ import com.quantgroup.asset.distribution.model.response.GlobalResponse;
import
com.quantgroup.asset.distribution.service.asset.IAssetAttributeExtendConfigService
;
import
com.quantgroup.asset.distribution.service.asset.IAssetAttributeExtendConfigService
;
import
com.quantgroup.asset.distribution.service.authority.IAuthorityService
;
import
com.quantgroup.asset.distribution.service.authority.IAuthorityService
;
import
com.quantgroup.asset.distribution.service.distribute.IAssetDistributeRuleConfigService
;
import
com.quantgroup.asset.distribution.service.distribute.IAssetDistributeRuleConfigService
;
import
com.quantgroup.asset.distribution.service.funding.IAidLoanFundConfigService
;
import
com.quantgroup.asset.distribution.service.funding.IFundModuleLimitTypeService
;
import
com.quantgroup.asset.distribution.service.funding.IFundModuleLimitTypeService
;
import
com.quantgroup.asset.distribution.service.redis.IRedisService
;
import
com.quantgroup.asset.distribution.service.redis.IRedisService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -36,6 +37,8 @@ public class RedisFlushController {
...
@@ -36,6 +37,8 @@ public class RedisFlushController {
private
IAssetDistributeRuleConfigService
assetDistributeRuleConfigService
;
private
IAssetDistributeRuleConfigService
assetDistributeRuleConfigService
;
@Autowired
@Autowired
private
IFundModuleLimitTypeService
limitTypeService
;
private
IFundModuleLimitTypeService
limitTypeService
;
@Autowired
private
IAidLoanFundConfigService
aidLoanFundConfigService
;
/**
/**
* 助贷资金池刷新
* 助贷资金池刷新
...
@@ -72,4 +75,13 @@ public class RedisFlushController {
...
@@ -72,4 +75,13 @@ public class RedisFlushController {
if
(
authKey
.
equals
(
key
))
{
limitTypeService
.
clearCache
();
}
if
(
authKey
.
equals
(
key
))
{
limitTypeService
.
clearCache
();
}
return
GlobalResponse
.
success
();
return
GlobalResponse
.
success
();
}
}
@RequestMapping
(
"/aid_loan_pool_flush"
)
public
GlobalResponse
AidLoanPoolFlush
(
String
key
)
{
if
(
authKey
.
equals
(
key
))
{
aidLoanFundConfigService
.
clearCache
();
return
GlobalResponse
.
success
();
}
return
GlobalResponse
.
error
(
"authKey验证失败"
);
}
}
}
src/main/java/com/quantgroup/asset/distribution/service/distribute/impl/AssetDistributeServiceImpl.java
View file @
5ddb769c
...
@@ -104,7 +104,7 @@ public class AssetDistributeServiceImpl implements IAssetDistributeService{
...
@@ -104,7 +104,7 @@ public class AssetDistributeServiceImpl implements IAssetDistributeService{
if
(
valid
)
{
if
(
valid
)
{
// 先创建记录,避免mq里消息来了就还没创建
// 先创建记录,避免mq里消息来了就还没创建
AssetDistributeRecord
assetDistributeRecord
=
assetDistributeRecordService
.
saveDistributeRecord
(
asset
,
record
,
StatusConstants
.
WAIT
,
ruleType
);
AssetDistributeRecord
assetDistributeRecord
=
assetDistributeRecordService
.
saveDistributeRecord
(
asset
,
record
,
StatusConstants
.
WAIT
,
ruleType
);
int
distributeStatus
=
beginDistribute
(
assetForm
,
asset
,
ruleType
,
assetDistributeRecord
,
data
);
int
distributeStatus
=
beginDistribute
(
assetForm
,
asset
,
ruleType
.
intValue
()
,
assetDistributeRecord
,
data
);
// 分发成功
// 分发成功
if
(
distributeStatus
==
StatusConstants
.
SUCCESS
||
distributeStatus
==
StatusConstants
.
WAIT
)
{
if
(
distributeStatus
==
StatusConstants
.
SUCCESS
||
distributeStatus
==
StatusConstants
.
WAIT
)
{
log
.
info
(
"用户执行分发节点, uuid : {}, bizNo : {}, assetNo : {}, bizChannel : {}, ruleId : {}, ruleName : {}, distributeStatus : {}"
,
log
.
info
(
"用户执行分发节点, uuid : {}, bizNo : {}, assetNo : {}, bizChannel : {}, ruleId : {}, ruleName : {}, distributeStatus : {}"
,
...
...
src/main/java/com/quantgroup/asset/distribution/service/funding/IAidFundAssetService.java
View file @
5ddb769c
package
com
.
quantgroup
.
asset
.
distribution
.
service
.
funding
;
package
com
.
quantgroup
.
asset
.
distribution
.
service
.
funding
;
import
com.quantgroup.asset.distribution.model.form.AssetForm
;
import
com.quantgroup.asset.distribution.model.form.AssetForm
;
import
com.quantgroup.asset.distribution.service.jpa.entity.Asset
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -25,5 +26,5 @@ public interface IAidFundAssetService {
...
@@ -25,5 +26,5 @@ public interface IAidFundAssetService {
* @param userLoanType
* @param userLoanType
* @return true:进件成功 false:进件失败
* @return true:进件成功 false:进件失败
*/
*/
public
boolean
audit
(
AssetForm
assetForm
,
Map
<
String
,
Object
>
data
,
Integer
userLoanType
,
String
fundId
);
public
boolean
audit
(
AssetForm
assetForm
,
Map
<
String
,
Object
>
data
,
Asset
asset
,
String
fundId
);
}
}
src/main/java/com/quantgroup/asset/distribution/service/funding/IAidLoanFundConfigService.java
View file @
5ddb769c
...
@@ -32,5 +32,5 @@ public interface IAidLoanFundConfigService {
...
@@ -32,5 +32,5 @@ public interface IAidLoanFundConfigService {
*/
*/
AidLoanFundConfig
findByFundNo
(
String
fundNo
);
AidLoanFundConfig
findByFundNo
(
String
fundNo
);
void
clearCache
();
}
}
src/main/java/com/quantgroup/asset/distribution/service/funding/IAidLoanFundUserTagService.java
0 → 100644
View file @
5ddb769c
package
com
.
quantgroup
.
asset
.
distribution
.
service
.
funding
;
import
com.quantgroup.asset.distribution.model.form.AssetForm
;
import
com.quantgroup.asset.distribution.service.jpa.entity.Asset
;
/**
* @author : Hyuk
* @description : IAidLOanFundUserTagService
* @date : 2020/4/28 10:43 上午
*/
public
interface
IAidLoanFundUserTagService
{
public
void
saveUserTag
(
AssetForm
assetForm
,
Asset
asset
,
String
fundId
,
String
tagText
);
}
src/main/java/com/quantgroup/asset/distribution/service/funding/impl/AidFundAssetServiceImpl.java
View file @
5ddb769c
...
@@ -5,6 +5,7 @@ import com.quantgroup.asset.distribution.exception.QGException;
...
@@ -5,6 +5,7 @@ import com.quantgroup.asset.distribution.exception.QGException;
import
com.quantgroup.asset.distribution.exception.QGExceptionType
;
import
com.quantgroup.asset.distribution.exception.QGExceptionType
;
import
com.quantgroup.asset.distribution.model.form.AssetForm
;
import
com.quantgroup.asset.distribution.model.form.AssetForm
;
import
com.quantgroup.asset.distribution.service.funding.IAidFundAssetService
;
import
com.quantgroup.asset.distribution.service.funding.IAidFundAssetService
;
import
com.quantgroup.asset.distribution.service.jpa.entity.Asset
;
import
com.quantgroup.asset.distribution.service.niwodai.INiwodaiAssetService
;
import
com.quantgroup.asset.distribution.service.niwodai.INiwodaiAssetService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -36,10 +37,10 @@ public class AidFundAssetServiceImpl implements IAidFundAssetService {
...
@@ -36,10 +37,10 @@ public class AidFundAssetServiceImpl implements IAidFundAssetService {
}
}
@Override
@Override
public
boolean
audit
(
AssetForm
assetForm
,
Map
<
String
,
Object
>
data
,
Integer
userLoanType
,
String
fundId
)
{
public
boolean
audit
(
AssetForm
assetForm
,
Map
<
String
,
Object
>
data
,
Asset
asset
,
String
fundId
)
{
switch
(
fundId
)
{
switch
(
fundId
)
{
case
AidFundConstants
.
FundId
.
NIWODAI
:
{
case
AidFundConstants
.
FundId
.
NIWODAI
:
{
return
niwodaiAssetService
.
incoming
(
assetForm
,
data
,
userLoanType
).
getCode
().
equals
(
300007
);
return
niwodaiAssetService
.
incoming
(
assetForm
,
data
,
asset
).
getCode
().
equals
(
300007
);
}
}
default
:
default
:
throw
new
QGException
(
QGExceptionType
.
UNKNOW_AID_FUND_ID
);
throw
new
QGException
(
QGExceptionType
.
UNKNOW_AID_FUND_ID
);
...
...
src/main/java/com/quantgroup/asset/distribution/service/funding/impl/AidFundRouteServiceImpl.java
View file @
5ddb769c
...
@@ -60,7 +60,8 @@ public class AidFundRouteServiceImpl implements IAidFundRouteService {
...
@@ -60,7 +60,8 @@ public class AidFundRouteServiceImpl implements IAidFundRouteService {
* 助贷资金路由
* 助贷资金路由
*
*
* @param assetForm
* @param assetForm
* @param userLoanType
* @param asset
* @param data
* @return
* @return
*/
*/
@Override
@Override
...
@@ -82,14 +83,14 @@ public class AidFundRouteServiceImpl implements IAidFundRouteService {
...
@@ -82,14 +83,14 @@ public class AidFundRouteServiceImpl implements IAidFundRouteService {
.
filter
(
aidLoanFundConfig
->
aidLoanFundConfig
.
getFundCountLimit
()
>=
redisService
.
setIncr
(
AID_LOAN_COUNT_LIMIT_KEY
+
DateUtil
.
getDay
(),
0
,
3
,
TimeUnit
.
DAYS
))
.
filter
(
aidLoanFundConfig
->
aidLoanFundConfig
.
getFundCountLimit
()
>=
redisService
.
setIncr
(
AID_LOAN_COUNT_LIMIT_KEY
+
DateUtil
.
getDay
(),
0
,
3
,
TimeUnit
.
DAYS
))
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
}
}
//第四步 限制总额度筛选
//第四步 限制总额度筛选
额度筛选暂时没有用到
if
(
CollectionUtils
.
isNotEmpty
(
aidLoanFundConfigList
)){
//
if(CollectionUtils.isNotEmpty(aidLoanFundConfigList)){
// 获取已放款总金额 AID_LOAN_ALL_AMOUNT_LIMIT_KEY + DateUtil.getDay() //TODO 放redis
//
// 获取已放款总金额 AID_LOAN_ALL_AMOUNT_LIMIT_KEY + DateUtil.getDay() //TODO 放redis
String
allAmount
=
redisService
.
getString
(
AID_LOAN_ALL_AMOUNT_LIMIT_KEY
+
DateUtil
.
getDay
());
//
String allAmount = redisService.getString(AID_LOAN_ALL_AMOUNT_LIMIT_KEY + DateUtil.getDay());
aidLoanFundConfigList
=
aidLoanFundConfigList
.
parallelStream
()
//
aidLoanFundConfigList = aidLoanFundConfigList.parallelStream()
.
filter
(
aidLoanFundConfig
->
new
BigDecimal
(
aidLoanFundConfig
.
getFundAllAmountLimit
()).
compareTo
(
new
BigDecimal
(
StringUtils
.
isEmpty
(
allAmount
)?
"0"
:
allAmount
))>
0
)
//
.filter(aidLoanFundConfig->new BigDecimal(aidLoanFundConfig.getFundAllAmountLimit()).compareTo(new BigDecimal(StringUtils.isEmpty(allAmount)?"0":allAmount))>0)
.
collect
(
Collectors
.
toList
());
//
.collect(Collectors.toList());
}
//
}
//第五步 开始路由
//第五步 开始路由
if
(
CollectionUtils
.
isNotEmpty
(
aidLoanFundConfigList
)){
if
(
CollectionUtils
.
isNotEmpty
(
aidLoanFundConfigList
)){
...
@@ -126,10 +127,11 @@ public class AidFundRouteServiceImpl implements IAidFundRouteService {
...
@@ -126,10 +127,11 @@ public class AidFundRouteServiceImpl implements IAidFundRouteService {
aidLoanFundRouteRecord
.
setUserLoanType
(
asset
.
getUserLoanType
());
aidLoanFundRouteRecord
.
setUserLoanType
(
asset
.
getUserLoanType
());
aidLoanFundRouteRecord
.
setFundNo
(
aidLoanFundConfig
.
getFundNo
());
aidLoanFundRouteRecord
.
setFundNo
(
aidLoanFundConfig
.
getFundNo
());
aidLoanFundRouteRecord
.
setFundId
(
aidLoanFundConfig
.
getFundId
());
aidLoanFundRouteRecord
.
setFundId
(
aidLoanFundConfig
.
getFundId
());
aidLoanFundRouteRecord
.
setFundProductId
(
aidLoanFundConfig
.
getFundProductId
());
aidLoanFundRouteRecord
.
setEnable
(
true
);
aidLoanFundRouteRecord
.
setEnable
(
true
);
aidLoanFundRouteRecord
=
iAidFundRouteRecordService
.
saveAidLoanFundRouteRecord
(
aidLoanFundRouteRecord
);
aidLoanFundRouteRecord
=
iAidFundRouteRecordService
.
saveAidLoanFundRouteRecord
(
aidLoanFundRouteRecord
);
log
.
info
(
"助贷资金路由-准入完成, bizChannel : {} , uuid : {} , bizNo : {} , fundId : {} ,
准入结果 : {} , 耗时 : {}"
,
assetForm
.
getBizChannel
(),
assetForm
.
getUuid
(),
assetForm
.
getBizNo
(),
aidLoanFundRouteRecord
.
getFund
Id
(),
accessResult
,
started
.
elapsed
(
TimeUnit
.
MILLISECONDS
));
log
.
info
(
"助贷资金路由-准入完成, bizChannel : {} , uuid : {} , bizNo : {} , fundId : {} ,
fundProductId : {} , 准入结果 : {} , 耗时 : {}"
,
assetForm
.
getBizChannel
(),
assetForm
.
getUuid
(),
assetForm
.
getBizNo
(),
aidLoanFundRouteRecord
.
getFundId
(),
aidLoanFundRouteRecord
.
getFundProduct
Id
(),
accessResult
,
started
.
elapsed
(
TimeUnit
.
MILLISECONDS
));
}
}
if
(
accessResult
){
if
(
accessResult
){
...
@@ -146,10 +148,10 @@ public class AidFundRouteServiceImpl implements IAidFundRouteService {
...
@@ -146,10 +148,10 @@ public class AidFundRouteServiceImpl implements IAidFundRouteService {
// 先创建进件订单记录
// 先创建进件订单记录
AidLoanFundAuditOrder
aidLoanFundAuditOrder
=
createAidFundAuditOrder
(
aidLoanFundRouteRecord
,
assetForm
,
asset
,
data
);
AidLoanFundAuditOrder
aidLoanFundAuditOrder
=
createAidFundAuditOrder
(
aidLoanFundRouteRecord
,
assetForm
,
asset
,
data
);
// 调用助贷资方进件接口 异步
// 调用助贷资方进件接口 异步
boolean
incomingResult
=
aidFundAssetService
.
audit
(
assetForm
,
data
,
asset
.
getUserLoanType
()
,
aidLoanFundConfig
.
getFundId
());
boolean
incomingResult
=
aidFundAssetService
.
audit
(
assetForm
,
data
,
asset
,
aidLoanFundConfig
.
getFundId
());
// 将助贷路由记录状态改为进件完成
// 将助贷路由记录状态改为进件完成
iAidFundRouteRecordService
.
updateAidLoanFundRouteRecordStatus
(
aidLoanFundRouteRecord
,
AidFundStatus
.
Route
.
INCOMING_COMPLETE
);
iAidFundRouteRecordService
.
updateAidLoanFundRouteRecordStatus
(
aidLoanFundRouteRecord
,
AidFundStatus
.
Route
.
INCOMING_COMPLETE
);
log
.
info
(
"助贷资金路由-进件完成, bizChannel : {} , uuid : {} , bizNo : {} , fundId : {} ,
进件结果 : {}, 耗时 : {} "
,
assetForm
.
getBizChannel
(),
assetForm
.
getUuid
(),
assetForm
.
getBizNo
(),
aidLoanFundRouteRecord
.
getFund
Id
(),
incomingResult
,
started
.
stop
().
elapsed
(
TimeUnit
.
MILLISECONDS
));
log
.
info
(
"助贷资金路由-进件完成, bizChannel : {} , uuid : {} , bizNo : {} , fundId : {} ,
fundProductId : {} , 进件结果 : {}, 耗时 : {} "
,
assetForm
.
getBizChannel
(),
assetForm
.
getUuid
(),
assetForm
.
getBizNo
(),
aidLoanFundRouteRecord
.
getFundId
(),
aidLoanFundRouteRecord
.
getFundProduct
Id
(),
incomingResult
,
started
.
stop
().
elapsed
(
TimeUnit
.
MILLISECONDS
));
if
(
incomingResult
)
{
if
(
incomingResult
)
{
aidFundAuditOrderService
.
updateOrderStatus
(
aidLoanFundAuditOrder
,
AidFundStatus
.
Incoming
.
WAIT
);
aidFundAuditOrderService
.
updateOrderStatus
(
aidLoanFundAuditOrder
,
AidFundStatus
.
Incoming
.
WAIT
);
...
@@ -184,6 +186,7 @@ public class AidFundRouteServiceImpl implements IAidFundRouteService {
...
@@ -184,6 +186,7 @@ public class AidFundRouteServiceImpl implements IAidFundRouteService {
aidLoanFundAuditOrder
.
setUuid
(
assetForm
.
getUuid
());
aidLoanFundAuditOrder
.
setUuid
(
assetForm
.
getUuid
());
aidLoanFundAuditOrder
.
setBizNo
(
assetForm
.
getBizNo
());
aidLoanFundAuditOrder
.
setBizNo
(
assetForm
.
getBizNo
());
aidLoanFundAuditOrder
.
setFundId
(
aidLoanFundRouteRecord
.
getFundId
());
aidLoanFundAuditOrder
.
setFundId
(
aidLoanFundRouteRecord
.
getFundId
());
aidLoanFundAuditOrder
.
setFundProductId
(
aidLoanFundRouteRecord
.
getFundProductId
());
aidLoanFundAuditOrder
.
setAssetFormText
(
JSON
.
toJSONString
(
assetForm
));
aidLoanFundAuditOrder
.
setAssetFormText
(
JSON
.
toJSONString
(
assetForm
));
aidLoanFundAuditOrder
.
setAssetText
(
JSON
.
toJSONString
(
asset
));
aidLoanFundAuditOrder
.
setAssetText
(
JSON
.
toJSONString
(
asset
));
aidLoanFundAuditOrder
.
setDataText
(
JSON
.
toJSONString
(
data
));
aidLoanFundAuditOrder
.
setDataText
(
JSON
.
toJSONString
(
data
));
...
...
src/main/java/com/quantgroup/asset/distribution/service/funding/impl/AidLoanFundConfigServiceImpl.java
View file @
5ddb769c
...
@@ -77,4 +77,9 @@ public class AidLoanFundConfigServiceImpl implements IAidLoanFundConfigService {
...
@@ -77,4 +77,9 @@ public class AidLoanFundConfigServiceImpl implements IAidLoanFundConfigService {
public
AidLoanFundConfig
findByFundNo
(
String
fundNo
)
{
public
AidLoanFundConfig
findByFundNo
(
String
fundNo
)
{
return
iAidLoanFundConfigRepository
.
findByFundNo
(
fundNo
);
return
iAidLoanFundConfigRepository
.
findByFundNo
(
fundNo
);
}
}
@Override
public
void
clearCache
()
{
redisService
.
del
(
AID_LOAN_POOLKEYS_HMSET_KEY
);
}
}
}
src/main/java/com/quantgroup/asset/distribution/service/funding/impl/AidLoanFundUserTagServiceImpl.java
0 → 100644
View file @
5ddb769c
package
com
.
quantgroup
.
asset
.
distribution
.
service
.
funding
.
impl
;
import
com.quantgroup.asset.distribution.model.form.AssetForm
;
import
com.quantgroup.asset.distribution.service.funding.IAidLoanFundUserTagService
;
import
com.quantgroup.asset.distribution.service.jpa.entity.AidLoanFundUserTag
;
import
com.quantgroup.asset.distribution.service.jpa.entity.Asset
;
import
com.quantgroup.asset.distribution.service.jpa.repository.IAidLoanFundUserTagRepository
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Service
;
import
java.io.Serializable
;
/**
* @author : Hyuk
* @description : AidLoanFundUserTagServiceImpl
* @date : 2020/4/28 10:44 上午
*/
@Slf4j
@Service
public
class
AidLoanFundUserTagServiceImpl
implements
IAidLoanFundUserTagService
{
@Autowired
private
IAidLoanFundUserTagRepository
aidLoanFundUserTagRepository
;
@Async
@Override
public
void
saveUserTag
(
AssetForm
assetForm
,
Asset
asset
,
String
fundId
,
String
tagText
)
{
AidLoanFundUserTag
aidLoanFundUserTag
=
new
AidLoanFundUserTag
();
aidLoanFundUserTag
.
setAssetNo
(
asset
.
getAssetNo
());
aidLoanFundUserTag
.
setUuid
(
assetForm
.
getUuid
());
aidLoanFundUserTag
.
setBizNo
(
assetForm
.
getBizNo
());
aidLoanFundUserTag
.
setFundId
(
fundId
);
aidLoanFundUserTag
.
setTagText
(
tagText
);
aidLoanFundUserTag
.
setEnable
(
true
);
aidLoanFundUserTagRepository
.
save
(
aidLoanFundUserTag
);
}
}
src/main/java/com/quantgroup/asset/distribution/service/jpa/entity/AidLoanFundAuditOrder.java
View file @
5ddb769c
...
@@ -38,6 +38,9 @@ public class AidLoanFundAuditOrder implements Serializable {
...
@@ -38,6 +38,9 @@ public class AidLoanFundAuditOrder implements Serializable {
@Column
(
name
=
"fund_id"
)
@Column
(
name
=
"fund_id"
)
private
String
fundId
;
private
String
fundId
;
@Column
(
name
=
"fund_product_id"
)
private
String
fundProductId
;
@Column
(
name
=
"asset_form_text"
)
@Column
(
name
=
"asset_form_text"
)
private
String
assetFormText
;
private
String
assetFormText
;
...
...
src/main/java/com/quantgroup/asset/distribution/service/jpa/entity/AidLoanFundConfig.java
View file @
5ddb769c
...
@@ -45,6 +45,9 @@ public class AidLoanFundConfig implements Serializable{
...
@@ -45,6 +45,9 @@ public class AidLoanFundConfig implements Serializable{
@Column
(
name
=
"fund_id"
)
@Column
(
name
=
"fund_id"
)
private
String
fundId
;
private
String
fundId
;
@Column
(
name
=
"fund_product_id"
)
private
String
fundProductId
;
@Column
(
name
=
"fund_all_amount_limit"
)
@Column
(
name
=
"fund_all_amount_limit"
)
private
String
fundAllAmountLimit
;
private
String
fundAllAmountLimit
;
...
...
src/main/java/com/quantgroup/asset/distribution/service/jpa/entity/AidLoanFundRouteRecord.java
View file @
5ddb769c
...
@@ -48,6 +48,9 @@ public class AidLoanFundRouteRecord implements Serializable{
...
@@ -48,6 +48,9 @@ public class AidLoanFundRouteRecord implements Serializable{
@Column
(
name
=
"fund_id"
)
@Column
(
name
=
"fund_id"
)
private
String
fundId
;
private
String
fundId
;
@Column
(
name
=
"fund_product_id"
)
private
String
fundProductId
;
@Column
(
name
=
"aid_fund_route_no"
)
@Column
(
name
=
"aid_fund_route_no"
)
private
String
aidFundRouteNo
;
private
String
aidFundRouteNo
;
...
...
src/main/java/com/quantgroup/asset/distribution/service/jpa/entity/AidLoanFundUserTag.java
0 → 100644
View file @
5ddb769c
package
com
.
quantgroup
.
asset
.
distribution
.
service
.
jpa
.
entity
;
import
lombok.Data
;
import
javax.persistence.*
;
import
java.sql.Timestamp
;
/**
* @author : Hyuk
* @description : AidLoanFundUserTag
* @date : 2020/4/28 10:38 上午
*/
@Entity
@Table
(
name
=
"aid_loan_fund_user_tag"
)
@Data
public
class
AidLoanFundUserTag
{
@Id
@Column
(
name
=
"id"
)
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
id
;
@Column
(
name
=
"asset_no"
)
private
String
assetNo
;
@Column
(
name
=
"uuid"
)
private
String
uuid
;
@Column
(
name
=
"biz_no"
)
private
String
bizNo
;
@Column
(
name
=
"fund_id"
)
private
String
fundId
;
@Column
(
name
=
"tag_text"
)
private
String
tagText
;
@Column
(
name
=
"enable"
)
private
Boolean
enable
;
@Column
(
name
=
"created_at"
)
private
Timestamp
createdAt
;
@Column
(
name
=
"updated_at"
)
private
Timestamp
updatedAt
;
@PrePersist
public
void
prePersist
()
{
Timestamp
timestamp
=
new
Timestamp
(
System
.
currentTimeMillis
());
createdAt
=
timestamp
;
updatedAt
=
timestamp
;
}
@PreUpdate
public
void
preUpdate
()
{
updatedAt
=
new
Timestamp
(
System
.
currentTimeMillis
());
}
}
src/main/java/com/quantgroup/asset/distribution/service/jpa/repository/IAidLoanFundUserTagRepository.java
0 → 100644
View file @
5ddb769c
package
com
.
quantgroup
.
asset
.
distribution
.
service
.
jpa
.
repository
;
import
com.quantgroup.asset.distribution.service.jpa.entity.AidLoanFundUserTag
;
import
org.springframework.data.jpa.repository.JpaRepository
;
/**
* @author : Hyuk
* @description : IAidLoanFundUserTag
* @date : 2020/4/28 10:42 上午
*/
public
interface
IAidLoanFundUserTagRepository
extends
JpaRepository
<
AidLoanFundUserTag
,
Long
>
{
}
src/main/java/com/quantgroup/asset/distribution/service/niwodai/INiwodaiAssetService.java
View file @
5ddb769c
...
@@ -15,7 +15,7 @@ public interface INiwodaiAssetService {
...
@@ -15,7 +15,7 @@ public interface INiwodaiAssetService {
NiwodaiDataImportCheckResponseVO
preAudit
(
String
uuid
);
NiwodaiDataImportCheckResponseVO
preAudit
(
String
uuid
);
NiwodaiIncomingResponseVO
incoming
(
AssetForm
assetForm
,
Map
<
String
,
Object
>
data
,
Integer
userLoanType
);
NiwodaiIncomingResponseVO
incoming
(
AssetForm
assetForm
,
Map
<
String
,
Object
>
data
,
Asset
asset
);
Map
<
String
,
Object
>
queryUserBasic2Info
(
String
userId
,
String
phoneNo
,
boolean
isQuery
);
Map
<
String
,
Object
>
queryUserBasic2Info
(
String
userId
,
String
phoneNo
,
boolean
isQuery
);
}
}
src/main/java/com/quantgroup/asset/distribution/service/niwodai/impl/NiwodaiAssetServiceImpl.java
View file @
5ddb769c
...
@@ -11,11 +11,14 @@ import com.google.gson.Gson;
...
@@ -11,11 +11,14 @@ import com.google.gson.Gson;
import
com.google.gson.reflect.TypeToken
;
import
com.google.gson.reflect.TypeToken
;
import
com.lkb.data.hbase.dataservice.verify.OCRIdCardDataService
;
import
com.lkb.data.hbase.dataservice.verify.OCRIdCardDataService
;
import
com.lkb.data.hbase.row.verify.OCRIdCardRow
;
import
com.lkb.data.hbase.row.verify.OCRIdCardRow
;
import
com.quantgroup.asset.distribution.constant.AidFundConstants
;
import
com.quantgroup.asset.distribution.enums.UserLoanType
;
import
com.quantgroup.asset.distribution.enums.UserLoanType
;
import
com.quantgroup.asset.distribution.exception.QGException
;
import
com.quantgroup.asset.distribution.exception.QGException
;
import
com.quantgroup.asset.distribution.exception.QGExceptionType
;
import
com.quantgroup.asset.distribution.exception.QGExceptionType
;
import
com.quantgroup.asset.distribution.model.form.AssetForm
;
import
com.quantgroup.asset.distribution.model.form.AssetForm
;
import
com.quantgroup.asset.distribution.service.funding.IAidLoanFundUserTagService
;
import
com.quantgroup.asset.distribution.service.httpclient.IHttpService
;
import
com.quantgroup.asset.distribution.service.httpclient.IHttpService
;
import
com.quantgroup.asset.distribution.service.jpa.entity.Asset
;
import
com.quantgroup.asset.distribution.service.niwodai.INiwodaiAssetService
;
import
com.quantgroup.asset.distribution.service.niwodai.INiwodaiAssetService
;
import
com.quantgroup.asset.distribution.service.niwodai.INiwodaiService
;
import
com.quantgroup.asset.distribution.service.niwodai.INiwodaiService
;
import
com.quantgroup.asset.distribution.service.niwodai.vo.*
;
import
com.quantgroup.asset.distribution.service.niwodai.vo.*
;
...
@@ -41,6 +44,8 @@ import java.util.concurrent.TimeUnit;
...
@@ -41,6 +44,8 @@ import java.util.concurrent.TimeUnit;
@Service
@Service
public
class
NiwodaiAssetServiceImpl
implements
INiwodaiAssetService
{
public
class
NiwodaiAssetServiceImpl
implements
INiwodaiAssetService
{
@Autowired
private
IAidLoanFundUserTagService
aidLoanFundUserTagService
;
@Autowired
@Autowired
IHttpService
iHttpService
;
IHttpService
iHttpService
;
@Autowired
@Autowired
...
@@ -74,7 +79,12 @@ public class NiwodaiAssetServiceImpl implements INiwodaiAssetService {
...
@@ -74,7 +79,12 @@ public class NiwodaiAssetServiceImpl implements INiwodaiAssetService {
log
.
error
(
"你我贷准入检查获取用户中心信息失败 uuid : {}"
,
uuid
);
log
.
error
(
"你我贷准入检查获取用户中心信息失败 uuid : {}"
,
uuid
);
throw
new
QGException
(
QGExceptionType
.
GET_USER_INFO_ERROR
);
throw
new
QGException
(
QGExceptionType
.
GET_USER_INFO_ERROR
);
}
}
requestVO
.
setPhone
(
getPhoneNoMask
(
userInfoByUuid
.
getData
().
getPhoneNo
()));
String
phoneNo
=
userInfoByUuid
.
getData
().
getPhoneNo
();
if
(
phoneNo
.
startsWith
(
"170"
)
||
phoneNo
.
startsWith
(
"171"
))
{
log
.
info
(
"你我贷准入检查, 用户手机号段过滤, uuid : {}, phone : {}"
,
uuid
,
phoneNo
);
return
NiwodaiDataImportCheckResponseVO
.
createPassFalse
();
}
requestVO
.
setPhone
(
getPhoneNoMask
(
phoneNo
));
requestVO
.
setIdcardNumber
(
getIdNoMask
(
userInfoByUuid
.
getData
().
getIdNo
()));
requestVO
.
setIdcardNumber
(
getIdNoMask
(
userInfoByUuid
.
getData
().
getIdNo
()));
requestVO
.
setRealName
(
userInfoByUuid
.
getData
().
getName
());
requestVO
.
setRealName
(
userInfoByUuid
.
getData
().
getName
());
Stopwatch
stopwatch
=
Stopwatch
.
createStarted
();
Stopwatch
stopwatch
=
Stopwatch
.
createStarted
();
...
@@ -85,7 +95,7 @@ public class NiwodaiAssetServiceImpl implements INiwodaiAssetService {
...
@@ -85,7 +95,7 @@ public class NiwodaiAssetServiceImpl implements INiwodaiAssetService {
@Override
@Override
public
NiwodaiIncomingResponseVO
incoming
(
AssetForm
assetForm
,
Map
<
String
,
Object
>
data
,
Integer
userLoanType
)
{
public
NiwodaiIncomingResponseVO
incoming
(
AssetForm
assetForm
,
Map
<
String
,
Object
>
data
,
Asset
asset
)
{
List
<
OCRIdCardRow
>
list
=
OCRIdCardDataService
.
get
(
assetForm
.
getUuid
());
List
<
OCRIdCardRow
>
list
=
OCRIdCardDataService
.
get
(
assetForm
.
getUuid
());
if
(
CollectionUtils
.
isEmpty
(
list
))
{
if
(
CollectionUtils
.
isEmpty
(
list
))
{
log
.
error
(
"你我贷进件申请获取用户OCR信息失败 uuid : {}, orderId : {}"
,
assetForm
.
getUuid
(),
assetForm
.
getBizNo
());
log
.
error
(
"你我贷进件申请获取用户OCR信息失败 uuid : {}, orderId : {}"
,
assetForm
.
getUuid
(),
assetForm
.
getBizNo
());
...
@@ -145,8 +155,10 @@ public class NiwodaiAssetServiceImpl implements INiwodaiAssetService {
...
@@ -145,8 +155,10 @@ public class NiwodaiAssetServiceImpl implements INiwodaiAssetService {
compnayInfo
.
setProvince
(
userInfo
.
getProvince
());
compnayInfo
.
setProvince
(
userInfo
.
getProvince
());
vo
.
setCompanyInfo
(
compnayInfo
);
vo
.
setCompanyInfo
(
compnayInfo
);
vo
.
setMnoData
(
new
NiwodaiCostant
.
MnoData
());
vo
.
setMnoData
(
new
NiwodaiCostant
.
MnoData
());
NiwodaiCostant
.
RiskData
riskData
=
getRiskData
(
userLoanType
,
data
);
NiwodaiCostant
.
RiskData
riskData
=
getRiskData
(
asset
.
getUserLoanType
()
,
data
);
vo
.
setChannelRiskData
(
JSON
.
toJSONString
(
riskData
));
vo
.
setChannelRiskData
(
JSON
.
toJSONString
(
riskData
));
// 标签落库
aidLoanFundUserTagService
.
saveUserTag
(
assetForm
,
asset
,
AidFundConstants
.
FundId
.
NIWODAI
,
JSON
.
toJSONString
(
riskData
));
return
niwodaiService
.
incoming
(
vo
,
assetForm
.
getUuid
());
return
niwodaiService
.
incoming
(
vo
,
assetForm
.
getUuid
());
}
}
...
...
src/main/java/com/quantgroup/asset/distribution/service/niwodai/impl/NiwodaiServiceImpl.java
View file @
5ddb769c
...
@@ -69,7 +69,7 @@ public class NiwodaiServiceImpl implements INiwodaiService {
...
@@ -69,7 +69,7 @@ public class NiwodaiServiceImpl implements INiwodaiService {
log
.
error
(
"你我贷进件时获取token失败, uuid : {}, bizNo : {}"
,
uuid
,
requestVO
.
getOrderId
());
log
.
error
(
"你我贷进件时获取token失败, uuid : {}, bizNo : {}"
,
uuid
,
requestVO
.
getOrderId
());
throw
new
QGException
(
QGExceptionType
.
GET_NIWODAI_TOKEN_ERROR
);
throw
new
QGException
(
QGExceptionType
.
GET_NIWODAI_TOKEN_ERROR
);
}
}
String
result
=
iHttpService
.
postNiwodaiJson
(
domain2
+
incomingUrl
,
commonHeader
(
token
),
JSON
.
toJSONString
(
requestVO
),
tru
e
);
String
result
=
iHttpService
.
postNiwodaiJson
(
domain2
+
incomingUrl
,
commonHeader
(
token
),
JSON
.
toJSONString
(
requestVO
),
fals
e
);
log
.
info
(
"你我贷进件接口审核接口结束, uuid : {}, bizNo : {}, response : {}"
,
uuid
,
requestVO
.
getOrderId
(),
result
);
log
.
info
(
"你我贷进件接口审核接口结束, uuid : {}, bizNo : {}, response : {}"
,
uuid
,
requestVO
.
getOrderId
(),
result
);
if
(
StringUtils
.
isNotEmpty
(
result
))
{
if
(
StringUtils
.
isNotEmpty
(
result
))
{
NiwodaiIncomingResponseVO
vo
=
JSON
.
parseObject
(
result
,
NiwodaiIncomingResponseVO
.
class
);
NiwodaiIncomingResponseVO
vo
=
JSON
.
parseObject
(
result
,
NiwodaiIncomingResponseVO
.
class
);
...
...
src/main/java/com/quantgroup/asset/distribution/service/niwodai/vo/NiwodaiDataImportCheckResponseVO.java
View file @
5ddb769c
...
@@ -18,4 +18,11 @@ public class NiwodaiDataImportCheckResponseVO implements Serializable {
...
@@ -18,4 +18,11 @@ public class NiwodaiDataImportCheckResponseVO implements Serializable {
* 准入未通过原因 非必须
* 准入未通过原因 非必须
*/
*/
private
String
reason
;
private
String
reason
;
public
static
NiwodaiDataImportCheckResponseVO
createPassFalse
()
{
NiwodaiDataImportCheckResponseVO
vo
=
new
NiwodaiDataImportCheckResponseVO
();
vo
.
setPass
(
false
);
return
vo
;
}
}
}
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