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
22df2291
Commit
22df2291
authored
May 26, 2020
by
王向伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
二次风控 放款接口接中台
parent
5658ccf6
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
1159 additions
and
2 deletions
+1159
-2
OrderController.java
...ashloanflowboss/api/order/controller/OrderController.java
+2
-0
MoOrderServiceImpl.java
...ashloanflowboss/api/order/service/MoOrderServiceImpl.java
+823
-0
Constants.java
...quantgroup/cashloanflowboss/core/constants/Constants.java
+1
-0
ClothoCenter.java
...roup/cashloanflowboss/spi/clotho/client/ClothoCenter.java
+2
-2
KoalaCenter.java
...tgroup/cashloanflowboss/spi/koala/client/KoalaCenter.java
+109
-0
KoalaCenterService.java
...ashloanflowboss/spi/koala/service/KoalaCenterService.java
+135
-0
MoClothoCenter.java
...cashloanflowboss/spi/mo_clotho/client/MoClothoCenter.java
+34
-0
MoClothoService.java
...shloanflowboss/spi/mo_clotho/service/MoClothoService.java
+11
-0
MoClothoServiceImpl.java
...anflowboss/spi/mo_clotho/service/MoClothoServiceImpl.java
+42
-0
No files found.
src/main/java/cn/quantgroup/cashloanflowboss/api/order/controller/OrderController.java
View file @
22df2291
...
...
@@ -12,6 +12,7 @@ import cn.quantgroup.cashloanflowboss.core.base.Tuple;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
...
...
@@ -31,6 +32,7 @@ public class OrderController {
@Autowired
@Qualifier
(
"moOrderServiceImpl"
)
private
OrderService
orderService
;
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/order/service/MoOrderServiceImpl.java
0 → 100644
View file @
22df2291
This diff is collapsed.
Click to expand it.
src/main/java/cn/quantgroup/cashloanflowboss/core/constants/Constants.java
View file @
22df2291
...
...
@@ -7,6 +7,7 @@ package cn.quantgroup.cashloanflowboss.core.constants;
*/
public
interface
Constants
{
String
SUCCESS
=
"success"
;
String
FAIL
=
"fail"
;
String
TOTAL_COUNT
=
"totalCount"
;
String
TOTAL_AMOUNT
=
"totalAmount"
;
String
DATA
=
"data"
;
...
...
src/main/java/cn/quantgroup/cashloanflowboss/spi/clotho/client/ClothoCenter.java
View file @
22df2291
...
...
@@ -18,10 +18,10 @@ import java.util.Map;
*/
@Component
@FeignClient
(
name
=
"ClothoServiceCenter"
,
url
=
"${
koala
.api-host}"
,
fallback
=
ClothoCenter
.
Fallback
.
class
)
@FeignClient
(
name
=
"ClothoServiceCenter"
,
url
=
"${
fund.pay
.api-host}"
,
fallback
=
ClothoCenter
.
Fallback
.
class
)
public
interface
ClothoCenter
{
@PostMapping
(
value
=
"/
v1/risk_management/audit/receive_risk_control_result
"
,
consumes
=
"application/x-www-form-urlencoded"
)
@PostMapping
(
value
=
"/
external/quota/auth_amount_audit/notify
"
,
consumes
=
"application/x-www-form-urlencoded"
)
String
approve
(
@RequestParam
Map
approveData
);
@PostMapping
(
value
=
"/external/quota/order_audit/notify"
,
consumes
=
"application/x-www-form-urlencoded"
)
...
...
src/main/java/cn/quantgroup/cashloanflowboss/spi/koala/client/KoalaCenter.java
0 → 100644
View file @
22df2291
package
cn
.
quantgroup
.
cashloanflowboss
.
spi
.
koala
.
client
;
import
cn.quantgroup.cashloanflowboss.spi.clotho.exception.ClothoCenterException
;
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.RequestHeader
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
java.util.Map
;
/**
* function:
* date: 2019/8/9
*
* @author: suntao
*/
@Component
@FeignClient
(
name
=
"KoalaCenter"
,
url
=
"${koala.api-host}"
,
fallback
=
KoalaCenter
.
Fallback
.
class
)
public
interface
KoalaCenter
{
@PostMapping
(
value
=
"/v1/risk_management/audit/receive_risk_control_result"
,
consumes
=
"application/x-www-form-urlencoded"
)
String
approve
(
@RequestParam
Map
approveData
);
@PostMapping
(
value
=
"/v1/risk/notify"
,
consumes
=
"application/x-www-form-urlencoded"
)
String
orderAuditNotify
(
@RequestParam
Map
notify
);
/**
* 生成放款MQ消息
*
* @param data
* @return
*/
@PostMapping
(
value
=
"/ex/paycenter/pay_notify"
,
consumes
=
"application/x-www-form-urlencoded"
)
String
generatorLendingMessage
(
@RequestParam
Map
data
);
/**
* 放款
*
* @param data
* @return
*/
@PostMapping
(
value
=
"clotho/funds/plan/loan/apply"
,
consumes
=
"application/x-www-form-urlencoded"
)
String
lending
(
@RequestParam
Map
data
);
/**
* 贷前关单(提现前)
*
* @param data
* @return
*/
@PostMapping
(
value
=
"/loan/super/close/quota"
,
consumes
=
"application/x-www-form-urlencoded"
)
String
cancelPreLoan
(
@RequestParam
Map
data
,
@RequestHeader
(
value
=
"x-auth-token"
)
String
token
);
/**
* 贷前关单(提现后)
*
* @param data
* @return
*/
@PostMapping
(
value
=
"/loan/super/close"
,
consumes
=
"application/x-www-form-urlencoded"
)
String
cancelPreLoanHasLoanId
(
@RequestParam
Map
data
,
@RequestHeader
(
value
=
"x-auth-token"
)
String
token
);
/**
* 贷后关单
*
* @param data
* @return
*/
@PostMapping
(
value
=
"/external/huijinsuo/withdraw/test/72"
,
consumes
=
"application/x-www-form-urlencoded"
)
String
cancelAfterLoan
(
@RequestParam
Map
data
);
@Component
class
Fallback
implements
KoalaCenter
{
@Override
public
String
approve
(
Map
approveData
)
{
return
"error1"
;
}
@Override
public
String
orderAuditNotify
(
Map
notify
)
{
return
null
;
}
@Override
public
String
generatorLendingMessage
(
Map
data
)
{
throw
new
ClothoCenterException
();
}
@Override
public
String
lending
(
Map
data
)
{
return
null
;
}
@Override
public
String
cancelPreLoan
(
Map
data
,
String
token
)
{
return
null
;
}
@Override
public
String
cancelPreLoanHasLoanId
(
Map
data
,
String
token
)
{
return
null
;
}
@Override
public
String
cancelAfterLoan
(
Map
data
)
{
return
null
;
}
}
}
src/main/java/cn/quantgroup/cashloanflowboss/spi/koala/service/KoalaCenterService.java
0 → 100644
View file @
22df2291
package
cn
.
quantgroup
.
cashloanflowboss
.
spi
.
koala
.
service
;
import
cn.quantgroup.cashloanflowboss.core.Application
;
import
cn.quantgroup.cashloanflowboss.core.constants.Constants
;
import
cn.quantgroup.cashloanflowboss.spi.clotho.client.ClothoCenter
;
import
cn.quantgroup.cashloanflowboss.spi.clotho.model.LendingServiceModel
;
import
cn.quantgroup.cashloanflowboss.spi.koala.client.KoalaCenter
;
import
cn.quantgroup.cashloanflowboss.spi.model.JsonResult
;
import
cn.quantgroup.cashloanflowboss.utils.JSONTools
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Random
;
/**
* Created by WeiWei on 2019/8/12.
*/
@Slf4j
@Service
public
class
KoalaCenterService
{
@Autowired
private
KoalaCenter
koalaCenter
;
public
Boolean
orderAuditNotify
(
String
uuid
,
Long
loanId
,
boolean
auditResult
,
int
bizType
,
Long
registeredFrom
)
{
Map
notify
=
new
HashMap
();
notify
.
put
(
"code"
,
0
);
notify
.
put
(
"msg"
,
"success"
);
notify
.
put
(
"bizChannel"
,
registeredFrom
);
notify
.
put
(
"uuid"
,
uuid
);
notify
.
put
(
"bizNo"
,
loanId
);
notify
.
put
(
"bizType"
,
bizType
);
notify
.
put
(
"auditResult"
,
auditResult
);
notify
.
put
(
"deadLine"
,
System
.
currentTimeMillis
());
String
result
=
koalaCenter
.
orderAuditNotify
(
notify
);
JsonResult
jsonResult
=
JSONObject
.
parseObject
(
result
,
JsonResult
.
class
);
return
jsonResult
.
isSuccess
();
}
/**
* 生成放款MQ消息
*
* @return
*/
public
String
generatorLendingMessage
(
LendingServiceModel
lendingServiceModel
)
{
return
this
.
koalaCenter
.
generatorLendingMessage
(
JSONTools
.
toMap
(
lendingServiceModel
));
}
/**
* 放款
*
* @return
*/
public
boolean
lending
(
Integer
fundId
,
BigDecimal
amountLimit
,
Integer
pepoleLimit
)
{
if
(
Application
.
isDebug
())
{
String
data
=
this
.
koalaCenter
.
lending
(
new
HashMap
(
4
)
{{
put
(
"fundingCorpId"
,
fundId
);
put
(
"amountLimit"
,
amountLimit
);
put
(
"peopleLimit"
,
pepoleLimit
);
}});
JsonResult
jsonObject
=
JSONObject
.
parseObject
(
data
,
JsonResult
.
class
);
return
jsonObject
.
isSuccess
();
}
else
{
return
false
;
}
}
/**
* 审批
* @param approveData
* @return
*/
public
String
approve
(
Map
<
String
,
Object
>
approveData
)
{
if
(
Application
.
isDebug
())
{
String
result
=
koalaCenter
.
approve
(
approveData
);
JsonResult
jsonObject
=
JSONObject
.
parseObject
(
result
,
JsonResult
.
class
);
if
(
jsonObject
.
isSuccess
()){
return
Constants
.
SUCCESS
;
}
else
{
return
Constants
.
FAIL
;
}
}
else
{
return
"error"
;
}
}
public
String
cancelPreLoan
(
Map
<
Object
,
Object
>
data
,
String
token
)
{
if
(
Application
.
isDebug
())
{
return
koalaCenter
.
cancelPreLoan
(
data
,
token
);
}
else
{
return
"error"
;
}
}
public
String
cancelAfterLoan
(
Map
<
Object
,
Object
>
data
)
{
if
(
Application
.
isDebug
())
{
String
result
=
koalaCenter
.
cancelAfterLoan
(
data
);
JsonResult
jsonObject
=
JSONObject
.
parseObject
(
result
,
JsonResult
.
class
);
if
(
jsonObject
.
isSuccess
()){
return
Constants
.
SUCCESS
;
}
else
{
return
Constants
.
FAIL
;
}
}
else
{
return
"error"
;
}
}
public
String
cancelPreLoanHasLoanId
(
Map
<
Object
,
Object
>
data
,
String
token
)
{
if
(
Application
.
isDebug
())
{
String
result
=
koalaCenter
.
cancelPreLoanHasLoanId
(
data
,
token
);
JsonResult
jsonObject
=
JSONObject
.
parseObject
(
result
,
JsonResult
.
class
);
if
(
jsonObject
.
isSuccess
()){
return
Constants
.
SUCCESS
;
}
else
{
return
Constants
.
FAIL
;
}
}
else
{
return
"error"
;
}
}
}
src/main/java/cn/quantgroup/cashloanflowboss/spi/mo_clotho/client/MoClothoCenter.java
0 → 100644
View file @
22df2291
package
cn
.
quantgroup
.
cashloanflowboss
.
spi
.
mo_clotho
.
client
;
import
cn.quantgroup.cashloanflowboss.spi.xyqb.client.XYQBCenter
;
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.Map
;
/**
* @author Wang Xiangwei
* @version 2020/5/26
*/
@Component
@FeignClient
(
name
=
"MoClothoCenter"
,
url
=
"${mo.clotho.http}"
,
fallback
=
MoClothoCenter
.
Fallback
.
class
)
public
interface
MoClothoCenter
{
@PostMapping
(
value
=
"/middle_office/pay/notify"
,
consumes
=
"application/x-www-form-urlencoded"
)
String
pushLendingResult
(
@RequestParam
Map
parameter
);
@Component
class
Fallback
implements
MoClothoCenter
{
@Override
public
String
pushLendingResult
(
Map
parameter
)
{
return
null
;
}
}
}
src/main/java/cn/quantgroup/cashloanflowboss/spi/mo_clotho/service/MoClothoService.java
0 → 100644
View file @
22df2291
package
cn
.
quantgroup
.
cashloanflowboss
.
spi
.
mo_clotho
.
service
;
/**
* @author Wang Xiangwei
* @version 2020/5/26
*/
public
interface
MoClothoService
{
boolean
payResultNotify
(
Long
loanId
,
Boolean
expectPayResult
);
}
src/main/java/cn/quantgroup/cashloanflowboss/spi/mo_clotho/service/MoClothoServiceImpl.java
0 → 100644
View file @
22df2291
package
cn
.
quantgroup
.
cashloanflowboss
.
spi
.
mo_clotho
.
service
;
import
cn.quantgroup.cashloanflowboss.core.Application
;
import
cn.quantgroup.cashloanflowboss.spi.mo_clotho.client.MoClothoCenter
;
import
cn.quantgroup.cashloanflowboss.spi.model.JsonResult
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.collect.Maps
;
import
com.google.gson.JsonObject
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Map
;
/**
* @author Wang Xiangwei
* @version 2020/5/26
*/
@Service
@Slf4j
public
class
MoClothoServiceImpl
implements
MoClothoService
{
@Autowired
private
MoClothoCenter
moClothoCenter
;
@Override
public
boolean
payResultNotify
(
Long
loanId
,
Boolean
expectPayResult
)
{
if
(
Application
.
isDebug
())
{
Map
paramMap
=
Maps
.
newHashMap
();
paramMap
.
put
(
"orderNo"
,
loanId
);
paramMap
.
put
(
"payOrderNo"
,
loanId
);
paramMap
.
put
(
"payTime"
,
System
.
currentTimeMillis
());
paramMap
.
put
(
"payStatus"
,
expectPayResult
?
3
:
5
);
String
result
=
moClothoCenter
.
pushLendingResult
(
paramMap
);
log
.
info
(
"[放款结果通知]xyqb返回结果result={}"
,
result
);
JsonResult
jsonResult
=
JSONObject
.
parseObject
(
result
,
JsonResult
.
class
);
return
jsonResult
.
isSuccess
();
}
else
{
return
false
;
}
}
}
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