Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
K
know-base
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
know-base
Commits
bcb9fb81
提交
bcb9fb81
authored
1月 12, 2024
作者:
obcy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改
上级
304e7777
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
130 行增加
和
62 行删除
+130
-62
KnowInterceptor.java
...com/zzsn/knowbase/config/interceptor/KnowInterceptor.java
+10
-10
KbAuthorizedUser.java
src/main/java/com/zzsn/knowbase/entity/KbAuthorizedUser.java
+5
-0
KbUserRoleMap.java
src/main/java/com/zzsn/knowbase/entity/KbUserRoleMap.java
+10
-6
KbAuthorizedUserServiceImpl.java
...sn/knowbase/service/impl/KbAuthorizedUserServiceImpl.java
+105
-46
没有找到文件。
src/main/java/com/zzsn/knowbase/config/interceptor/KnowInterceptor.java
浏览文件 @
bcb9fb81
...
@@ -31,16 +31,16 @@ public class KnowInterceptor implements HandlerInterceptor {
...
@@ -31,16 +31,16 @@ public class KnowInterceptor implements HandlerInterceptor {
// 在请求处理之前进行调用(Controller方法调用之前)
// 在请求处理之前进行调用(Controller方法调用之前)
// 返回true才会继续执行后续的Interceptor和Controller
// 返回true才会继续执行后续的Interceptor和Controller
// 返回false则取消当前请求
// 返回false则取消当前请求
//
String token = request.getHeader("X-Access-Token");
String
token
=
request
.
getHeader
(
"X-Access-Token"
);
//
//
KbAuthorizedUserService userService = SpringContextUtils.getBean(KbAuthorizedUserService.class);
KbAuthorizedUserService
userService
=
SpringContextUtils
.
getBean
(
KbAuthorizedUserService
.
class
);
//
Result<?> result = userService.doCheckAndGetUser(token);
Result
<?>
result
=
userService
.
doCheckAndGetUser
(
token
);
//
/**第三方用户验证未通过,直接拦截请求并返回提示*/
/**第三方用户验证未通过,直接拦截请求并返回提示*/
//
if (!result.isSuccess()){
if
(!
result
.
isSuccess
()){
//
doRes(request,response);
doRes
(
request
,
response
);
//
return false;
return
false
;
//
}
}
//
request.setAttribute(Constants.USER_INFO, JSONUtil.toJsonStr(result.getResult()));
request
.
setAttribute
(
Constants
.
USER_INFO
,
JSONUtil
.
toJsonStr
(
result
.
getResult
()));
return
true
;
return
true
;
}
}
...
...
src/main/java/com/zzsn/knowbase/entity/KbAuthorizedUser.java
浏览文件 @
bcb9fb81
...
@@ -110,6 +110,11 @@ public class KbAuthorizedUser extends Model<KbAuthorizedUser> {
...
@@ -110,6 +110,11 @@ public class KbAuthorizedUser extends Model<KbAuthorizedUser> {
*/
*/
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
String
knowledgeProjectId
;
private
String
knowledgeProjectId
;
/**
* 是否有所有节点的权限,0是,1否
*/
@TableField
(
exist
=
false
)
private
Integer
isAll
;
}
}
src/main/java/com/zzsn/knowbase/entity/KbUserRoleMap.java
浏览文件 @
bcb9fb81
package
com
.
zzsn
.
knowbase
.
entity
;
package
com
.
zzsn
.
knowbase
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.extension.activerecord.Model
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
java.io.Serializable
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.extension.activerecord.Model
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
...
@@ -31,13 +30,18 @@ public class KbUserRoleMap extends Model<KbUserRoleMap> {
...
@@ -31,13 +30,18 @@ public class KbUserRoleMap extends Model<KbUserRoleMap> {
* 授权用户id
* 授权用户id
*/
*/
@TableField
(
"user_id"
)
@TableField
(
"user_id"
)
private
Lo
ng
userId
;
private
Stri
ng
userId
;
/**
/**
* 角色id
* 角色id
*/
*/
@TableField
(
"role_id"
)
@TableField
(
"role_id"
)
private
Long
roleId
;
private
String
roleId
;
/**
* 知识库分类id
*/
@TableField
(
"knowledge_project_id"
)
private
String
knowledgeProjectId
;
...
...
src/main/java/com/zzsn/knowbase/service/impl/KbAuthorizedUserServiceImpl.java
浏览文件 @
bcb9fb81
...
@@ -72,25 +72,26 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
...
@@ -72,25 +72,26 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
authorizedUser
.
setCreateTime
(
new
Date
());
authorizedUser
.
setCreateTime
(
new
Date
());
super
.
save
(
authorizedUser
);
super
.
save
(
authorizedUser
);
/**插入用户角色关系表*/
if
(
StringUtils
.
isNotBlank
(
authorizedUser
.
getRoleId
())){
String
roleId
=
authorizedUser
.
getRoleId
();
List
<
String
>
list
=
Arrays
.
asList
(
roleId
.
split
(
","
));
List
<
KbUserRoleMap
>
maps
=
new
ArrayList
<>();
list
.
forEach
(
e
->{
KbUserRoleMap
kbUserRoleMap
=
new
KbUserRoleMap
();
kbUserRoleMap
.
setUserId
(
Long
.
parseLong
(
authorizedUser
.
getId
()));
kbUserRoleMap
.
setRoleId
(
Long
.
parseLong
(
e
));
maps
.
add
(
kbUserRoleMap
);
});
kbUserRoleMapService
.
saveBatch
(
maps
);
}
/**插入用户知识库权限关系表*/
/**插入用户知识库权限关系表*/
if
(
StringUtils
.
isNotBlank
(
authorizedUser
.
getKnowledgeProjectId
())){
if
(
StringUtils
.
isNotBlank
(
authorizedUser
.
getKnowledgeProjectId
())){
KbAuthuserKnowledgeprojectMap
kbAuthuserKnowledgeprojectMap
=
new
KbAuthuserKnowledgeprojectMap
();
KbAuthuserKnowledgeprojectMap
kbAuthuserKnowledgeprojectMap
=
new
KbAuthuserKnowledgeprojectMap
();
kbAuthuserKnowledgeprojectMap
.
setAuthUserId
(
authorizedUser
.
getId
());
kbAuthuserKnowledgeprojectMap
.
setAuthUserId
(
authorizedUser
.
getId
());
kbAuthuserKnowledgeprojectMap
.
setKnowledgeProjectId
(
authorizedUser
.
getKnowledgeProjectId
());
kbAuthuserKnowledgeprojectMap
.
setKnowledgeProjectId
(
authorizedUser
.
getKnowledgeProjectId
());
authuserKnowledgeprojectMapService
.
save
(
kbAuthuserKnowledgeprojectMap
);
authuserKnowledgeprojectMapService
.
save
(
kbAuthuserKnowledgeprojectMap
);
/**插入用户角色关系表*/
if
(
StringUtils
.
isNotBlank
(
authorizedUser
.
getRoleId
())){
String
roleId
=
authorizedUser
.
getRoleId
();
List
<
String
>
list
=
Arrays
.
asList
(
roleId
.
split
(
","
));
List
<
KbUserRoleMap
>
maps
=
new
ArrayList
<>();
list
.
forEach
(
e
->{
KbUserRoleMap
kbUserRoleMap
=
new
KbUserRoleMap
();
kbUserRoleMap
.
setUserId
(
authorizedUser
.
getId
());
kbUserRoleMap
.
setRoleId
(
e
);
maps
.
add
(
kbUserRoleMap
);
});
kbUserRoleMapService
.
saveBatch
(
maps
);
}
}
}
return
Result
.
OK
();
return
Result
.
OK
();
}
}
...
@@ -103,50 +104,83 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
...
@@ -103,50 +104,83 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
}
}
List
<
KbAuthorizedUser
>
kbAuthorizedUsers
=
authorizedUserMapper
.
selectList
(
Wrappers
.<
KbAuthorizedUser
>
lambdaQuery
().
in
(
KbAuthorizedUser:
:
getUserId
,
authorizedUsers
.
stream
().
map
(
KbAuthorizedUser:
:
getUserId
).
collect
(
Collectors
.
toList
())));
List
<
KbAuthorizedUser
>
kbAuthorizedUsers
=
authorizedUserMapper
.
selectList
(
Wrappers
.<
KbAuthorizedUser
>
lambdaQuery
().
in
(
KbAuthorizedUser:
:
getUserId
,
authorizedUsers
.
stream
().
map
(
KbAuthorizedUser:
:
getUserId
).
collect
(
Collectors
.
toList
())));
List
<
String
>
collect
=
kbAuthorizedUsers
.
stream
().
map
(
KbAuthorizedUser:
:
getUserId
).
collect
(
Collectors
.
toList
());
authorizedUsers
.
forEach
(
e
->
{
//已经授权过的用户在用户表里不用重复插入
List
<
String
>
collect
=
kbAuthorizedUsers
.
stream
().
map
(
KbAuthorizedUser:
:
getUserId
).
collect
(
Collectors
.
toList
());
List
<
KbAuthorizedUser
>
notExist
=
authorizedUsers
.
stream
().
filter
(
f
->
!
collect
.
contains
(
f
.
getUserId
())).
collect
(
Collectors
.
toList
());
notExist
.
forEach
(
e
->
{
/**保存授权用户*/
/**保存授权用户*/
e
.
setStatus
(
"0"
);
e
.
setStatus
(
"0"
);
e
.
setCreateTime
(
new
Date
());
e
.
setCreateTime
(
new
Date
());
});
});
super
.
saveBatch
(
authorizedUsers
);
super
.
saveBatch
(
notExist
);
//获取这一批下面的其中一个用户,获取这批用户关联的知识库分类
KbAuthorizedUser
kbAuthorizedUser
=
authorizedUsers
.
get
(
0
);
KbAuthorizedUser
kbAuthorizedUser
=
authorizedUsers
.
get
(
0
);
if
(!
"0"
.
equals
(
kbAuthorizedUser
.
getKnowledgeProjectId
()))
{
List
<
KbKnowledgeProject
>
projectTypes
=
knowledgeProjectService
.
list
(
Wrappers
.<
KbKnowledgeProject
>
lambdaQuery
().
like
(
KbKnowledgeProject:
:
getFullPath
,
kbAuthorizedUser
.
getKnowledgeProjectId
()));
//查询授权节点和其子节点,一起授权
List
<
KbKnowledgeProject
>
projectTypes
=
knowledgeProjectService
.
list
(
Wrappers
.<
KbKnowledgeProject
>
lambdaQuery
().
like
(
KbKnowledgeProject:
:
getFullPath
,
kbAuthorizedUser
.
getKnowledgeProjectId
()));
List
<
KbUserRoleMap
>
maps
=
new
ArrayList
<>();
List
<
KbUserRoleMap
>
maps
=
new
ArrayList
<>();
List
<
KbAuthuserKnowledgeprojectMap
>
userknows
=
new
ArrayList
<>();
List
<
KbAuthuserKnowledgeprojectMap
>
userknows
=
new
ArrayList
<>();
authorizedUsers
.
forEach
(
authorizedUser
->{
/**插入用户知识库分类权限关系表*/
if
(
CollectionUtil
.
isNotEmpty
(
projectTypes
)){
projectTypes
.
forEach
(
e
->
{
KbAuthuserKnowledgeprojectMap
kbAuthuserKnowledgeprojectMap
=
new
KbAuthuserKnowledgeprojectMap
();
kbAuthuserKnowledgeprojectMap
.
setAuthUserId
(
authorizedUser
.
getId
());
kbAuthuserKnowledgeprojectMap
.
setKnowledgeProjectId
(
e
.
getId
());
kbAuthuserKnowledgeprojectMap
.
setSign
(
0
);
userknows
.
add
(
kbAuthuserKnowledgeprojectMap
);
/**插入用户角色关系表*/
if
(
StringUtils
.
isNotBlank
(
authorizedUser
.
getRoleId
())){
String
roleId
=
authorizedUser
.
getRoleId
();
List
<
String
>
list
=
Arrays
.
asList
(
roleId
.
split
(
","
));
list
.
forEach
(
ee
->{
KbUserRoleMap
kbUserRoleMap
=
new
KbUserRoleMap
();
kbUserRoleMap
.
setUserId
(
authorizedUser
.
getId
());
kbUserRoleMap
.
setRoleId
(
ee
);
kbUserRoleMap
.
setKnowledgeProjectId
(
e
.
getId
());
maps
.
add
(
kbUserRoleMap
);
});
}
});
}
});
authorizedUsers
.
forEach
(
authorizedUser
->{
kbUserRoleMapService
.
saveBatch
(
maps
);
/**插入用户角色关系表*/
authuserKnowledgeprojectMapService
.
saveBatch
(
userknows
);
if
(
StringUtils
.
isNotBlank
(
authorizedUser
.
getRoleId
())){
}
else
{
String
roleId
=
authorizedUser
.
getRoleId
();
authorizedUsers
.
forEach
(
authorizedUser
->{
List
<
String
>
list
=
Arrays
.
asList
(
roleId
.
split
(
","
));
/**插入用户知识库权限关系表*/
list
.
forEach
(
e
->{
if
(
StringUtils
.
isNotBlank
(
authorizedUser
.
getKnowledgeProjectId
())){
KbUserRoleMap
kbUserRoleMap
=
new
KbUserRoleMap
();
kbUserRoleMap
.
setUserId
(
Long
.
parseLong
(
authorizedUser
.
getId
()));
kbUserRoleMap
.
setRoleId
(
Long
.
parseLong
(
e
));
maps
.
add
(
kbUserRoleMap
);
});
}
/**插入用户知识库分类权限关系表*/
if
(
CollectionUtil
.
isNotEmpty
(
projectTypes
)){
projectTypes
.
forEach
(
e
->
{
KbAuthuserKnowledgeprojectMap
kbAuthuserKnowledgeprojectMap
=
new
KbAuthuserKnowledgeprojectMap
();
KbAuthuserKnowledgeprojectMap
kbAuthuserKnowledgeprojectMap
=
new
KbAuthuserKnowledgeprojectMap
();
kbAuthuserKnowledgeprojectMap
.
setAuthUserId
(
authorizedUser
.
getId
());
kbAuthuserKnowledgeprojectMap
.
setAuthUserId
(
authorizedUser
.
getId
());
kbAuthuserKnowledgeprojectMap
.
setKnowledgeProjectId
(
e
.
getId
());
kbAuthuserKnowledgeprojectMap
.
setKnowledgeProjectId
(
authorizedUser
.
getKnowledgeProjectId
());
userknows
.
add
(
kbAuthuserKnowledgeprojectMap
);
authuserKnowledgeprojectMapService
.
save
(
kbAuthuserKnowledgeprojectMap
);
});
}
/**插入用户角色关系表*/
}
if
(
StringUtils
.
isNotBlank
(
authorizedUser
.
getRoleId
())){
});
String
roleId
=
authorizedUser
.
getRoleId
();
List
<
String
>
list
=
Arrays
.
asList
(
roleId
.
split
(
","
));
kbUserRoleMapService
.
saveBatch
(
maps
);
List
<
KbUserRoleMap
>
maps
=
new
ArrayList
<>();
authuserKnowledgeprojectMapService
.
saveBatch
(
userknows
);
list
.
forEach
(
e
->{
KbUserRoleMap
kbUserRoleMap
=
new
KbUserRoleMap
();
kbUserRoleMap
.
setUserId
(
authorizedUser
.
getId
());
kbUserRoleMap
.
setRoleId
(
e
);
kbUserRoleMap
.
setKnowledgeProjectId
(
authorizedUser
.
getKnowledgeProjectId
());
maps
.
add
(
kbUserRoleMap
);
});
kbUserRoleMapService
.
saveBatch
(
maps
);
}
});
}
return
Result
.
OK
();
return
Result
.
OK
();
...
@@ -168,8 +202,8 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
...
@@ -168,8 +202,8 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
List
<
KbUserRoleMap
>
maps
=
new
ArrayList
<>();
List
<
KbUserRoleMap
>
maps
=
new
ArrayList
<>();
list
.
forEach
(
e
->{
list
.
forEach
(
e
->{
KbUserRoleMap
kbUserRoleMap
=
new
KbUserRoleMap
();
KbUserRoleMap
kbUserRoleMap
=
new
KbUserRoleMap
();
kbUserRoleMap
.
setUserId
(
Long
.
parseLong
(
authorizedUser
.
getId
()
));
kbUserRoleMap
.
setUserId
(
authorizedUser
.
getId
(
));
kbUserRoleMap
.
setRoleId
(
Long
.
parseLong
(
e
)
);
kbUserRoleMap
.
setRoleId
(
e
);
maps
.
add
(
kbUserRoleMap
);
maps
.
add
(
kbUserRoleMap
);
});
});
kbUserRoleMapService
.
saveBatch
(
maps
);
kbUserRoleMapService
.
saveBatch
(
maps
);
...
@@ -215,6 +249,19 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
...
@@ -215,6 +249,19 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
QueryWrapper
<
KbAuthorizedUser
>
query
=
new
QueryWrapper
<>();
QueryWrapper
<
KbAuthorizedUser
>
query
=
new
QueryWrapper
<>();
query
.
eq
(
"a.user_id"
,
bean
.
getUserId
());
query
.
eq
(
"a.user_id"
,
bean
.
getUserId
());
KbAuthorizedUser
one
=
authorizedUserMapper
.
getOne
(
query
);
KbAuthorizedUser
one
=
authorizedUserMapper
.
getOne
(
query
);
/**是否是所有节点的管理员*/
List
<
KbAuthuserKnowledgeprojectMap
>
list1
=
authuserKnowledgeprojectMapService
.
list
(
Wrappers
.<
KbAuthuserKnowledgeprojectMap
>
lambdaQuery
()
.
eq
(
KbAuthuserKnowledgeprojectMap:
:
getAuthUserId
,
one
.
getId
())
.
eq
(
KbAuthuserKnowledgeprojectMap:
:
getKnowledgeProjectId
,
"0"
)
.
eq
(
KbAuthuserKnowledgeprojectMap:
:
getSign
,
0
)
);
if
(
CollectionUtil
.
isNotEmpty
(
list1
)){
one
.
setIsAll
(
0
);
}
else
{
one
.
setIsAll
(
1
);
}
List
<
KbRole
>
kbRoles
=
roleService
.
listByIds
(
Arrays
.
asList
(
one
.
getRoleId
().
split
(
","
)));
List
<
KbRole
>
kbRoles
=
roleService
.
listByIds
(
Arrays
.
asList
(
one
.
getRoleId
().
split
(
","
)));
List
<
KbRolePermissionMap
>
permissionMaps
=
rolePermissionMapService
.
list
(
Wrappers
.<
KbRolePermissionMap
>
lambdaQuery
().
in
(
KbRolePermissionMap:
:
getRoleId
,
Arrays
.
asList
(
one
.
getRoleId
().
split
(
","
))));
List
<
KbRolePermissionMap
>
permissionMaps
=
rolePermissionMapService
.
list
(
Wrappers
.<
KbRolePermissionMap
>
lambdaQuery
().
in
(
KbRolePermissionMap:
:
getRoleId
,
Arrays
.
asList
(
one
.
getRoleId
().
split
(
","
))));
...
@@ -284,6 +331,18 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
...
@@ -284,6 +331,18 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
QueryWrapper
<
KbAuthorizedUser
>
query
=
new
QueryWrapper
<>();
QueryWrapper
<
KbAuthorizedUser
>
query
=
new
QueryWrapper
<>();
query
.
eq
(
"a.user_id"
,
bean
.
getUserId
());
query
.
eq
(
"a.user_id"
,
bean
.
getUserId
());
KbAuthorizedUser
one
=
authorizedUserMapper
.
getOne
(
query
);
KbAuthorizedUser
one
=
authorizedUserMapper
.
getOne
(
query
);
/**是否是所有节点的管理员*/
List
<
KbAuthuserKnowledgeprojectMap
>
list1
=
authuserKnowledgeprojectMapService
.
list
(
Wrappers
.<
KbAuthuserKnowledgeprojectMap
>
lambdaQuery
()
.
eq
(
KbAuthuserKnowledgeprojectMap:
:
getAuthUserId
,
one
.
getId
())
.
eq
(
KbAuthuserKnowledgeprojectMap:
:
getKnowledgeProjectId
,
"0"
)
.
eq
(
KbAuthuserKnowledgeprojectMap:
:
getSign
,
0
)
);
if
(
CollectionUtil
.
isNotEmpty
(
list1
)){
one
.
setIsAll
(
0
);
}
else
{
one
.
setIsAll
(
1
);
}
return
Result
.
OK
(
one
);
return
Result
.
OK
(
one
);
}
else
{
}
else
{
return
Result
.
error
(
"第三方系统未通过用户校验"
);
return
Result
.
error
(
"第三方系统未通过用户校验"
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论