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
e4685308
Commit
e4685308
authored
Aug 07, 2019
by
suntao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
渠道配置 查询 编辑 只能操作当前渠道 采用注解形式 可复用
parent
739cd248
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
36 additions
and
11 deletions
+36
-11
ChannelConfController.java
...lowboss/api/channel/controller/ChannelConfController.java
+1
-0
CheckChannelRole.java
...up/cashloanflowboss/core/annotation/CheckChannelRole.java
+2
-0
RoleLoadAspect.java
...antgroup/cashloanflowboss/core/aspect/RoleLoadAspect.java
+33
-11
No files found.
src/main/java/cn/quantgroup/cashloanflowboss/api/channel/controller/ChannelConfController.java
View file @
e4685308
...
@@ -49,6 +49,7 @@ public class ChannelConfController {
...
@@ -49,6 +49,7 @@ public class ChannelConfController {
}
}
@CheckChannelRole
(
isObjParam
=
true
,
paramClazz
=
ChannelConfVo
.
class
)
@PostMapping
(
"/cfg/info"
)
@PostMapping
(
"/cfg/info"
)
public
Result
editChannelConfInfo
(
@RequestBody
@Valid
ChannelConfVo
channelConfVo
)
{
public
Result
editChannelConfInfo
(
@RequestBody
@Valid
ChannelConfVo
channelConfVo
)
{
return
Result
.
buildSuccess
(
channelConfService
.
editChannelConfInfo
(
channelConfVo
));
return
Result
.
buildSuccess
(
channelConfService
.
editChannelConfInfo
(
channelConfVo
));
...
...
src/main/java/cn/quantgroup/cashloanflowboss/core/annotation/CheckChannelRole.java
View file @
e4685308
...
@@ -15,4 +15,6 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
...
@@ -15,4 +15,6 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
@Target
({
METHOD
})
@Target
({
METHOD
})
@Retention
(
RUNTIME
)
@Retention
(
RUNTIME
)
public
@interface
CheckChannelRole
{
public
@interface
CheckChannelRole
{
boolean
isObjParam
()
default
false
;
Class
paramClazz
()
default
Object
.
class
;
}
}
src/main/java/cn/quantgroup/cashloanflowboss/core/aspect/RoleLoadAspect.java
View file @
e4685308
package
cn
.
quantgroup
.
cashloanflowboss
.
core
.
aspect
;
package
cn
.
quantgroup
.
cashloanflowboss
.
core
.
aspect
;
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.user.model.UserSessionInfo
;
import
cn.quantgroup.cashloanflowboss.api.user.model.UserSessionInfo
;
import
cn.quantgroup.cashloanflowboss.api.user.service.UserSessionService
;
import
cn.quantgroup.cashloanflowboss.api.user.service.UserSessionService
;
...
@@ -21,6 +22,7 @@ import org.springframework.core.Ordered;
...
@@ -21,6 +22,7 @@ import org.springframework.core.Ordered;
import
org.springframework.core.annotation.Order
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Method
;
/**
/**
...
@@ -63,23 +65,43 @@ public class RoleLoadAspect {
...
@@ -63,23 +65,43 @@ public class RoleLoadAspect {
// 如果是渠道用户登陆,参数中channelId 不是登陆用户channelId,返回 拒绝请求
// 如果是渠道用户登陆,参数中channelId 不是登陆用户channelId,返回 拒绝请求
CheckChannelRole
checkChannelRole
=
method
.
getAnnotation
(
CheckChannelRole
.
class
);
CheckChannelRole
checkChannelRole
=
method
.
getAnnotation
(
CheckChannelRole
.
class
);
if
(
checkChannelRole
!=
null
&&
ChannelConfUtil
.
channelRoleName
.
equals
(
userSessionInfo
.
getRoleInfo
().
getRoleName
()))
{
if
(
checkChannelRole
!=
null
&&
ChannelConfUtil
.
channelRoleName
.
equals
(
userSessionInfo
.
getRoleInfo
().
getRoleName
()))
{
Integer
requestChannelId
=
-
1
;
if
(!
checkChannelRole
.
isObjParam
())
{
String
[]
paramNames
=
((
CodeSignature
)
pjp
.
getSignature
()).
getParameterNames
();
String
[]
paramNames
=
((
CodeSignature
)
pjp
.
getSignature
()).
getParameterNames
();
for
(
int
i
=
0
;
i
<
paramNames
.
length
;
i
++)
{
for
(
int
i
=
0
;
i
<
paramNames
.
length
;
i
++)
{
// 是简单类型,多个参数 直接参数channelId
if
(
ChannelConfUtil
.
channelIdParamName
.
equals
(
paramNames
[
i
]))
{
if
(
ChannelConfUtil
.
channelIdParamName
.
equals
(
paramNames
[
i
]))
{
// 找到channelId是第几个参数 i
Object
requestChannelIdObj
=
args
[
i
];
Object
requestChannelIdObj
=
args
[
i
];
if
(
requestChannelIdObj
==
null
)
{
if
(
requestChannelIdObj
==
null
)
{
log
.
info
(
"[CheckChannelRole]无channelId数据"
);
log
.
info
(
"[CheckChannelRole]无channelId数据"
);
return
Result
.
buildFial
(
ApplicationStatus
.
ARGUMENT_VALID_EXCEPTION
);
return
Result
.
buildFial
(
ApplicationStatus
.
ARGUMENT_VALID_EXCEPTION
);
}
}
final
Integer
channelIdInteger
=
Integer
.
valueOf
(
String
.
valueOf
(
requestChannelIdObj
));
requestChannelId
=
Integer
.
valueOf
(
String
.
valueOf
(
requestChannelIdObj
));
if
(
channelIdInteger
!=
channelIdInSession
.
intValue
())
{
if
(
requestChannelId
!=
channelIdInSession
.
intValue
())
{
log
.
info
(
"[CheckChannelRole]渠道用户,登陆channelId与查询channelId不是同一个"
);
log
.
info
(
"[CheckChannelRole]渠道用户,登陆channelId与查询channelId不是同一个"
);
return
Result
.
buildFial
(
ApplicationStatus
.
INVALID_AUTHORITY
);
return
Result
.
buildFial
(
ApplicationStatus
.
INVALID_AUTHORITY
);
}
}
}
}
}
}
}
else
{
Class
paramClazz
=
checkChannelRole
.
paramClazz
();
if
(
paramClazz
==
ChannelConfVo
.
class
)
{
ChannelConfVo
confVo
=
(
ChannelConfVo
)
args
[
0
];
final
Long
channelIdTemp
=
confVo
.
getBasicInfo
().
getChannelId
();
if
(
channelIdTemp
==
null
)
{
log
.
info
(
"[CheckChannelRole]无channelId数据"
);
return
Result
.
buildFial
(
ApplicationStatus
.
ARGUMENT_VALID_EXCEPTION
);
}
}
requestChannelId
=
channelIdTemp
.
intValue
();
}
}
if
(
requestChannelId
!=
channelIdInSession
.
intValue
())
{
log
.
info
(
"[CheckChannelRole]渠道用户,登陆channelId与查询channelId不是同一个"
);
return
Result
.
buildFial
(
ApplicationStatus
.
INVALID_AUTHORITY
);
}
}
// ======================================== CheckChannelRole end ==========================================
try
{
try
{
return
pjp
.
proceed
(
args
);
return
pjp
.
proceed
(
args
);
...
...
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