mirror of https://gitee.com/xiaonuobase/snowy
【增强】用户、机构选择器优化
parent
ad34706ad1
commit
bc813b0ede
|
@ -91,7 +91,7 @@ public interface BizOrgService extends IService<BizOrg> {
|
|||
* @author xuyuxiang
|
||||
* @date 2022/7/25 19:42
|
||||
**/
|
||||
List<BizOrg> getCachedAllOrgList();
|
||||
List<BizOrg> getAllOrgList();
|
||||
|
||||
/**
|
||||
* 根据机构全名称获取机构id,有则返回,无则创建
|
||||
|
|
|
@ -257,23 +257,13 @@ public class BizOrgServiceImpl extends ServiceImpl<BizOrgMapper, BizOrg> impleme
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<BizOrg> getCachedAllOrgList() {
|
||||
// 从缓存中取
|
||||
Object cacheValue = commonCacheOperator.get(ORG_CACHE_ALL_KEY);
|
||||
if(ObjectUtil.isNotEmpty(cacheValue)) {
|
||||
return JSONUtil.toList(JSONUtil.parseArray(cacheValue), BizOrg.class);
|
||||
}
|
||||
List<BizOrg> orgList = this.list(new LambdaQueryWrapper<BizOrg>().orderByAsc(BizOrg::getSortCode));
|
||||
if(ObjectUtil.isNotEmpty(orgList)) {
|
||||
// 更新到缓存
|
||||
commonCacheOperator.put(ORG_CACHE_ALL_KEY, JSONUtil.toJsonStr(orgList));
|
||||
}
|
||||
return orgList;
|
||||
public List<BizOrg> getAllOrgList() {
|
||||
return this.list(new LambdaQueryWrapper<BizOrg>().orderByAsc(BizOrg::getSortCode));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOrgIdByOrgFullNameWithCreate(String orgFullName) {
|
||||
List<BizOrg> cachedAllOrgList = this.getCachedAllOrgList();
|
||||
List<BizOrg> cachedAllOrgList = this.getAllOrgList();
|
||||
List<Tree<String>> treeList = TreeUtil.build(cachedAllOrgList.stream().map(bizOrg ->
|
||||
new TreeNode<>(bizOrg.getId(), bizOrg.getParentId(), bizOrg.getName(), bizOrg.getSortCode()))
|
||||
.collect(Collectors.toList()), "0");
|
||||
|
|
|
@ -1501,11 +1501,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||
return this.getAllUserSelectorList();
|
||||
} else {
|
||||
if (ObjectUtil.isNotEmpty(sysUserSelectorUserParam.getOrgId())) {
|
||||
// 如果机构id不为空,则查询该机构所在顶级机构下的所有人
|
||||
List<String> parentAndChildOrgIdList = CollStreamUtil.toList(sysOrgService.getParentAndChildListById(sysOrgService
|
||||
// 如果机构id不为空,则查询该机构极其子机构下的所有人
|
||||
List<String> childOrgIdList = CollStreamUtil.toList(sysOrgService.getChildListById(sysOrgService
|
||||
.getCachedAllOrgList(), sysUserSelectorUserParam.getOrgId(), true), SysOrg::getId);
|
||||
if (ObjectUtil.isNotEmpty(parentAndChildOrgIdList)) {
|
||||
lambdaQueryWrapper.in(SysUser::getOrgId, parentAndChildOrgIdList);
|
||||
if (ObjectUtil.isNotEmpty(childOrgIdList)) {
|
||||
lambdaQueryWrapper.in(SysUser::getOrgId, childOrgIdList);
|
||||
} else {
|
||||
return new Page<>();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue