提交 3db0b233 作者: chenshiqiang

Merge remote-tracking branch 'origin/master'

...@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.*; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -479,7 +480,7 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap ...@@ -479,7 +480,7 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
public Result<?> knowBelongWho(String knowledgeProjectId, String knowledgeId) { public Result<?> knowBelongWho(String knowledgeProjectId, String knowledgeId) {
List<String> userIds = new ArrayList<>(); List<String> userIds = new ArrayList<>();
List<KbAuthuserKnowledgeprojectMap> list = authuserKnowledgeprojectMapService.list(Wrappers.<KbAuthuserKnowledgeprojectMap>lambdaQuery() List<KbAuthuserKnowledgeprojectMap> list = authuserKnowledgeprojectMapService.list(Wrappers.<KbAuthuserKnowledgeprojectMap>lambdaQuery()
.eq(KbAuthuserKnowledgeprojectMap::getKnowledgeProjectId, knowledgeProjectId) .eq(KbAuthuserKnowledgeprojectMap::getKnowledgeProjectId, knowledgeProjectId).or().eq(KbAuthuserKnowledgeprojectMap::getKnowledgeProjectId,"0")
.eq(KbAuthuserKnowledgeprojectMap::getSign, 0) .eq(KbAuthuserKnowledgeprojectMap::getSign, 0)
); );
if (CollectionUtil.isNotEmpty(list)){ if (CollectionUtil.isNotEmpty(list)){
...@@ -496,7 +497,41 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap ...@@ -496,7 +497,41 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
} }
if (CollectionUtil.isNotEmpty(userIds)) { if (CollectionUtil.isNotEmpty(userIds)) {
return Result.OK(super.list(Wrappers.<KbAuthorizedUser>lambdaQuery().in(KbAuthorizedUser::getId,userIds))); Map<String, KbRole> roleMap = roleService.list().stream().collect(Collectors.toMap(KbRole::getId, Function.identity()));
List<KbAuthorizedUser> list2 = super.list(Wrappers.<KbAuthorizedUser>lambdaQuery().in(KbAuthorizedUser::getId, userIds));
Map<String, List<KbUserRoleMap>> collect = kbUserRoleMapService.list(Wrappers.<KbUserRoleMap>lambdaQuery().in(KbUserRoleMap::getUserId, userIds)).stream().collect(Collectors.groupingBy(KbUserRoleMap::getUserId));
list2.forEach(u -> {
List<KbUserRoleMap> userRoleMaps = collect.get(u.getId());
if (CollectionUtil.isNotEmpty(userRoleMaps)&&userRoleMaps.size()==1){
u.setRoleName(roleMap.get(userRoleMaps.get(0).getRoleId()).getRoleName());
u.setRoleId(roleMap.get(userRoleMaps.get(0).getRoleId()).getId());
}else if (CollectionUtil.isNotEmpty(userRoleMaps)&&userRoleMaps.size()>1){
Optional<KbUserRoleMap> first = userRoleMaps.stream().filter(f -> f.getKnowledgeProjectId().equals(knowledgeProjectId)).findFirst();
if (first.isPresent()){
KbUserRoleMap kbUserRoleMap = first.get();
u.setRoleName(roleMap.get(kbUserRoleMap.getRoleId()).getRoleName());
u.setRoleId(roleMap.get(kbUserRoleMap.getRoleId()).getId());
}else {
Optional<KbUserRoleMap> first1 = userRoleMaps.stream().filter(f -> "0".equals(f.getKnowledgeProjectId())).findFirst();
if (first1.isPresent()){
KbUserRoleMap kbUserRoleMap = first1.get();
u.setRoleName(roleMap.get(kbUserRoleMap.getRoleId()).getRoleName());
u.setRoleId(roleMap.get(kbUserRoleMap.getRoleId()).getId());
}else {
u.setRoleName(roleMap.get(userRoleMaps.get(0).getRoleId()).getRoleName());
u.setRoleId(roleMap.get(userRoleMaps.get(0).getRoleId()).getId());
}
}
}
});
return Result.OK(list2);
}else { }else {
return Result.OK(); return Result.OK();
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论