Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz4j Spring R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7后台标准模板
iBiz4j Spring R7
提交
84b9d1fb
提交
84b9d1fb
编写于
5月 25, 2020
作者:
sq3536
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
系统资源同步
上级
2d979d41
变更
3
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
24 行增加
和
36 行删除
+24
-36
IBZUAAFallback.java.ftl
...in/java/%SYS_PKGPATH%/util/client/IBZUAAFallback.java.ftl
+2
-3
IBZUAAFeignClient.java.ftl
...java/%SYS_PKGPATH%/util/client/IBZUAAFeignClient.java.ftl
+3
-4
PermissionSyncJob.java.ftl
...in/java/%SYS_PKGPATH%/util/job/PermissionSyncJob.java.ftl
+19
-29
未找到文件。
SLN/%PUBPRJ%-util/src/main/java/%SYS_PKGPATH%/util/client/IBZUAAFallback.java.ftl
浏览文件 @
84b9d1fb
...
...
@@ -7,14 +7,13 @@ import ${pub.getPKGCodeName()}.util.security.AuthenticationUser;
import
${
pub
.
getPKGCodeName
()}.
util
.
security
.
AuthorizationLogin
;
import
org
.
springframework
.
stereotype
.
Component
;
import
com
.
alibaba
.
fastjson
.
JSONObject
;
import
java
.
util
.
Map
;
@
Component
public
class
IBZUAAFallback
implements
IBZUAAFeignClient
{
@
Override
public
JSONObject
pushSystemPermissionData
(
Map
<
String
,
Object
>
systemPermissionData
,
String
systemId
)
{
return
null
;
public
boolean
pushSystemPermissionData
(
String
systemid
,
JSONObject
systemPermissionData
)
{
return
false
;
}
@
Override
...
...
SLN/%PUBPRJ%-util/src/main/java/%SYS_PKGPATH%/util/client/IBZUAAFeignClient.java.ftl
浏览文件 @
84b9d1fb
...
...
@@ -8,19 +8,18 @@ import ${pub.getPKGCodeName()}.util.security.AuthorizationLogin;
import
org
.
springframework
.
cloud
.
openfeign
.
FeignClient
;
import
org
.
springframework
.
web
.
bind
.
annotation
.*;
import
com
.
alibaba
.
fastjson
.
JSONObject
;
import
java
.
util
.
Map
;
@
FeignClient
(
value
=
"ibzuaa-api"
,
fallback
=
IBZUAAFallback
.
class
)
public
interface
IBZUAAFeignClient
{
/**
*
推送系统权限数据到
uaa
*
@
param
systemid
*
@
param
systemPermissionData
*
@
param
systemId
*
@
return
*/
@
PostMapping
(
"/
uaa/permission/save
"
)
JSONObject
pushSystemPermissionData
(@
RequestBody
Map
<
String
,
Object
>
systemPermissionData
,
@
RequestParam
(
"systemid"
)
String
systemId
);
@
PostMapping
(
"/
syspssystems/{systemid}/permissiondata
"
)
boolean
pushSystemPermissionData
(@
PathVariable
(
"systemid"
)
String
systemid
,@
RequestBody
JSONObject
systemPermissionData
);
/**
*
用户登录
...
...
SLN/%PUBPRJ%-util/src/main/java/%SYS_PKGPATH%/util/job/PermissionSyncJob.java.ftl
浏览文件 @
84b9d1fb
...
...
@@ -4,60 +4,50 @@ TARGET=PSSYSTEM
<#
assign
sid
=
sys
.
getName
()/>
package
${
pub
.
getPKGCodeName
()}.
util
.
job
;
import
com
.
alibaba
.
fastjson
.
JSONArray
;
import
com
.
alibaba
.
fastjson
.
JSONObject
;
import
${
pub
.
getPKGCodeName
()}.
util
.
client
.
IBZUAAFeignClient
;
import
com
.
alibaba
.
fastjson
.
JSONObject
;
import
lombok
.
extern
.
slf4j
.
Slf4j
;
import
org
.
apache
.
commons
.
io
.
IOUtils
;
import
org
.
apache
.
commons
.
logging
.
Log
;
import
org
.
apache
.
commons
.
logging
.
LogFactory
;
import
org
.
springframework
.
beans
.
factory
.
annotation
.
Autowired
;
import
org
.
springframework
.
beans
.
factory
.
annotation
.
Value
;
import
org
.
springframework
.
boot
.
ApplicationArguments
;
import
org
.
springframework
.
boot
.
ApplicationRunner
;
import
org
.
springframework
.
boot
.
autoconfigure
.
condition
.
ConditionalOnProperty
;
import
org
.
springframework
.
context
.
annotation
.
Lazy
;
import
org
.
springframework
.
stereotype
.
Component
;
import
java
.
io
.
InputStream
;
import
java
.
util
.
HashMap
;
import
java
.
util
.
Map
;
import
java
.
util
.
List
;
import
java
.
util
.
ArrayList
;
import
java
.
io
.
IOException
;
/**
*
权限:向
uaa
同步当前系统菜单、权限资源任务类
*/
//@
Component
//
开启此类需要保证
Main
中开启了
feign
:
EnableFeignClients
@
Slf4j
@
Component
@
ConditionalOnProperty
(
name
=
"ibiz.enablePermissionValid"
,
havingValue
=
"true"
)
public
class
PermissionSyncJob
implements
ApplicationRunner
{
private
Log
log
=
LogFactory
.
getLog
(
PermissionSyncJob
.
class
);
@
Autowired
@
Lazy
private
IBZUAAFeignClient
client
;
@
Value
(
"${r'${ibiz.enablePermissionValid:false}'}"
)
boolean
enablePermissionValid
;
//
是否开启权限校验
@
Value
(
"${r'$'}{ibiz.systemid:${sid}}"
)
private
String
systemId
;
@
Override
public
void
run
(
ApplicationArguments
args
)
{
if
(
enablePermissionValid
){
try
{
InputStream
permission
=
this
.
getClass
().
getResourceAsStream
(
"/permission/systemResource.json"
);
//
获取当前系统所有实体资源能力
String
permissionResult
=
IOUtils
.
toString
(
permission
,
"UTF-8"
);
JSONObject
jsonNodePermission
=
JSONObject
.
parseObject
(
permissionResult
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"permission"
,
jsonNodePermission
);
JSONObject
syncResult
=
client
.
pushSystemPermissionData
(
map
,
systemId
);
if
(
syncResult
.
getInteger
(
"code"
)==
1
){
log
.
info
(
"向[UAA]同步系统资源成功"
);
}
else
{
log
.
info
(
String
.
format
(
"向[UAA]同步系统资源失败,失败原因为[%s]"
,
syncResult
.
getString
(
"msg"
)));
}
}
catch
(
Exception
ex
)
{
log
.
error
(
String
.
format
(
"向[UAA]同步系统资源失败,请检查[UAA]服务是否正常! [%s]"
,
ex
));
try
{
Thread
.
sleep
(
10000
);
InputStream
permission
=
this
.
getClass
().
getResourceAsStream
(
"/permission/systemResource.json"
);
//
获取当前系统所有实体资源能力
String
permissionResult
=
IOUtils
.
toString
(
permission
,
"UTF-8"
);
if
(
client
.
pushSystemPermissionData
(
systemId
,
JSONObject
.
parseObject
(
permissionResult
))){
log
.
info
(
"向[UAA]同步系统资源成功"
);
}
else
{
log
.
info
(
String
.
format
(
"向[UAA]同步系统资源失败"
));
}
}
catch
(
Exception
ex
)
{
log
.
error
(
String
.
format
(
"向[UAA]同步系统资源失败,请检查[UAA]服务是否正常! [%s]"
,
ex
));
}
}
}
\ No newline at end of file
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录