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