提交 606969d5 作者: obcy

fixbug

上级 601632f6
......@@ -195,29 +195,35 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
kbUserRoleMapService.saveBatch(maps);
authuserKnowledgeprojectMapService.saveBatch(userknows);
}else {
List<String> collect1 = notExist.stream().map(KbAuthorizedUser::getId).collect(Collectors.toList());
authorizedUsers.forEach(authorizedUser->{
/**插入用户知识库权限关系表*/
if (StringUtils.isNotBlank(authorizedUser.getKnowledgeProjectId())){
KbAuthuserKnowledgeprojectMap kbAuthuserKnowledgeprojectMap = new KbAuthuserKnowledgeprojectMap();
kbAuthuserKnowledgeprojectMap.setAuthUserId(authorizedUser.getId());
kbAuthuserKnowledgeprojectMap.setKnowledgeProjectId(authorizedUser.getKnowledgeProjectId());
authuserKnowledgeprojectMapService.save(kbAuthuserKnowledgeprojectMap);
if (collect1.contains(authorizedUser.getId())) {
/**插入用户知识库权限关系表*/
if (StringUtils.isNotBlank(authorizedUser.getKnowledgeProjectId())){
KbAuthuserKnowledgeprojectMap kbAuthuserKnowledgeprojectMap = new KbAuthuserKnowledgeprojectMap();
kbAuthuserKnowledgeprojectMap.setAuthUserId(authorizedUser.getId());
kbAuthuserKnowledgeprojectMap.setKnowledgeProjectId(authorizedUser.getKnowledgeProjectId());
kbAuthuserKnowledgeprojectMap.setSign(0);
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);
kbUserRoleMap.setKnowledgeProjectId(authorizedUser.getKnowledgeProjectId());
maps.add(kbUserRoleMap);
});
kbUserRoleMapService.saveBatch(maps);
}
}
/**插入用户角色关系表*/
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);
kbUserRoleMap.setKnowledgeProjectId(authorizedUser.getKnowledgeProjectId());
maps.add(kbUserRoleMap);
});
kbUserRoleMapService.saveBatch(maps);
}
});
}
......@@ -228,21 +234,40 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
@Override
@Transactional
public Result<?> delById(String id, String knowledgeProjectId) {
//移除知识库分类节点下所有的子节点下的这个用户
List<KbKnowledgeProject> knowPros = knowledgeProjectService.list(Wrappers.<KbKnowledgeProject>lambdaQuery()
.like(KbKnowledgeProject::getFullPath, knowledgeProjectId)
);
List<String> knowProIds = knowPros.stream().map(KbKnowledgeProject::getId).collect(Collectors.toList());
kbUserRoleMapService.remove(Wrappers.<KbUserRoleMap>lambdaQuery()
.eq(KbUserRoleMap::getUserId,id)
.in(KbUserRoleMap::getKnowledgeProjectId,knowProIds)
);
authuserKnowledgeprojectMapService.remove(Wrappers.<KbAuthuserKnowledgeprojectMap>lambdaQuery()
.eq(KbAuthuserKnowledgeprojectMap::getAuthUserId,id)
.in(KbAuthuserKnowledgeprojectMap::getKnowledgeProjectId,knowProIds));
kbAuthuserKnowMapService.remove(Wrappers.<KbAuthuserKnowMap>lambdaQuery()
.eq(KbAuthuserKnowMap::getAuthUserId,id)
.in(KbAuthuserKnowMap::getKnowledgeProjectId,knowProIds));
if (!"0".equals(knowledgeProjectId)) {
//移除知识库分类节点下所有的子节点下的这个用户
List<KbKnowledgeProject> knowPros = knowledgeProjectService.list(Wrappers.<KbKnowledgeProject>lambdaQuery()
.like(KbKnowledgeProject::getFullPath, knowledgeProjectId)
);
List<String> knowProIds = knowPros.stream().map(KbKnowledgeProject::getId).collect(Collectors.toList());
kbUserRoleMapService.remove(Wrappers.<KbUserRoleMap>lambdaQuery()
.eq(KbUserRoleMap::getUserId,id)
.in(KbUserRoleMap::getKnowledgeProjectId,knowProIds)
);
authuserKnowledgeprojectMapService.remove(Wrappers.<KbAuthuserKnowledgeprojectMap>lambdaQuery()
.eq(KbAuthuserKnowledgeprojectMap::getAuthUserId,id)
.in(KbAuthuserKnowledgeprojectMap::getKnowledgeProjectId,knowProIds));
kbAuthuserKnowMapService.remove(Wrappers.<KbAuthuserKnowMap>lambdaQuery()
.eq(KbAuthuserKnowMap::getAuthUserId,id)
.in(KbAuthuserKnowMap::getKnowledgeProjectId,knowProIds));
//判断用户在有没有其他节点的权限,如果都没有了,就移除这个授权用户
List<KbAuthuserKnowledgeprojectMap> list = authuserKnowledgeprojectMapService.list(Wrappers.<KbAuthuserKnowledgeprojectMap>lambdaQuery().eq(KbAuthuserKnowledgeprojectMap::getAuthUserId, id));
if (CollectionUtil.isEmpty(list)){
super.remove(Wrappers.<KbAuthorizedUser>lambdaQuery().eq(KbAuthorizedUser::getId,id));
}
}else {
super.remove(Wrappers.<KbAuthorizedUser>lambdaQuery().eq(KbAuthorizedUser::getId,id));
kbUserRoleMapService.remove(Wrappers.<KbUserRoleMap>lambdaQuery()
.eq(KbUserRoleMap::getUserId,id)
.eq(KbUserRoleMap::getKnowledgeProjectId,"0")
);
authuserKnowledgeprojectMapService.remove(Wrappers.<KbAuthuserKnowledgeprojectMap>lambdaQuery()
.eq(KbAuthuserKnowledgeprojectMap::getAuthUserId,id)
.eq(KbAuthuserKnowledgeprojectMap::getKnowledgeProjectId,"0"));
}
return Result.OK();
}
......@@ -301,12 +326,16 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
if (ObjectUtil.isNotEmpty(user.getPageSize())) {
pageSize = user.getPageSize();
}
//查询出已经有超级管理员权限的用户,做排除
List<KbUserRoleMap> list = kbUserRoleMapService.list(Wrappers.<KbUserRoleMap>lambdaQuery().eq(KbUserRoleMap::getKnowledgeProjectId, "0"));
List<String> collect = list.stream().map(KbUserRoleMap::getUserId).collect(Collectors.toList());
Page page = new Page(pageNum,pageSize);
return Result.OK(super.page(page,Wrappers.<KbAuthorizedUser>lambdaQuery()
.like(StringUtils.isNotBlank(user.getName()),KbAuthorizedUser::getName,user.getName())
.eq(StringUtils.isNotBlank(user.getUsername()),KbAuthorizedUser::getUsername,user.getUsername())
.eq(StringUtils.isNotBlank(user.getOrgId()),KbAuthorizedUser::getOrgId,user.getOrgId())
.eq(StringUtils.isNotBlank(user.getOrgName()),KbAuthorizedUser::getOrgName,user.getOrgName())
.notIn(CollectionUtil.isNotEmpty(collect),KbAuthorizedUser::getId,collect)
));
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论