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
29567717
Commit
29567717
authored
Sep 23, 2019
by
suntao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
通过注解 写入opt操作日志
parent
c152ec2b
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
263 additions
and
44 deletions
+263
-44
ChannelConfController.java
...lowboss/api/channel/controller/ChannelConfController.java
+2
-2
Principal.java
...uantgroup/cashloanflowboss/api/login/model/Principal.java
+2
-1
LogService.java
...tgroup/cashloanflowboss/api/login/service/LogService.java
+7
-1
OrderController.java
...ashloanflowboss/api/order/controller/OrderController.java
+5
-4
OrderService.java
...roup/cashloanflowboss/api/order/service/OrderService.java
+2
-1
OrderServiceImpl.java
.../cashloanflowboss/api/order/service/OrderServiceImpl.java
+16
-13
OrderUtil.java
...quantgroup/cashloanflowboss/api/order/util/OrderUtil.java
+1
-1
UserDetailInfo.java
...group/cashloanflowboss/api/user/model/UserDetailInfo.java
+5
-12
UserInfo.java
.../quantgroup/cashloanflowboss/api/user/model/UserInfo.java
+16
-0
UserServiceImpl.java
...up/cashloanflowboss/api/user/service/UserServiceImpl.java
+1
-3
ChannelIdInit.java
...anflowboss/core/annotation/channelrole/ChannelIdInit.java
+1
-1
CheckChannelRole.java
...lowboss/core/annotation/channelrole/CheckChannelRole.java
+1
-1
CheckChannelRoleByChannelOrderNumber.java
...ion/channelrole/CheckChannelRoleByChannelOrderNumber.java
+1
-1
OperationAnno.java
...p/cashloanflowboss/core/annotation/opt/OperationAnno.java
+43
-0
OperationAspect.java
...ntgroup/cashloanflowboss/core/aspect/OperationAspect.java
+137
-0
RoleLoadAspect.java
...antgroup/cashloanflowboss/core/aspect/RoleLoadAspect.java
+3
-3
ThreeTuple.java
...cn/quantgroup/cashloanflowboss/core/tuple/ThreeTuple.java
+19
-0
CLFCenter.java
...uantgroup/cashloanflowboss/spi/clf/service/CLFCenter.java
+1
-0
No files found.
src/main/java/cn/quantgroup/cashloanflowboss/api/channel/controller/ChannelConfController.java
View file @
29567717
...
@@ -3,8 +3,8 @@ package cn.quantgroup.cashloanflowboss.api.channel.controller;
...
@@ -3,8 +3,8 @@ package cn.quantgroup.cashloanflowboss.api.channel.controller;
import
cn.quantgroup.cashloanflowboss.api.channel.model.ChannelConfVo
;
import
cn.quantgroup.cashloanflowboss.api.channel.model.ChannelConfVo
;
import
cn.quantgroup.cashloanflowboss.api.channel.service.ChannelConfService
;
import
cn.quantgroup.cashloanflowboss.api.channel.service.ChannelConfService
;
import
cn.quantgroup.cashloanflowboss.component.security.annotiation.Security
;
import
cn.quantgroup.cashloanflowboss.component.security.annotiation.Security
;
import
cn.quantgroup.cashloanflowboss.core.annotation.ChannelIdInit
;
import
cn.quantgroup.cashloanflowboss.core.annotation.
channelrole.
ChannelIdInit
;
import
cn.quantgroup.cashloanflowboss.core.annotation.CheckChannelRole
;
import
cn.quantgroup.cashloanflowboss.core.annotation.
channelrole.
CheckChannelRole
;
import
cn.quantgroup.cashloanflowboss.core.base.Result
;
import
cn.quantgroup.cashloanflowboss.core.base.Result
;
import
cn.quantgroup.cashloanflowboss.spi.clf.service.CLFCenterService
;
import
cn.quantgroup.cashloanflowboss.spi.clf.service.CLFCenterService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/login/model/Principal.java
View file @
29567717
...
@@ -2,6 +2,7 @@ package cn.quantgroup.cashloanflowboss.api.login.model;
...
@@ -2,6 +2,7 @@ package cn.quantgroup.cashloanflowboss.api.login.model;
import
cn.quantgroup.cashloanflowboss.api.role.entity.Role
;
import
cn.quantgroup.cashloanflowboss.api.role.entity.Role
;
import
cn.quantgroup.cashloanflowboss.api.user.dictionary.UserRank
;
import
cn.quantgroup.cashloanflowboss.api.user.dictionary.UserRank
;
import
cn.quantgroup.cashloanflowboss.api.user.model.UserInfo
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
...
@@ -17,7 +18,7 @@ public class Principal {
...
@@ -17,7 +18,7 @@ public class Principal {
/**
/**
* 用户ID
* 用户ID
*/
*/
private
Long
userId
;
private
UserInfo
userInfo
;
/**
/**
* 用户级别
* 用户级别
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/login/service/LogService.java
View file @
29567717
...
@@ -3,6 +3,7 @@ package cn.quantgroup.cashloanflowboss.api.login.service;
...
@@ -3,6 +3,7 @@ package cn.quantgroup.cashloanflowboss.api.login.service;
import
cn.quantgroup.cashloanflowboss.api.login.model.Principal
;
import
cn.quantgroup.cashloanflowboss.api.login.model.Principal
;
import
cn.quantgroup.cashloanflowboss.api.user.dictionary.UserStatus
;
import
cn.quantgroup.cashloanflowboss.api.user.dictionary.UserStatus
;
import
cn.quantgroup.cashloanflowboss.api.user.entity.User
;
import
cn.quantgroup.cashloanflowboss.api.user.entity.User
;
import
cn.quantgroup.cashloanflowboss.api.user.model.UserInfo
;
import
cn.quantgroup.cashloanflowboss.api.user.service.UserServiceImpl
;
import
cn.quantgroup.cashloanflowboss.api.user.service.UserServiceImpl
;
import
cn.quantgroup.cashloanflowboss.core.asserts.Assert
;
import
cn.quantgroup.cashloanflowboss.core.asserts.Assert
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationDictionary
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationDictionary
;
...
@@ -54,7 +55,12 @@ public class LogService {
...
@@ -54,7 +55,12 @@ public class LogService {
// 设置用户主要信息
// 设置用户主要信息
Principal
principal
=
new
Principal
();
Principal
principal
=
new
Principal
();
principal
.
setUserId
(
user
.
getId
());
UserInfo
userInfo
=
new
UserInfo
();
userInfo
.
setUserId
(
user
.
getId
());
userInfo
.
setUsername
(
user
.
getUsername
());
userInfo
.
setNickname
(
user
.
getNickname
());
principal
.
setUserInfo
(
userInfo
);
principal
.
setChannelId
(
user
.
getChannelId
());
principal
.
setChannelId
(
user
.
getChannelId
());
principal
.
setRank
(
user
.
getRank
());
principal
.
setRank
(
user
.
getRank
());
principal
.
setRoles
(
user
.
getRoles
());
principal
.
setRoles
(
user
.
getRoles
());
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/order/controller/OrderController.java
View file @
29567717
...
@@ -4,11 +4,12 @@ import cn.quantgroup.cashloanflowboss.api.order.model.LendingFormModel;
...
@@ -4,11 +4,12 @@ import cn.quantgroup.cashloanflowboss.api.order.model.LendingFormModel;
import
cn.quantgroup.cashloanflowboss.api.order.service.OrderService
;
import
cn.quantgroup.cashloanflowboss.api.order.service.OrderService
;
import
cn.quantgroup.cashloanflowboss.component.security.annotiation.Security
;
import
cn.quantgroup.cashloanflowboss.component.security.annotiation.Security
;
import
cn.quantgroup.cashloanflowboss.core.Application
;
import
cn.quantgroup.cashloanflowboss.core.Application
;
import
cn.quantgroup.cashloanflowboss.core.annotation.ChannelIdInit
;
import
cn.quantgroup.cashloanflowboss.core.annotation.
channelrole.
ChannelIdInit
;
import
cn.quantgroup.cashloanflowboss.core.annotation.CheckChannelRole
;
import
cn.quantgroup.cashloanflowboss.core.annotation.
channelrole.
CheckChannelRole
;
import
cn.quantgroup.cashloanflowboss.core.annotation.CheckChannelRoleByChannelOrderNumber
;
import
cn.quantgroup.cashloanflowboss.core.annotation.
channelrole.
CheckChannelRoleByChannelOrderNumber
;
import
cn.quantgroup.cashloanflowboss.core.base.Result
;
import
cn.quantgroup.cashloanflowboss.core.base.Result
;
import
cn.quantgroup.cashloanflowboss.core.base.Tuple
;
import
cn.quantgroup.cashloanflowboss.core.base.Tuple
;
import
cn.quantgroup.cashloanflowboss.core.tuple.ThreeTuple
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -63,7 +64,7 @@ public class OrderController {
...
@@ -63,7 +64,7 @@ public class OrderController {
public
Result
approveOpt
(
@RequestBody
@Valid
ApproveVo
approveVo
)
{
public
Result
approveOpt
(
@RequestBody
@Valid
ApproveVo
approveVo
)
{
if
(
Application
.
isDebug
())
{
if
(
Application
.
isDebug
())
{
T
uple
<
Boolean
,
Boolean
>
approveOptBooleanAndFundSettingBooleanTuple
=
orderService
.
approveOpt
(
approveVo
);
T
hreeTuple
<
Boolean
,
Boolean
,
String
>
approveOptBooleanAndFundSettingBooleanTuple
=
orderService
.
approveOpt
(
approveVo
);
Boolean
approveResult
=
approveOptBooleanAndFundSettingBooleanTuple
.
getKey
();
Boolean
approveResult
=
approveOptBooleanAndFundSettingBooleanTuple
.
getKey
();
if
(
approveResult
)
{
if
(
approveResult
)
{
return
Result
.
buildSuccess
(
approveResult
,
approveOptBooleanAndFundSettingBooleanTuple
.
getValue
()
?
"审批操作成功"
:
"请检查资产计划配置,审批操作成功"
);
return
Result
.
buildSuccess
(
approveResult
,
approveOptBooleanAndFundSettingBooleanTuple
.
getValue
()
?
"审批操作成功"
:
"请检查资产计划配置,审批操作成功"
);
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/order/service/OrderService.java
View file @
29567717
...
@@ -5,6 +5,7 @@ import cn.quantgroup.cashloanflowboss.api.order.model.HistoryOrderStatusVoModel;
...
@@ -5,6 +5,7 @@ import cn.quantgroup.cashloanflowboss.api.order.model.HistoryOrderStatusVoModel;
import
cn.quantgroup.cashloanflowboss.api.order.model.LendingFormModel
;
import
cn.quantgroup.cashloanflowboss.api.order.model.LendingFormModel
;
import
cn.quantgroup.cashloanflowboss.api.order.model.OrderVo
;
import
cn.quantgroup.cashloanflowboss.api.order.model.OrderVo
;
import
cn.quantgroup.cashloanflowboss.core.base.Tuple
;
import
cn.quantgroup.cashloanflowboss.core.base.Tuple
;
import
cn.quantgroup.cashloanflowboss.core.tuple.ThreeTuple
;
import
cn.quantgroup.cashloanflowboss.spi.clf.model.CallbackRecordVoModel
;
import
cn.quantgroup.cashloanflowboss.spi.clf.model.CallbackRecordVoModel
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Page
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -20,7 +21,7 @@ import java.util.List;
...
@@ -20,7 +21,7 @@ import java.util.List;
public
interface
OrderService
{
public
interface
OrderService
{
Page
<
OrderVo
>
orderList
(
Long
channelId
,
String
channelOrderNo
,
String
applyNo
,
Long
loanId
,
Integer
pageNumber
,
Integer
pageSize
);
Page
<
OrderVo
>
orderList
(
Long
channelId
,
String
channelOrderNo
,
String
applyNo
,
Long
loanId
,
Integer
pageNumber
,
Integer
pageSize
);
T
uple
<
Boolean
,
Boolean
>
approveOpt
(
ApproveVo
approveVo
);
T
hreeTuple
<
Boolean
,
Boolean
,
String
>
approveOpt
(
ApproveVo
approveVo
);
/**
/**
*
*
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/order/service/OrderServiceImpl.java
View file @
29567717
...
@@ -2,6 +2,9 @@ package cn.quantgroup.cashloanflowboss.api.order.service;
...
@@ -2,6 +2,9 @@ package cn.quantgroup.cashloanflowboss.api.order.service;
import
cn.quantgroup.cashloanflowboss.api.optlog.entity.OptHistoryLog
;
import
cn.quantgroup.cashloanflowboss.api.optlog.entity.OptHistoryLog
;
import
cn.quantgroup.cashloanflowboss.api.optlog.model.OptEnumName
;
import
cn.quantgroup.cashloanflowboss.api.optlog.model.OptEnumName
;
import
cn.quantgroup.cashloanflowboss.api.optlog.service.OptHistoryLogServiceImpl
;
import
cn.quantgroup.cashloanflowboss.api.optlog.service.OptHistoryLogServiceImpl
;
import
cn.quantgroup.cashloanflowboss.core.annotation.opt.OperationAnno
;
import
cn.quantgroup.cashloanflowboss.core.base.Tuple
;
import
cn.quantgroup.cashloanflowboss.core.tuple.ThreeTuple
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.CallbackFailRecord
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.CallbackFailRecord
;
import
cn.quantgroup.cashloanflowboss.spi.clf.model.LoanProgress
;
import
cn.quantgroup.cashloanflowboss.spi.clf.model.LoanProgress
;
...
@@ -14,7 +17,6 @@ import cn.quantgroup.cashloanflowboss.api.order.repository.OrderApproveRepositor
...
@@ -14,7 +17,6 @@ import cn.quantgroup.cashloanflowboss.api.order.repository.OrderApproveRepositor
import
cn.quantgroup.cashloanflowboss.api.order.util.OrderUtil
;
import
cn.quantgroup.cashloanflowboss.api.order.util.OrderUtil
;
import
cn.quantgroup.cashloanflowboss.core.Application
;
import
cn.quantgroup.cashloanflowboss.core.Application
;
import
cn.quantgroup.cashloanflowboss.core.base.ServiceResult
;
import
cn.quantgroup.cashloanflowboss.core.base.ServiceResult
;
import
cn.quantgroup.cashloanflowboss.core.base.Tuple
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.CallbackRecord
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.CallbackRecord
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping
;
import
cn.quantgroup.cashloanflowboss.spi.clf.model.CallbackRecordVoModel
;
import
cn.quantgroup.cashloanflowboss.spi.clf.model.CallbackRecordVoModel
;
...
@@ -180,8 +182,9 @@ public class OrderServiceImpl implements OrderService{
...
@@ -180,8 +182,9 @@ public class OrderServiceImpl implements OrderService{
* @return Tuple<Boolean 审批结果 true 审批完成 false 审批操作失败, Boolean 资产计划配置 true 配置没问题 false 配置需要检查>
* @return Tuple<Boolean 审批结果 true 审批完成 false 审批操作失败, Boolean 资产计划配置 true 配置没问题 false 配置需要检查>
*/
*/
@OperationAnno
(
channelNo
=
"#this[0].channelOrderNumber"
,
opt
=
OptEnumName
.
AUDIT
,
succSPEL
=
"#this.key"
,
optDetailSPEL
=
"#this.ex"
)
@Override
@Override
public
T
uple
<
Boolean
,
Boolean
>
approveOpt
(
ApproveVo
approveVo
)
{
public
T
hreeTuple
<
Boolean
,
Boolean
,
String
>
approveOpt
(
ApproveVo
approveVo
)
{
log
.
info
(
"approveOpt,审批操作入参,approveVo={}"
,
JSONTools
.
serialize
(
approveVo
));
log
.
info
(
"approveOpt,审批操作入参,approveVo={}"
,
JSONTools
.
serialize
(
approveVo
));
...
@@ -197,24 +200,24 @@ public class OrderServiceImpl implements OrderService{
...
@@ -197,24 +200,24 @@ public class OrderServiceImpl implements OrderService{
ClfOrderMapping
orderMapping
=
clfOrderMappingRepository
.
findByChannelOrderNoLastOne
(
approveVo
.
getChannelOrderNumber
());
ClfOrderMapping
orderMapping
=
clfOrderMappingRepository
.
findByChannelOrderNoLastOne
(
approveVo
.
getChannelOrderNumber
());
if
(
orderMapping
==
null
)
{
if
(
orderMapping
==
null
)
{
log
.
info
(
"approveOpt,审批失败,无订单 channelOrderNumber={}"
,
approveVo
.
getChannelOrderNumber
());
log
.
info
(
"approveOpt,审批失败,无订单 channelOrderNumber={}"
,
approveVo
.
getChannelOrderNumber
());
return
new
T
uple
<>(
false
,
false
);
return
new
T
hreeTuple
(
false
,
false
,
"审批失败,无订单"
);
}
}
if
(
Application
.
getPrincipal
().
isChannel
()
&&
!
Application
.
getPrincipal
().
isSameChannel
(
orderMapping
.
getRegisteredFrom
()))
{
if
(
Application
.
getPrincipal
().
isChannel
()
&&
!
Application
.
getPrincipal
().
isSameChannel
(
orderMapping
.
getRegisteredFrom
()))
{
log
.
info
(
"approveOpt,审批失败,不是该渠道订单无法审批 channelOrderNumber={}"
,
approveVo
.
getChannelOrderNumber
());
log
.
info
(
"approveOpt,审批失败,不是该渠道订单无法审批 channelOrderNumber={}"
,
approveVo
.
getChannelOrderNumber
());
return
new
T
uple
<>(
false
,
false
);
return
new
T
hreeTuple
(
false
,
false
,
"审批失败,不是该渠道订单无法审批"
);
}
}
XUser
xUser
=
xyqbUserService
.
findXUserById
(
orderMapping
.
getQgUserId
());
XUser
xUser
=
xyqbUserService
.
findXUserById
(
orderMapping
.
getQgUserId
());
if
(
xUser
==
null
)
{
if
(
xUser
==
null
)
{
log
.
info
(
"approveOpt,审批失败,未找到用户 channelOrderNumber={}"
,
approveVo
.
getChannelOrderNumber
());
log
.
info
(
"approveOpt,审批失败,未找到用户 channelOrderNumber={}"
,
approveVo
.
getChannelOrderNumber
());
return
new
T
uple
<>(
false
,
false
);
return
new
T
hreeTuple
(
false
,
false
,
"审批失败,未找到用户"
);
}
}
ChannelConf
channelConf
=
channelConfRepository
.
getByChannelId
(
orderMapping
.
getRegisteredFrom
());
ChannelConf
channelConf
=
channelConfRepository
.
getByChannelId
(
orderMapping
.
getRegisteredFrom
());
if
(
channelConf
==
null
)
{
if
(
channelConf
==
null
)
{
log
.
info
(
"approveOpt,审批失败,boss渠道配置为空 channelOrderNumber={}"
,
approveVo
.
getChannelOrderNumber
());
log
.
info
(
"approveOpt,审批失败,boss渠道配置为空 channelOrderNumber={}"
,
approveVo
.
getChannelOrderNumber
());
return
new
T
uple
<>(
false
,
false
);
return
new
T
hreeTuple
(
false
,
false
,
"审批失败,boss渠道配置为空"
);
}
}
// 额度有效期
// 额度有效期
...
@@ -268,7 +271,7 @@ public class OrderServiceImpl implements OrderService{
...
@@ -268,7 +271,7 @@ public class OrderServiceImpl implements OrderService{
corpPolicyValidate
=
xyqbCenterService
.
validateCorpPolicy
(
Long
.
valueOf
(
fundId
),
new
Date
());
corpPolicyValidate
=
xyqbCenterService
.
validateCorpPolicy
(
Long
.
valueOf
(
fundId
),
new
Date
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"审批,资方校验异常,channelOrderNumber={},fundId={}, e={}"
,
orderMapping
.
getChannelOrderNo
(),
fundId
,
ExceptionUtils
.
getStackTrace
(
e
));
log
.
error
(
"
[approveOpt]
审批,资方校验异常,channelOrderNumber={},fundId={}, e={}"
,
orderMapping
.
getChannelOrderNo
(),
fundId
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
// 操作记录
// 操作记录
...
@@ -289,17 +292,17 @@ public class OrderServiceImpl implements OrderService{
...
@@ -289,17 +292,17 @@ public class OrderServiceImpl implements OrderService{
optHistoryLog
.
setOptResult
(
true
);
optHistoryLog
.
setOptResult
(
true
);
optResult
=
true
;
optResult
=
true
;
log
.
info
(
"审批申请成功,channelOrderNumber={}"
,
orderMapping
.
getChannelOrderNo
());
log
.
info
(
"
[approveOpt]
审批申请成功,channelOrderNumber={}"
,
orderMapping
.
getChannelOrderNo
());
}
else
{
}
else
{
optLogDetail
=
optLogDetail
.
concat
(
"审批失败"
);
optLogDetail
=
optLogDetail
.
concat
(
"
clotho
审批失败"
);
optHistoryLog
.
setOptResult
(
false
);
optHistoryLog
.
setOptResult
(
false
);
log
.
info
(
"审批申请失败,channelOrderNumber={},requestParam={}"
,
orderMapping
.
getChannelOrderNo
(),
JSONTools
.
serialize
(
data
));
log
.
info
(
"
[approveOpt]
审批申请失败,channelOrderNumber={},requestParam={}"
,
orderMapping
.
getChannelOrderNo
(),
JSONTools
.
serialize
(
data
));
optResult
=
false
;
optResult
=
false
;
}
}
optHistoryLog
.
setOptLogDetail
(
optLogDetail
);
optHistoryLog
.
setOptLogDetail
(
optLogDetail
);
optHistoryLogService
.
save
(
optHistoryLog
);
//
optHistoryLogService.save(optHistoryLog);
return
new
T
uple
<>(
optResult
,
corpPolicyValidate
);
return
new
T
hreeTuple
(
optResult
,
corpPolicyValidate
,
optLogDetail
);
}
}
/**
/**
...
@@ -311,7 +314,7 @@ public class OrderServiceImpl implements OrderService{
...
@@ -311,7 +314,7 @@ public class OrderServiceImpl implements OrderService{
*/
*/
@Transactional
@Transactional
@Override
@Override
public
Tuple
<
Boolean
,
String
>
secondAudit
(
String
channelOrderNumber
)
{
public
Tuple
<
Boolean
,
String
>
secondAudit
(
String
channelOrderNumber
)
{
OptEnumName
secondAudit
=
OptEnumName
.
SECORD_AUDIT
;
OptEnumName
secondAudit
=
OptEnumName
.
SECORD_AUDIT
;
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/order/util/OrderUtil.java
View file @
29567717
...
@@ -4,6 +4,7 @@ import cn.quantgroup.cashloanflowboss.api.optlog.entity.OptHistoryLog;
...
@@ -4,6 +4,7 @@ import cn.quantgroup.cashloanflowboss.api.optlog.entity.OptHistoryLog;
import
cn.quantgroup.cashloanflowboss.api.optlog.model.OptEnumName
;
import
cn.quantgroup.cashloanflowboss.api.optlog.model.OptEnumName
;
import
cn.quantgroup.cashloanflowboss.api.order.entity.OrderApprove
;
import
cn.quantgroup.cashloanflowboss.api.order.entity.OrderApprove
;
import
cn.quantgroup.cashloanflowboss.core.base.Tuple
;
import
cn.quantgroup.cashloanflowboss.core.base.Tuple
;
import
cn.quantgroup.cashloanflowboss.core.tuple.ThreeTuple
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.ApplyRequestHistory
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.ApplyRequestHistory
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.WithdrawRecord
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.WithdrawRecord
;
...
@@ -11,7 +12,6 @@ import cn.quantgroup.cashloanflowboss.spi.clf.model.KANoticeType;
...
@@ -11,7 +12,6 @@ import cn.quantgroup.cashloanflowboss.spi.clf.model.KANoticeType;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
java.awt.font.OpenType
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/user/model/UserDetailInfo.java
View file @
29567717
...
@@ -9,7 +9,6 @@ import com.google.common.collect.Lists;
...
@@ -9,7 +9,6 @@ import com.google.common.collect.Lists;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
@Data
@Data
public
class
UserDetailInfo
{
public
class
UserDetailInfo
{
...
@@ -30,21 +29,15 @@ public class UserDetailInfo {
...
@@ -30,21 +29,15 @@ public class UserDetailInfo {
}
}
}
}
@Data
public
static
UserDetailInfo
valueOf
(
Principal
principal
)
{
public
static
class
UserInfo
{
private
Long
userId
;
private
String
userName
;
private
String
nickname
;
}
public
static
UserDetailInfo
valueOf
(
Principal
principal
,
User
user
)
{
Assert
.
isNull
(
principal
,
ApplicationStatus
.
INVALID_USER
);
Assert
.
isNull
(
principal
,
ApplicationStatus
.
INVALID_USER
);
UserDetailInfo
userDetailInfo
=
new
UserDetailInfo
();
UserDetailInfo
userDetailInfo
=
new
UserDetailInfo
();
Long
userId
=
principal
.
getUserId
();
Long
userId
=
principal
.
getUserI
nfo
().
getUserI
d
();
userDetailInfo
.
setRank
(
principal
.
getRank
().
name
());
userDetailInfo
.
setRank
(
principal
.
getRank
().
name
());
userDetailInfo
.
setChannelId
(
principal
.
getChannelId
());
userDetailInfo
.
setChannelId
(
principal
.
getChannelId
());
List
<
Role
>
roles
=
principal
.
getRoles
();
List
<
Role
>
roles
=
principal
.
getRoles
();
if
(
null
!=
roles
&&
roles
.
size
()
>
0
)
{
if
(
null
!=
roles
&&
roles
.
size
()
>
0
)
{
RoleInfo
roleInfo
=
new
RoleInfo
();
RoleInfo
roleInfo
=
new
RoleInfo
();
List
<
RoleInfo
.
roleView
>
roleInfos
=
Lists
.
newArrayList
();
List
<
RoleInfo
.
roleView
>
roleInfos
=
Lists
.
newArrayList
();
...
@@ -60,8 +53,8 @@ public class UserDetailInfo {
...
@@ -60,8 +53,8 @@ public class UserDetailInfo {
UserInfo
userInfo
=
new
UserInfo
();
UserInfo
userInfo
=
new
UserInfo
();
userInfo
.
setUserId
(
userId
);
userInfo
.
setUserId
(
userId
);
userInfo
.
setNickname
(
user
.
getNickname
());
userInfo
.
setNickname
(
principal
.
getUserInfo
()
.
getNickname
());
userInfo
.
setUser
Name
(
user
.
getUsername
());
userInfo
.
setUser
name
(
principal
.
getUserInfo
()
.
getUsername
());
userDetailInfo
.
setUserInfo
(
userInfo
);
userDetailInfo
.
setUserInfo
(
userInfo
);
return
userDetailInfo
;
return
userDetailInfo
;
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/user/model/UserInfo.java
0 → 100644
View file @
29567717
package
cn
.
quantgroup
.
cashloanflowboss
.
api
.
user
.
model
;
import
lombok.Data
;
/**
* function:
* date: 2019/9/23
*
* @author: suntao
*/
@Data
public
class
UserInfo
{
private
Long
userId
;
private
String
username
;
private
String
nickname
;
}
src/main/java/cn/quantgroup/cashloanflowboss/api/user/service/UserServiceImpl.java
View file @
29567717
...
@@ -148,9 +148,7 @@ public class UserServiceImpl implements UserService{
...
@@ -148,9 +148,7 @@ public class UserServiceImpl implements UserService{
Principal
principal
=
Application
.
getPrincipal
();
Principal
principal
=
Application
.
getPrincipal
();
Assert
.
isNull
(
principal
,
ApplicationStatus
.
INVALID_USER
);
Assert
.
isNull
(
principal
,
ApplicationStatus
.
INVALID_USER
);
User
user
=
userRepository
.
findById
(
principal
.
getUserId
());
return
UserDetailInfo
.
valueOf
(
principal
);
return
UserDetailInfo
.
valueOf
(
principal
,
user
);
}
}
...
...
src/main/java/cn/quantgroup/cashloanflowboss/core/annotation/ChannelIdInit.java
→
src/main/java/cn/quantgroup/cashloanflowboss/core/annotation/
channelrole/
ChannelIdInit.java
View file @
29567717
package
cn
.
quantgroup
.
cashloanflowboss
.
core
.
annotation
;
package
cn
.
quantgroup
.
cashloanflowboss
.
core
.
annotation
.
channelrole
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.Target
;
import
java.lang.annotation.Target
;
...
...
src/main/java/cn/quantgroup/cashloanflowboss/core/annotation/CheckChannelRole.java
→
src/main/java/cn/quantgroup/cashloanflowboss/core/annotation/
channelrole/
CheckChannelRole.java
View file @
29567717
package
cn
.
quantgroup
.
cashloanflowboss
.
core
.
annotation
;
package
cn
.
quantgroup
.
cashloanflowboss
.
core
.
annotation
.
channelrole
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.Target
;
import
java.lang.annotation.Target
;
...
...
src/main/java/cn/quantgroup/cashloanflowboss/core/annotation/CheckChannelRoleByChannelOrderNumber.java
→
src/main/java/cn/quantgroup/cashloanflowboss/core/annotation/
channelrole/
CheckChannelRoleByChannelOrderNumber.java
View file @
29567717
package
cn
.
quantgroup
.
cashloanflowboss
.
core
.
annotation
;
package
cn
.
quantgroup
.
cashloanflowboss
.
core
.
annotation
.
channelrole
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.Target
;
import
java.lang.annotation.Target
;
...
...
src/main/java/cn/quantgroup/cashloanflowboss/core/annotation/opt/OperationAnno.java
0 → 100644
View file @
29567717
package
cn
.
quantgroup
.
cashloanflowboss
.
core
.
annotation
.
opt
;
import
cn.quantgroup.cashloanflowboss.api.optlog.model.OptEnumName
;
import
java.lang.annotation.*
;
/**
* function:
* date: 2019/9/23
*
* @author: suntao
*/
@Documented
@Target
(
ElementType
.
METHOD
)
@Retention
(
RetentionPolicy
.
RUNTIME
)
public
@interface
OperationAnno
{
/**
* 渠道订单号
* @return
*/
String
channelNo
();
/**
* 操作名
* @return
*/
OptEnumName
opt
();
/**
* 是否成功
* 返回表达式
* @return
*/
String
succSPEL
();
/**
* opt详细表达式
* 返回表达式
* @return
*/
String
optDetailSPEL
();
}
src/main/java/cn/quantgroup/cashloanflowboss/core/aspect/OperationAspect.java
0 → 100644
View file @
29567717
package
cn
.
quantgroup
.
cashloanflowboss
.
core
.
aspect
;
import
java.util.Date
;
import
cn.quantgroup.cashloanflowboss.api.optlog.entity.OptHistoryLog
;
import
cn.quantgroup.cashloanflowboss.api.optlog.model.OptEnumName
;
import
cn.quantgroup.cashloanflowboss.api.optlog.service.OptHistoryLogServiceImpl
;
import
cn.quantgroup.cashloanflowboss.core.Application
;
import
cn.quantgroup.cashloanflowboss.core.annotation.opt.OperationAnno
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping
;
import
cn.quantgroup.cashloanflowboss.spi.clf.service.CLFCenterService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.annotation.Around
;
import
org.aspectj.lang.annotation.Aspect
;
import
org.aspectj.lang.annotation.Pointcut
;
import
org.aspectj.lang.reflect.MethodSignature
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.expression.Expression
;
import
org.springframework.expression.ExpressionException
;
import
org.springframework.expression.spel.standard.SpelExpressionParser
;
import
org.springframework.stereotype.Component
;
import
java.lang.reflect.Method
;
/**
* function:
* date: 2019/9/23
*
* @author: suntao
*/
@Slf4j
@Component
@Aspect
public
class
OperationAspect
{
@Autowired
private
CLFCenterService
clfCenterService
;
@Autowired
private
OptHistoryLogServiceImpl
optHistoryLogService
;
@Pointcut
(
"@annotation(cn.quantgroup.cashloanflowboss.core.annotation.opt.OperationAnno)"
)
private
void
operationAnno
()
{}
/**
* @param pjp
* @return
* @throws
*/
@Around
(
"operationAnno()"
)
private
Object
operationAnnoAndSave
(
ProceedingJoinPoint
pjp
)
throws
Throwable
{
MethodSignature
methodSignature
=
(
MethodSignature
)
pjp
.
getSignature
();
Method
method
=
methodSignature
.
getMethod
();
OperationAnno
annotation
=
method
.
getAnnotation
(
OperationAnno
.
class
);
Object
[]
args
=
pjp
.
getArgs
();
OptEnumName
opt
=
annotation
.
opt
();
String
succSPEL
=
annotation
.
succSPEL
();
String
optDetailSPEL
=
annotation
.
optDetailSPEL
();
String
channelOrderNumber
=
""
;
if
(
StringUtils
.
isNotBlank
(
annotation
.
channelNo
()))
{
String
keySPEL
=
annotation
.
channelNo
();
try
{
if
(
keySPEL
.
startsWith
(
"#this"
))
{
//判断是否是spel表达式
Expression
expression
=
new
SpelExpressionParser
().
parseExpression
(
keySPEL
);
String
value
=
expression
.
getValue
(
args
,
String
.
class
);
channelOrderNumber
=
value
;
}
else
{
log
.
warn
(
"[operationAnnoAnnSave]channelOrderNumber获取失败"
);
}
}
catch
(
ExpressionException
e
)
{
log
.
error
(
"[operationAnnoAnnSave]key表达式“"
+
keySPEL
+
"”错误:{}"
,
e
);
throw
e
;
}
}
OptHistoryLog
optHistoryLog
=
new
OptHistoryLog
();
if
(
StringUtils
.
isNotEmpty
(
channelOrderNumber
))
{
ClfOrderMapping
orderMapping
=
clfCenterService
.
findOrderMappingByChannelOrderNo
(
channelOrderNumber
);
if
(
orderMapping
!=
null
)
{
// do some
optHistoryLog
.
setChannelOrderNumber
(
channelOrderNumber
);
optHistoryLog
.
setCreditNumber
(
orderMapping
.
getApplyNo
());
optHistoryLog
.
setLoanId
(
orderMapping
.
getLoanId
());
optHistoryLog
.
setChannelId
(
orderMapping
.
getRegisteredFrom
());
optHistoryLog
.
setOptEnumName
(
opt
);
optHistoryLog
.
setOptName
(
opt
.
getDesc
());
optHistoryLog
.
setOptUser
(
Application
.
getPrincipal
().
getUserInfo
().
getNickname
());
optHistoryLog
.
setCreateTime
(
new
Date
());
}
else
{
log
.
warn
(
"[operationAnnoAnnSave]orderMapping is null, channelOrderNumber={}"
,
channelOrderNumber
);
return
pjp
.
proceed
();
}
}
else
{
log
.
warn
(
"[operationAnnoAnnSave]channelOrderNumber is empty, channelOrderNumber={}"
,
channelOrderNumber
);
return
pjp
.
proceed
();
}
Object
proceed
=
pjp
.
proceed
();
if
(
StringUtils
.
isNotEmpty
(
succSPEL
))
{
try
{
if
(
succSPEL
.
startsWith
(
"#this"
))
{
//判断是否是spel表达式
Expression
expression
=
new
SpelExpressionParser
().
parseExpression
(
succSPEL
);
Boolean
isSuccess
=
expression
.
getValue
(
proceed
,
Boolean
.
class
);
optHistoryLog
.
setOptResult
(
isSuccess
);
}
else
{
log
.
warn
(
"[operationAnnoAnnSave]optResult获取失败"
);
}
}
catch
(
ExpressionException
e
)
{
log
.
error
(
"[operationAnnoAnnSave]key表达式“"
+
succSPEL
+
"”错误:{}"
,
e
);
throw
e
;
}
}
if
(
StringUtils
.
isNotEmpty
(
optDetailSPEL
))
{
try
{
if
(
optDetailSPEL
.
startsWith
(
"#this"
))
{
//判断是否是spel表达式
Expression
expression
=
new
SpelExpressionParser
().
parseExpression
(
optDetailSPEL
);
String
optDetail
=
expression
.
getValue
(
proceed
,
String
.
class
);
optHistoryLog
.
setOptLogDetail
(
optDetail
);
}
else
{
log
.
warn
(
"[operationAnnoAnnSave]optDetail获取失败"
);
}
}
catch
(
ExpressionException
e
)
{
log
.
error
(
"[operationAnnoAnnSave]key表达式“"
+
optDetailSPEL
+
"”错误:{}"
,
e
);
throw
e
;
}
}
optHistoryLogService
.
save
(
optHistoryLog
);
return
proceed
;
}
}
src/main/java/cn/quantgroup/cashloanflowboss/core/aspect/RoleLoadAspect.java
View file @
29567717
...
@@ -4,9 +4,9 @@ import cn.quantgroup.cashloanflowboss.api.channel.model.ChannelConfVo;
...
@@ -4,9 +4,9 @@ import cn.quantgroup.cashloanflowboss.api.channel.model.ChannelConfVo;
import
cn.quantgroup.cashloanflowboss.api.channel.util.ChannelConfUtil
;
import
cn.quantgroup.cashloanflowboss.api.channel.util.ChannelConfUtil
;
import
cn.quantgroup.cashloanflowboss.api.login.model.Principal
;
import
cn.quantgroup.cashloanflowboss.api.login.model.Principal
;
import
cn.quantgroup.cashloanflowboss.core.Application
;
import
cn.quantgroup.cashloanflowboss.core.Application
;
import
cn.quantgroup.cashloanflowboss.core.annotation.ChannelIdInit
;
import
cn.quantgroup.cashloanflowboss.core.annotation.
channelrole.
ChannelIdInit
;
import
cn.quantgroup.cashloanflowboss.core.annotation.CheckChannelRole
;
import
cn.quantgroup.cashloanflowboss.core.annotation.
channelrole.
CheckChannelRole
;
import
cn.quantgroup.cashloanflowboss.core.annotation.CheckChannelRoleByChannelOrderNumber
;
import
cn.quantgroup.cashloanflowboss.core.annotation.
channelrole.
CheckChannelRoleByChannelOrderNumber
;
import
cn.quantgroup.cashloanflowboss.core.base.Result
;
import
cn.quantgroup.cashloanflowboss.core.base.Result
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping
;
...
...
src/main/java/cn/quantgroup/cashloanflowboss/core/tuple/ThreeTuple.java
0 → 100644
View file @
29567717
package
cn
.
quantgroup
.
cashloanflowboss
.
core
.
tuple
;
import
cn.quantgroup.cashloanflowboss.core.base.Tuple
;
/**
* function:
* date: 2019/9/23
*
* @author: suntao
*/
public
class
ThreeTuple
<
T
,
V
,
D
>
extends
Tuple
<
T
,
V
>
{
public
final
D
ex
;
public
ThreeTuple
(
T
a
,
V
b
,
D
d
)
{
super
(
a
,
b
);
ex
=
d
;
}
}
src/main/java/cn/quantgroup/cashloanflowboss/spi/clf/service/CLFCenter.java
View file @
29567717
package
cn
.
quantgroup
.
cashloanflowboss
.
spi
.
clf
.
service
;
package
cn
.
quantgroup
.
cashloanflowboss
.
spi
.
clf
.
service
;
import
cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
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