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
2d58eca4
Commit
2d58eca4
authored
Sep 24, 2019
by
suntao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
操作 加注解
parent
29567717
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
82 deletions
+22
-82
OrderController.java
...ashloanflowboss/api/order/controller/OrderController.java
+2
-2
OrderService.java
...roup/cashloanflowboss/api/order/service/OrderService.java
+7
-2
OrderServiceImpl.java
.../cashloanflowboss/api/order/service/OrderServiceImpl.java
+13
-78
No files found.
src/main/java/cn/quantgroup/cashloanflowboss/api/order/controller/OrderController.java
View file @
2d58eca4
...
...
@@ -64,10 +64,10 @@ public class OrderController {
public
Result
approveOpt
(
@RequestBody
@Valid
ApproveVo
approveVo
)
{
if
(
Application
.
isDebug
())
{
T
hreeTuple
<
Boolean
,
Boolean
,
String
>
approveOptBooleanAndFundSettingBooleanTuple
=
orderService
.
approveOpt
(
approveVo
);
T
uple
<
Boolean
,
String
>
approveOptBooleanAndFundSettingBooleanTuple
=
orderService
.
approveOpt
(
approveVo
);
Boolean
approveResult
=
approveOptBooleanAndFundSettingBooleanTuple
.
getKey
();
if
(
approveResult
)
{
return
Result
.
buildSuccess
(
approveResult
,
approveOptBooleanAndFundSettingBooleanTuple
.
getValue
()
?
"审批操作成功"
:
"请检查资产计划配置,审批操作成功"
);
return
Result
.
buildSuccess
(
approveResult
,
approveOptBooleanAndFundSettingBooleanTuple
.
getValue
());
}
else
{
return
Result
.
buildSuccess
(
false
,
"审批操作失败"
);
}
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/order/service/OrderService.java
View file @
2d58eca4
...
...
@@ -21,7 +21,12 @@ import java.util.List;
public
interface
OrderService
{
Page
<
OrderVo
>
orderList
(
Long
channelId
,
String
channelOrderNo
,
String
applyNo
,
Long
loanId
,
Integer
pageNumber
,
Integer
pageSize
);
ThreeTuple
<
Boolean
,
Boolean
,
String
>
approveOpt
(
ApproveVo
approveVo
);
/**
* 审批功能
* @param approveVo
* @return 《是否成功 , msg》
*/
Tuple
<
Boolean
,
String
>
approveOpt
(
ApproveVo
approveVo
);
/**
*
...
...
@@ -32,7 +37,7 @@ public interface OrderService {
Tuple
<
Boolean
,
String
>
secondAudit
(
String
channelOrderNumber
);
@Transactional
boolean
lending
(
LendingFormModel
lendingFormModel
);
Tuple
<
Boolean
,
String
>
lending
(
LendingFormModel
lendingFormModel
);
boolean
cancel
(
OrderVo
orderVo
);
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/order/service/OrderServiceImpl.java
View file @
2d58eca4
...
...
@@ -179,12 +179,11 @@ public class OrderServiceImpl implements OrderService{
/**
*
* @param approveVo
* @return Tuple<Boolean 审批结果 true 审批完成 false 审批操作失败,
Boolean 资产计划配置 true 配置没问题 false 配置需要检查
>
* @return Tuple<Boolean 审批结果 true 审批完成 false 审批操作失败,
String msg 信息
>
*/
@OperationAnno
(
channelNo
=
"#this[0].channelOrderNumber"
,
opt
=
OptEnumName
.
AUDIT
,
succSPEL
=
"#this.key"
,
optDetailSPEL
=
"#this.ex"
)
@OperationAnno
(
channelNo
=
"#this[0].channelOrderNumber"
,
opt
=
OptEnumName
.
AUDIT
,
succSPEL
=
"#this.key"
,
optDetailSPEL
=
"#this.value"
)
@Override
public
T
hreeTuple
<
Boolean
,
Boolean
,
String
>
approveOpt
(
ApproveVo
approveVo
)
{
public
T
uple
<
Boolean
,
String
>
approveOpt
(
ApproveVo
approveVo
)
{
log
.
info
(
"approveOpt,审批操作入参,approveVo={}"
,
JSONTools
.
serialize
(
approveVo
));
...
...
@@ -200,24 +199,24 @@ public class OrderServiceImpl implements OrderService{
ClfOrderMapping
orderMapping
=
clfOrderMappingRepository
.
findByChannelOrderNoLastOne
(
approveVo
.
getChannelOrderNumber
());
if
(
orderMapping
==
null
)
{
log
.
info
(
"approveOpt,审批失败,无订单 channelOrderNumber={}"
,
approveVo
.
getChannelOrderNumber
());
return
new
T
hreeTuple
(
false
,
false
,
"审批失败,无订单"
);
return
new
T
uple
(
false
,
"审批失败,无订单"
);
}
if
(
Application
.
getPrincipal
().
isChannel
()
&&
!
Application
.
getPrincipal
().
isSameChannel
(
orderMapping
.
getRegisteredFrom
()))
{
log
.
info
(
"approveOpt,审批失败,不是该渠道订单无法审批 channelOrderNumber={}"
,
approveVo
.
getChannelOrderNumber
());
return
new
T
hreeTuple
(
false
,
false
,
"审批失败,不是该渠道订单无法审批"
);
return
new
T
uple
(
false
,
"审批失败,不是该渠道订单无法审批"
);
}
XUser
xUser
=
xyqbUserService
.
findXUserById
(
orderMapping
.
getQgUserId
());
if
(
xUser
==
null
)
{
log
.
info
(
"approveOpt,审批失败,未找到用户 channelOrderNumber={}"
,
approveVo
.
getChannelOrderNumber
());
return
new
T
hreeTuple
(
false
,
false
,
"审批失败,未找到用户"
);
return
new
T
uple
(
false
,
"审批失败,未找到用户"
);
}
ChannelConf
channelConf
=
channelConfRepository
.
getByChannelId
(
orderMapping
.
getRegisteredFrom
());
if
(
channelConf
==
null
)
{
log
.
info
(
"approveOpt,审批失败,boss渠道配置为空 channelOrderNumber={}"
,
approveVo
.
getChannelOrderNumber
());
return
new
T
hreeTuple
(
false
,
false
,
"审批失败,boss渠道配置为空"
);
return
new
T
uple
(
false
,
"审批失败,boss渠道配置为空"
);
}
// 额度有效期
...
...
@@ -268,7 +267,6 @@ public class OrderServiceImpl implements OrderService{
String
approveStringResult
=
clothoCenterService
.
approve
(
data
);
Boolean
corpPolicyValidate
=
false
;
try
{
corpPolicyValidate
=
xyqbCenterService
.
validateCorpPolicy
(
Long
.
valueOf
(
fundId
),
new
Date
());
}
catch
(
Exception
e
)
{
log
.
error
(
"[approveOpt]审批,资方校验异常,channelOrderNumber={},fundId={}, e={}"
,
orderMapping
.
getChannelOrderNo
(),
fundId
,
ExceptionUtils
.
getStackTrace
(
e
));
...
...
@@ -277,76 +275,43 @@ public class OrderServiceImpl implements OrderService{
// 操作记录
String
optLogDetail
=
approveVo
.
getIsPass
()
?
"审批通过:("
.
concat
(
fundId
+
""
).
concat
(
")"
)
:
"审批拒绝:"
;
OptHistoryLog
optHistoryLog
=
new
OptHistoryLog
();
optHistoryLog
.
setChannelOrderNumber
(
approveVo
.
getChannelOrderNumber
());
optHistoryLog
.
setCreditNumber
(
orderMapping
.
getApplyNo
());
optHistoryLog
.
setLoanId
(
orderMapping
.
getLoanId
());
optHistoryLog
.
setChannelId
(
orderMapping
.
getRegisteredFrom
());
optHistoryLog
.
setOptEnumName
(
OptEnumName
.
AUDIT
);
optHistoryLog
.
setOptName
(
OptEnumName
.
AUDIT
.
getDesc
());
optHistoryLog
.
setCreateTime
(
new
Date
());
Boolean
optResult
;
if
(
"success"
.
equals
(
approveStringResult
))
{
optLogDetail
=
optLogDetail
.
concat
(
corpPolicyValidate
?
"审批操作成功"
:
"请检查资产配置,请联系管理员配置,审批操作成功"
);
optHistoryLog
.
setOptResult
(
true
);
optResult
=
true
;
log
.
info
(
"[approveOpt]审批申请成功,channelOrderNumber={}"
,
orderMapping
.
getChannelOrderNo
());
}
else
{
optLogDetail
=
optLogDetail
.
concat
(
"clotho审批失败"
);
optHistoryLog
.
setOptResult
(
false
);
log
.
info
(
"[approveOpt]审批申请失败,channelOrderNumber={},requestParam={}"
,
orderMapping
.
getChannelOrderNo
(),
JSONTools
.
serialize
(
data
));
optResult
=
false
;
}
optHistoryLog
.
setOptLogDetail
(
optLogDetail
);
//optHistoryLogService.save(optHistoryLog);
return
new
ThreeTuple
(
optResult
,
corpPolicyValidate
,
optLogDetail
);
return
new
Tuple
(
optResult
,
optLogDetail
);
}
/**
* 已经自动,无须调用
* 二次风控
*
* @param channelOrderNumber
* @return
*/
@Transactional
@Override
@OperationAnno
(
channelNo
=
"#this[0]"
,
opt
=
OptEnumName
.
SECORD_AUDIT
,
succSPEL
=
"#this.key"
,
optDetailSPEL
=
"#this.value"
)
public
Tuple
<
Boolean
,
String
>
secondAudit
(
String
channelOrderNumber
)
{
OptEnumName
secondAudit
=
OptEnumName
.
SECORD_AUDIT
;
boolean
result
=
true
;
// 操作记录
OptHistoryLog
optHistoryLog
=
new
OptHistoryLog
();
optHistoryLog
.
setChannelOrderNumber
(
channelOrderNumber
);
optHistoryLog
.
setOptEnumName
(
secondAudit
);
optHistoryLog
.
setOptName
(
secondAudit
.
getDesc
());
ClfOrderMapping
orderMapping
=
this
.
clfOrderMappingRepository
.
findByChannelOrderNoLastOne
(
channelOrderNumber
);
if
(
orderMapping
==
null
||
orderMapping
.
getLoanId
()
==
null
)
{
log
.
info
(
"secondAudit,orderMapping为空或者loanId为空,channelOrderNumber="
.
concat
(
channelOrderNumber
));
optHistoryLog
.
setOptLogDetail
(
"orderMapping为空或者loanId为空,操作失败"
);
optHistoryLog
.
setOptResult
(
false
);
optHistoryLog
.
setCreateTime
(
new
Date
());
optHistoryLogService
.
save
(
optHistoryLog
);
return
new
Tuple
<>(
false
,
"orderMapping为空或者loanId为空"
);
}
optHistoryLog
.
setCreditNumber
(
orderMapping
.
getApplyNo
());
optHistoryLog
.
setLoanId
(
orderMapping
.
getLoanId
());
optHistoryLog
.
setChannelId
(
orderMapping
.
getRegisteredFrom
());
optHistoryLog
.
setCreateTime
(
new
Date
());
OptHistoryLog
optHistoryLogExsit
=
optHistoryLogService
.
findByChannelOrderNumberAndOptNameAndSuccess
(
channelOrderNumber
,
secondAudit
);
if
(
optHistoryLogExsit
!=
null
)
{
log
.
info
(
"secondAudit,已经操作成功,channelOrderNumber="
.
concat
(
channelOrderNumber
));
optHistoryLog
.
setOptLogDetail
(
"已经操作成功. 重复操作"
);
optHistoryLog
.
setOptResult
(
true
);
optHistoryLogService
.
save
(
optHistoryLog
);
return
new
Tuple
<>(
true
,
"已经操作成功. 重复操作"
);
}
...
...
@@ -355,9 +320,6 @@ public class OrderServiceImpl implements OrderService{
if
(
conscont
!=
null
)
{
if
(
conscont
.
getGenerateStatus
()
!=
2
)
{
log
.
info
(
"secondAudit,合同状态不对,channelOrderNumber="
.
concat
(
channelOrderNumber
));
optHistoryLog
.
setOptLogDetail
(
"合同状态不对,手动修改,可能会导致合同签章获取失败,请更换新的身份证尝试"
);
optHistoryLog
.
setOptResult
(
false
);
optHistoryLogService
.
save
(
optHistoryLog
);
// 修改合同状态
ArrayList
<
String
>
updateContract
=
Lists
.
newArrayList
();
updateContract
.
add
(
"update contract set generate_status = 2 where user_id = "
+
orderMapping
.
getQgUserId
()
+
";"
);
...
...
@@ -366,9 +328,6 @@ public class OrderServiceImpl implements OrderService{
}
else
{
// 合同为空 log表记录问题,UI用户查询
log
.
info
(
"secondAudit,合同为空,channelOrderNumber="
.
concat
(
channelOrderNumber
));
optHistoryLog
.
setOptLogDetail
(
"合同为空,请更换新的身份证尝试"
);
optHistoryLog
.
setOptResult
(
false
);
optHistoryLogService
.
save
(
optHistoryLog
);
// 不需要return
}
...
...
@@ -376,17 +335,11 @@ public class OrderServiceImpl implements OrderService{
XUser
xUser
=
xyqbUserService
.
findXUserById
(
orderMapping
.
getQgUserId
());
if
(
xUser
==
null
)
{
log
.
info
(
"[secendAudit]二次风控失败,未找到user channelOrderNumber={}"
,
channelOrderNumber
);
optHistoryLog
.
setOptLogDetail
(
"二次风控失败,未找到user"
);
optHistoryLog
.
setOptResult
(
false
);
optHistoryLogService
.
save
(
optHistoryLog
);
return
new
Tuple
<>(
false
,
"二次风控失败,未找到user"
);
}
ChannelConf
channelConf
=
channelConfRepository
.
getByChannelId
(
orderMapping
.
getRegisteredFrom
());
if
(
channelConf
==
null
)
{
log
.
info
(
"[secendAudit]二次风控失败,未找到channelConf配置 channelOrderNumber={}"
,
channelOrderNumber
);
optHistoryLog
.
setOptLogDetail
(
"二次风控失败,未找到channelConf配置"
);
optHistoryLog
.
setOptResult
(
false
);
optHistoryLogService
.
save
(
optHistoryLog
);
return
new
Tuple
<>(
false
,
"二次风控失败,未找到channelConf配置"
);
}
...
...
@@ -400,9 +353,6 @@ public class OrderServiceImpl implements OrderService{
log
.
info
(
"[secendAudit]二次风控成功,channelOrderNumber={}, result={}"
,
channelOrderNumber
,
result
);
}
else
{
log
.
info
(
"[secendAudit]二次风控失败,clotho返回失败 channelOrderNumber={}"
,
channelOrderNumber
);
optHistoryLog
.
setOptLogDetail
(
"二次风控失败,clotho返回失败"
);
optHistoryLog
.
setOptResult
(
false
);
optHistoryLogService
.
save
(
optHistoryLog
);
return
new
Tuple
<>(
false
,
"二次风控失败,clotho返回失败"
);
}
}
else
if
(
LoanProgress
.
WAITING_FUND
.
equals
(
loanApplicationHistory
.
getProgress
()))
{
...
...
@@ -412,9 +362,6 @@ public class OrderServiceImpl implements OrderService{
jolyneService
.
delayUpdateWaitingXyqbSql
(
orderMapping
.
getLoanId
(),
200L
);
optHistoryLog
.
setOptLogDetail
(
"二次风控操作成功"
);
optHistoryLog
.
setOptResult
(
true
);
optHistoryLogService
.
save
(
optHistoryLog
);
log
.
info
(
"[secendAudit]二次风控操作 最后结果,channelOrderNumber={}, result={}"
,
channelOrderNumber
,
result
);
return
new
Tuple
<>(
result
,
"二次风控审批完成"
);
...
...
@@ -429,7 +376,8 @@ public class OrderServiceImpl implements OrderService{
*/
@Transactional
@Override
public
boolean
lending
(
LendingFormModel
lendingFormModel
)
{
@OperationAnno
(
channelNo
=
"#this[0].channelOrderNumber"
,
opt
=
OptEnumName
.
PAY
,
succSPEL
=
"#this.key"
,
optDetailSPEL
=
"#this.value"
)
public
Tuple
<
Boolean
,
String
>
lending
(
LendingFormModel
lendingFormModel
)
{
boolean
result
=
false
;
...
...
@@ -439,16 +387,6 @@ public class OrderServiceImpl implements OrderService{
String
optDetail
=
lendingFormModel
.
getResult
()
?
"放款成功:"
:
"放款失败:"
;
// 操作记录
OptHistoryLog
optHistoryLog
=
new
OptHistoryLog
();
optHistoryLog
.
setChannelOrderNumber
(
lendingFormModel
.
getChannelOrderNumber
());
optHistoryLog
.
setCreditNumber
(
orderMapping
.
getApplyNo
());
optHistoryLog
.
setLoanId
(
orderMapping
.
getLoanId
());
optHistoryLog
.
setChannelId
(
orderMapping
.
getRegisteredFrom
());
optHistoryLog
.
setOptEnumName
(
OptEnumName
.
PAY
);
optHistoryLog
.
setOptName
(
OptEnumName
.
PAY
.
getDesc
());
optHistoryLog
.
setCreateTime
(
new
Date
());
// 更新合同状态
Contract
conscont
=
xyqbCenterService
.
findContractByUserId
(
orderMapping
.
getQgUserId
());
...
...
@@ -477,20 +415,17 @@ public class OrderServiceImpl implements OrderService{
if
(
result
)
{
optDetail
=
optDetail
.
concat
(
"放款操作成功"
);
optHistoryLog
.
setOptResult
(
true
);
}
else
{
optDetail
=
optDetail
.
concat
(
"放款操作失败"
);
optHistoryLog
.
setOptResult
(
false
);
}
log
.
info
(
"[order_lending]放款操作 最后结果,channelOrderNumber={}, result={}"
,
lendingFormModel
.
getChannelOrderNumber
(),
result
);
optHistoryLog
.
setOptLogDetail
(
optDetail
);
optHistoryLogService
.
save
(
optHistoryLog
);
return
result
;
return
new
Tuple
<>(
result
,
optDetail
);
}
@Override
//@OperationAnno(channelNo = "#this[0].channelOrderNumber", opt = OptEnumName.PAY, succSPEL = "#this.key", optDetailSPEL = "#this.value")
public
boolean
cancel
(
OrderVo
orderVo
)
{
ClfOrderMapping
orderMapping
=
clfOrderMappingRepository
.
findByChannelOrderNoLastOne
(
orderVo
.
getChannelOrderNumber
());
if
(
orderMapping
==
null
)
{
...
...
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