From 52ccb7309e48bb5912ced0cc0f7bbb5558ec4337 Mon Sep 17 00:00:00 2001 From: xuyuxiang Date: Tue, 3 Mar 2026 21:49:31 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91=E6=9C=BA?= =?UTF-8?q?=E6=9E=84=E5=A4=A7=E6=95=B0=E6=8D=AE=E4=BC=98=E5=8C=96=EF=BC=88?= =?UTF-8?q?=E5=BE=85=E5=AE=8C=E5=96=84=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-admin-web/src/api/biz/bizGroupApi.js | 2 +- snowy-admin-web/src/api/biz/bizUserApi.js | 2 +- snowy-admin-web/src/api/sys/groupApi.js | 2 +- snowy-admin-web/src/api/sys/roleApi.js | 2 +- snowy-admin-web/src/api/sys/userApi.js | 2 +- .../src/components/XnOrgSelector/index.vue | 4 +- .../java/vip/xiaonuo/sys/api/SysOrgApi.java | 8 +-- .../org/provider/BizOrgApiProvider.java | 2 +- .../modular/org/service/BizOrgService.java | 16 +++--- .../org/service/impl/BizOrgServiceImpl.java | 54 +++++++++---------- .../controller/DevConfigController.java | 4 +- .../DevConfigSelectorOrgTreeLazyParam.java | 32 +++++++++++ .../group/controller/SysGroupController.java | 6 +-- .../group/service/SysGroupService.java | 4 +- .../service/impl/SysGroupServiceImpl.java | 7 ++- .../org/controller/SysOrgController.java | 9 ++-- ....java => SysOrgSelectorTreeLazyParam.java} | 2 +- .../org/provider/SysOrgApiProvider.java | 14 ++--- .../modular/org/service/SysOrgService.java | 18 +++---- .../org/service/impl/SysOrgServiceImpl.java | 27 +++++----- .../controller/SysPositionController.java | 7 ++- .../position/service/SysPositionService.java | 4 +- .../service/impl/SysPositionServiceImpl.java | 6 +-- .../role/controller/SysRoleController.java | 7 ++- .../modular/role/service/SysRoleService.java | 4 +- .../role/service/impl/SysRoleServiceImpl.java | 6 +-- .../user/controller/SysUserController.java | 7 ++- .../modular/user/service/SysUserService.java | 4 +- .../user/service/impl/SysUserServiceImpl.java | 6 +-- 29 files changed, 147 insertions(+), 121 deletions(-) create mode 100644 snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/param/DevConfigSelectorOrgTreeLazyParam.java rename snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/param/{SysOrgTreeLazyParam.java => SysOrgSelectorTreeLazyParam.java} (96%) diff --git a/snowy-admin-web/src/api/biz/bizGroupApi.js b/snowy-admin-web/src/api/biz/bizGroupApi.js index 255dca24..201579cb 100644 --- a/snowy-admin-web/src/api/biz/bizGroupApi.js +++ b/snowy-admin-web/src/api/biz/bizGroupApi.js @@ -29,7 +29,7 @@ export default { groupOwnUser(data) { return request('ownUser', data, 'get') }, - // 获取机构树(懒加载) + // 获取机构树选择器(懒加载) groupOrgTreeLazySelector(data) { return request('orgTreeSelector', data, 'get') }, diff --git a/snowy-admin-web/src/api/biz/bizUserApi.js b/snowy-admin-web/src/api/biz/bizUserApi.js index a8509c3b..423d190c 100644 --- a/snowy-admin-web/src/api/biz/bizUserApi.js +++ b/snowy-admin-web/src/api/biz/bizUserApi.js @@ -46,7 +46,7 @@ export default { userResetPassword(data) { return request('resetPassword', data) }, - // 获取组织选择器(懒加载) + // 获取机构树选择器(懒加载) userOrgTreeLazySelector(data) { return request('orgTreeSelector', data, 'get') }, diff --git a/snowy-admin-web/src/api/sys/groupApi.js b/snowy-admin-web/src/api/sys/groupApi.js index fcfa1fb1..d2793822 100644 --- a/snowy-admin-web/src/api/sys/groupApi.js +++ b/snowy-admin-web/src/api/sys/groupApi.js @@ -29,7 +29,7 @@ export default { groupOwnUser(data) { return request('ownUser', data, 'get') }, - // 获取机构树(懒加载) + // 获取组织树选择器(懒加载) groupOrgTreeLazySelector(data) { return request('orgTreeSelector', data, 'get') }, diff --git a/snowy-admin-web/src/api/sys/roleApi.js b/snowy-admin-web/src/api/sys/roleApi.js index 3eb2fe3c..43b3c106 100644 --- a/snowy-admin-web/src/api/sys/roleApi.js +++ b/snowy-admin-web/src/api/sys/roleApi.js @@ -66,7 +66,7 @@ export default { roleGrantUser(data) { return request('grantUser', data) }, - // 获取机构树(懒加载) + // 获取组织树选择器(懒加载) roleOrgTreeLazySelector(data) { return request('orgTreeSelector', data, 'get') }, diff --git a/snowy-admin-web/src/api/sys/userApi.js b/snowy-admin-web/src/api/sys/userApi.js index 6797d2ea..76e48c28 100644 --- a/snowy-admin-web/src/api/sys/userApi.js +++ b/snowy-admin-web/src/api/sys/userApi.js @@ -46,7 +46,7 @@ export default { userResetPassword(data) { return request('resetPassword', data) }, - // 获取组织选择器(懒加载) + // 获取组织树选择器(懒加载) userOrgTreeLazySelector(data) { return request('orgTreeSelector', data, 'get') }, diff --git a/snowy-admin-web/src/components/XnOrgSelector/index.vue b/snowy-admin-web/src/components/XnOrgSelector/index.vue index 755bcc37..68b31ece 100644 --- a/snowy-admin-web/src/components/XnOrgSelector/index.vue +++ b/snowy-admin-web/src/components/XnOrgSelector/index.vue @@ -50,12 +50,12 @@ - + > orgTreeSelector(); + List> orgTree(); /** - * 获取组织树选择器(懒加载) + * 获取组织树(懒加载) * * @author xuyuxiang * @date 2022/7/22 14:46 **/ - List orgTreeLazySelector(String parentId); + List orgTreeLazy(String parentId); /** * 获取组织列表选择器 diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/provider/BizOrgApiProvider.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/provider/BizOrgApiProvider.java index dd2ada71..c665e571 100644 --- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/provider/BizOrgApiProvider.java +++ b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/provider/BizOrgApiProvider.java @@ -39,7 +39,7 @@ public class BizOrgApiProvider implements BizOrgApi { @Override public List> orgTreeSelector() { - return bizOrgService.orgTreeSelector(); + return bizOrgService.tree(); } @Override diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/service/BizOrgService.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/service/BizOrgService.java index 80c934d1..61df8b49 100644 --- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/service/BizOrgService.java +++ b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/service/BizOrgService.java @@ -38,6 +38,14 @@ public interface BizOrgService extends IService { */ Page page(BizOrgPageParam bizOrgPageParam); + /** + * 获取机构树 + * + * @author xuyuxiang + * @date 2022/4/24 20:08 + */ + List> tree(); + /** * 获取机构树(懒加载) * @@ -150,14 +158,6 @@ public interface BizOrgService extends IService { **/ BizOrg getChildById(List originDataList, String id); - /** - * 获取机构树选择器 - * - * @author xuyuxiang - * @date 2022/4/24 20:08 - */ - List> orgTreeSelector(); - /** * 获取机构列表选择器 * diff --git a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/service/impl/BizOrgServiceImpl.java b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/service/impl/BizOrgServiceImpl.java index 3c9799d5..ce9eeb6e 100644 --- a/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/service/impl/BizOrgServiceImpl.java +++ b/snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/org/service/impl/BizOrgServiceImpl.java @@ -128,6 +128,33 @@ public class BizOrgServiceImpl extends ServiceImpl impleme return this.page(CommonPageRequest.defaultPage(), queryWrapper); } + @Override + public List> tree() { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + // 校验数据范围 + List loginUserDataScope = StpLoginUserUtil.getLoginUserDataScope(); + // 定义机构集合 + Set bizOrgSet = CollectionUtil.newHashSet(); + if(loginUserDataScope != null && loginUserDataScope.isEmpty()) { + return CollectionUtil.newArrayList(); + } + if(loginUserDataScope == null) { + // SCOPE_ALL:不做过滤,查询全部机构 + } else { + // 获取所有机构 + List allOrgList = this.getAllOrgList(); + loginUserDataScope.forEach(orgId -> bizOrgSet.addAll(this.getParentListById(allOrgList, orgId, true))); + List loginUserDataScopeFullList = bizOrgSet.stream().map(BizOrg::getId).collect(Collectors.toList()); + CommonSqlUtil.safeIn(lambdaQueryWrapper, BizOrg::getId, loginUserDataScopeFullList); + } + lambdaQueryWrapper.orderByAsc(BizOrg::getSortCode); + List bizOrgList = this.list(lambdaQueryWrapper); + List> treeNodeList = bizOrgList.stream().map(bizOrg -> + new TreeNode<>(bizOrg.getId(), bizOrg.getParentId(), bizOrg.getName(), bizOrg.getSortCode())) + .collect(Collectors.toList()); + return TreeUtil.build(treeNodeList, "0"); + } + @Override public List treeLazy(BizOrgTreeLazyParam bizOrgTreeLazyParam) { // searchKey不为null时,走全量搜索模式,返回嵌套树结构 @@ -495,33 +522,6 @@ public class BizOrgServiceImpl extends ServiceImpl impleme /* ====机构部分所需要用到的选择器==== */ - @Override - public List> orgTreeSelector() { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - // 校验数据范围 - List loginUserDataScope = StpLoginUserUtil.getLoginUserDataScope(); - // 定义机构集合 - Set bizOrgSet = CollectionUtil.newHashSet(); - if(loginUserDataScope != null && loginUserDataScope.isEmpty()) { - return CollectionUtil.newArrayList(); - } - if(loginUserDataScope == null) { - // SCOPE_ALL:不做过滤,查询全部机构 - } else { - // 获取所有机构 - List allOrgList = this.getAllOrgList(); - loginUserDataScope.forEach(orgId -> bizOrgSet.addAll(this.getParentListById(allOrgList, orgId, true))); - List loginUserDataScopeFullList = bizOrgSet.stream().map(BizOrg::getId).collect(Collectors.toList()); - CommonSqlUtil.safeIn(lambdaQueryWrapper, BizOrg::getId, loginUserDataScopeFullList); - } - lambdaQueryWrapper.orderByAsc(BizOrg::getSortCode); - List bizOrgList = this.list(lambdaQueryWrapper); - List> treeNodeList = bizOrgList.stream().map(bizOrg -> - new TreeNode<>(bizOrg.getId(), bizOrg.getParentId(), bizOrg.getName(), bizOrg.getSortCode())) - .collect(Collectors.toList()); - return TreeUtil.build(treeNodeList, "0"); - } - @Override public Page orgListSelector(BizOrgSelectorOrgListParam bizOrgSelectorOrgListParam) { QueryWrapper queryWrapper = new QueryWrapper().checkSqlInjection(); diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/controller/DevConfigController.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/controller/DevConfigController.java index ceec4896..bf2bc087 100644 --- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/controller/DevConfigController.java +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/controller/DevConfigController.java @@ -198,7 +198,7 @@ public class DevConfigController { @Operation(summary = "获取机构选树") @GetMapping("/dev/config/orgTree") public CommonResult>> orgTree() { - return CommonResult.data(sysOrgApi.orgTreeSelector()); + return CommonResult.data(sysOrgApi.orgTree()); } /** @@ -210,7 +210,7 @@ public class DevConfigController { @Operation(summary = "获取机构选树(懒加载)") @GetMapping("/dev/config/orgTreeLazy") public CommonResult> orgTreeLazy(String parentId) { - return CommonResult.data(sysOrgApi.orgTreeLazySelector(parentId)); + return CommonResult.data(sysOrgApi.orgTreeLazy(parentId)); } /** diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/param/DevConfigSelectorOrgTreeLazyParam.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/param/DevConfigSelectorOrgTreeLazyParam.java new file mode 100644 index 00000000..478e122f --- /dev/null +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/config/param/DevConfigSelectorOrgTreeLazyParam.java @@ -0,0 +1,32 @@ +/* + * Copyright [2022] [https://www.xiaonuo.vip] + * + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * + * 1.请不要删除和修改根目录下的LICENSE文件. + * 2.请不要删除和修改Snowy源码头部的版权声明. + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等. + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作. + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +package vip.xiaonuo.dev.modular.config.param; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +/** + * 组织树懒加载参数 + * + * @author xuyuxiang + * @date 2022/4/21 16:13 + **/ +@Getter +@Setter +public class DevConfigSelectorOrgTreeLazyParam { + + /** 父id */ + @Schema(description = "父id") + private String parentId; +} diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/controller/SysGroupController.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/controller/SysGroupController.java index e571d006..976ea9d8 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/controller/SysGroupController.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/controller/SysGroupController.java @@ -29,7 +29,7 @@ import vip.xiaonuo.common.pojo.CommonResult; import vip.xiaonuo.sys.modular.group.entity.SysGroup; import vip.xiaonuo.sys.modular.group.param.*; import vip.xiaonuo.sys.modular.group.service.SysGroupService; -import vip.xiaonuo.sys.modular.org.param.SysOrgTreeLazyParam; +import vip.xiaonuo.sys.modular.org.param.SysOrgSelectorTreeLazyParam; import vip.xiaonuo.sys.modular.user.entity.SysUser; import java.util.List; @@ -135,8 +135,8 @@ public class SysGroupController { */ @Operation(summary = "获取组织树选择器") @GetMapping("/sys/group/orgTreeSelector") - public CommonResult> orgTreeSelector(SysOrgTreeLazyParam sysOrgTreeLazyParam) { - return CommonResult.data(sysGroupService.orgTreeLazySelector(sysOrgTreeLazyParam)); + public CommonResult> orgTreeSelector(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam) { + return CommonResult.data(sysGroupService.orgTreeLazySelector(sysOrgSelectorTreeLazyParam)); } /** diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/service/SysGroupService.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/service/SysGroupService.java index 30fead87..8d26765d 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/service/SysGroupService.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/service/SysGroupService.java @@ -18,7 +18,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import vip.xiaonuo.sys.modular.group.entity.SysGroup; import vip.xiaonuo.sys.modular.group.param.*; -import vip.xiaonuo.sys.modular.org.param.SysOrgTreeLazyParam; +import vip.xiaonuo.sys.modular.org.param.SysOrgSelectorTreeLazyParam; import vip.xiaonuo.sys.modular.user.entity.SysUser; import java.util.List; @@ -101,7 +101,7 @@ public interface SysGroupService extends IService { * @author xuyuxiang * @date 2022/4/24 20:00 */ - List orgTreeLazySelector(SysOrgTreeLazyParam sysOrgTreeLazyParam); + List orgTreeLazySelector(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam); /** * 获取用户选择器 diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/service/impl/SysGroupServiceImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/service/impl/SysGroupServiceImpl.java index a23c7bd4..40191745 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/service/impl/SysGroupServiceImpl.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/group/service/impl/SysGroupServiceImpl.java @@ -38,9 +38,8 @@ import vip.xiaonuo.sys.modular.group.mapper.SysGroupMapper; import vip.xiaonuo.sys.modular.group.param.*; import vip.xiaonuo.sys.modular.group.service.SysGroupService; import vip.xiaonuo.sys.modular.org.entity.SysOrg; -import vip.xiaonuo.sys.modular.org.param.SysOrgTreeLazyParam; +import vip.xiaonuo.sys.modular.org.param.SysOrgSelectorTreeLazyParam; import vip.xiaonuo.sys.modular.org.service.SysOrgService; -import vip.xiaonuo.sys.modular.position.param.SysPositionIdParam; import vip.xiaonuo.sys.modular.relation.entity.SysRelation; import vip.xiaonuo.sys.modular.relation.enums.SysRelationCategoryEnum; import vip.xiaonuo.sys.modular.relation.service.SysRelationService; @@ -147,8 +146,8 @@ public class SysGroupServiceImpl extends ServiceImpl i } @Override - public List orgTreeLazySelector(SysOrgTreeLazyParam sysOrgTreeLazyParam) { - return sysOrgService.treeLazy(sysOrgTreeLazyParam); + public List orgTreeLazySelector(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam) { + return sysOrgService.treeLazy(sysOrgSelectorTreeLazyParam); } @Override diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/controller/SysOrgController.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/controller/SysOrgController.java index 2c47e5e6..791edd0b 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/controller/SysOrgController.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/controller/SysOrgController.java @@ -12,7 +12,6 @@ */ package vip.xiaonuo.sys.modular.org.controller; -import cn.hutool.core.lang.tree.Tree; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.xingfudeshi.knife4j.annotations.ApiOperationSupport; @@ -74,8 +73,8 @@ public class SysOrgController { @ApiOperationSupport(order = 2) @Operation(summary = "获取组织树(懒加载)") @GetMapping("/sys/org/tree") - public CommonResult> treeLazy(SysOrgTreeLazyParam sysOrgTreeLazyParam) { - return CommonResult.data(sysOrgService.treeLazy(sysOrgTreeLazyParam)); + public CommonResult> treeLazy(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam) { + return CommonResult.data(sysOrgService.treeLazy(sysOrgSelectorTreeLazyParam)); } /** @@ -163,8 +162,8 @@ public class SysOrgController { @ApiOperationSupport(order = 8) @Operation(summary = "获取组织树选择器(懒加载)") @GetMapping("/sys/org/orgTreeSelector") - public CommonResult> orgTreeLazySelector(SysOrgTreeLazyParam sysOrgTreeLazyParam) { - return CommonResult.data(sysOrgService.treeLazy(sysOrgTreeLazyParam)); + public CommonResult> orgTreeLazySelector(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam) { + return CommonResult.data(sysOrgService.treeLazy(sysOrgSelectorTreeLazyParam)); } /** diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/param/SysOrgTreeLazyParam.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/param/SysOrgSelectorTreeLazyParam.java similarity index 96% rename from snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/param/SysOrgTreeLazyParam.java rename to snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/param/SysOrgSelectorTreeLazyParam.java index 434140ce..98cfefc8 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/param/SysOrgTreeLazyParam.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/param/SysOrgSelectorTreeLazyParam.java @@ -24,7 +24,7 @@ import lombok.Setter; **/ @Getter @Setter -public class SysOrgTreeLazyParam { +public class SysOrgSelectorTreeLazyParam { /** 父id */ @Schema(description = "父id") diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/provider/SysOrgApiProvider.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/provider/SysOrgApiProvider.java index 2c84e8b1..c1281f0e 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/provider/SysOrgApiProvider.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/provider/SysOrgApiProvider.java @@ -23,7 +23,7 @@ import org.springframework.stereotype.Service; import vip.xiaonuo.sys.api.SysOrgApi; import vip.xiaonuo.sys.modular.org.entity.SysOrg; import vip.xiaonuo.sys.modular.org.param.SysOrgSelectorOrgListParam; -import vip.xiaonuo.sys.modular.org.param.SysOrgTreeLazyParam; +import vip.xiaonuo.sys.modular.org.param.SysOrgSelectorTreeLazyParam; import vip.xiaonuo.sys.modular.org.service.SysOrgService; import java.util.List; @@ -56,15 +56,15 @@ public class SysOrgApiProvider implements SysOrgApi { } @Override - public List> orgTreeSelector() { - return sysOrgService.orgTreeSelector(); + public List> orgTree() { + return sysOrgService.tree(); } @Override - public List orgTreeLazySelector(String parentId) { - SysOrgTreeLazyParam sysOrgTreeLazyParam = new SysOrgTreeLazyParam(); - sysOrgTreeLazyParam.setParentId(parentId); - return sysOrgService.treeLazy(sysOrgTreeLazyParam); + public List orgTreeLazy(String parentId) { + SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam = new SysOrgSelectorTreeLazyParam(); + sysOrgSelectorTreeLazyParam.setParentId(parentId); + return sysOrgService.treeLazy(sysOrgSelectorTreeLazyParam); } @SuppressWarnings("ALL") diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/service/SysOrgService.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/service/SysOrgService.java index 592cc631..7403410d 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/service/SysOrgService.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/service/SysOrgService.java @@ -38,13 +38,21 @@ public interface SysOrgService extends IService { */ Page page(SysOrgPageParam sysOrgPageParam); + /** + * 获取组织树 + * + * @author xuyuxiang + * @date 2022/4/24 20:08 + */ + List> tree(); + /** * 获取机构树(懒加载),支持搜索 * * @author xuyuxiang * @date 2022/4/21 16:13 **/ - List treeLazy(SysOrgTreeLazyParam sysOrgTreeLazyParam); + List treeLazy(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam); /** * 添加组织 @@ -166,14 +174,6 @@ public interface SysOrgService extends IService { **/ SysOrg getChildById(List originDataList, String id); - /** - * 获取组织树选择器 - * - * @author xuyuxiang - * @date 2022/4/24 20:08 - */ - List> orgTreeSelector(); - /** * 获取组织列表选择器 * diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/service/impl/SysOrgServiceImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/service/impl/SysOrgServiceImpl.java index f55c3eb7..674a057e 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/service/impl/SysOrgServiceImpl.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/org/service/impl/SysOrgServiceImpl.java @@ -30,7 +30,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import vip.xiaonuo.auth.core.util.StpLoginUserUtil; import vip.xiaonuo.common.cache.CommonCacheOperator; import vip.xiaonuo.common.enums.CommonSortOrderEnum; import vip.xiaonuo.common.exception.CommonException; @@ -113,12 +112,21 @@ public class SysOrgServiceImpl extends ServiceImpl impleme } @Override - public List treeLazy(SysOrgTreeLazyParam sysOrgTreeLazyParam) { + public List> tree() { + List sysOrgList = this.getAllOrgList(); + List> treeNodeList = sysOrgList.stream().map(sysOrg -> + new TreeNode<>(sysOrg.getId(), sysOrg.getParentId(), sysOrg.getName(), sysOrg.getSortCode())) + .collect(Collectors.toList()); + return TreeUtil.build(treeNodeList, "0"); + } + + @Override + public List treeLazy(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam) { // searchKey不为null时,走全量搜索模式,返回嵌套树结构 - if (sysOrgTreeLazyParam.getSearchKey() != null) { - return this.treeSearch(sysOrgTreeLazyParam.getSearchKey()); + if (sysOrgSelectorTreeLazyParam.getSearchKey() != null) { + return this.treeSearch(sysOrgSelectorTreeLazyParam.getSearchKey()); } - String parentId = ObjectUtil.isNotEmpty(sysOrgTreeLazyParam.getParentId()) ? sysOrgTreeLazyParam.getParentId() : "0"; + String parentId = ObjectUtil.isNotEmpty(sysOrgSelectorTreeLazyParam.getParentId()) ? sysOrgSelectorTreeLazyParam.getParentId() : "0"; // 超管接口,无需数据范围过滤,直接SQL查询当前父级下的子机构 List childList = this.list(new LambdaQueryWrapper() .eq(SysOrg::getParentId, parentId) @@ -429,15 +437,6 @@ public class SysOrgServiceImpl extends ServiceImpl impleme /* ====组织部分所需要用到的选择器==== */ - @Override - public List> orgTreeSelector() { - List sysOrgList = this.getAllOrgList(); - List> treeNodeList = sysOrgList.stream().map(sysOrg -> - new TreeNode<>(sysOrg.getId(), sysOrg.getParentId(), sysOrg.getName(), sysOrg.getSortCode())) - .collect(Collectors.toList()); - return TreeUtil.build(treeNodeList, "0"); - } - @Override public Page orgListSelector(SysOrgSelectorOrgListParam sysOrgSelectorOrgListParam) { QueryWrapper queryWrapper = new QueryWrapper().checkSqlInjection(); diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/controller/SysPositionController.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/controller/SysPositionController.java index 96c63bc7..832a39f3 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/controller/SysPositionController.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/controller/SysPositionController.java @@ -12,7 +12,6 @@ */ package vip.xiaonuo.sys.modular.position.controller; -import cn.hutool.core.lang.tree.Tree; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.xingfudeshi.knife4j.annotations.ApiOperationSupport; @@ -28,7 +27,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import vip.xiaonuo.common.annotation.CommonLog; import vip.xiaonuo.common.pojo.CommonResult; -import vip.xiaonuo.sys.modular.org.param.SysOrgTreeLazyParam; +import vip.xiaonuo.sys.modular.org.param.SysOrgSelectorTreeLazyParam; import vip.xiaonuo.sys.modular.position.entity.SysPosition; import vip.xiaonuo.sys.modular.position.param.*; import vip.xiaonuo.sys.modular.position.service.SysPositionService; @@ -134,8 +133,8 @@ public class SysPositionController { @ApiOperationSupport(order = 6) @Operation(summary = "获取组织树选择器(懒加载)") @GetMapping("/sys/position/orgTreeSelector") - public CommonResult> orgTreeLazySelector(SysOrgTreeLazyParam sysOrgTreeLazyParam) { - return CommonResult.data(sysPositionService.orgTreeLazySelector(sysOrgTreeLazyParam)); + public CommonResult> orgTreeLazySelector(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam) { + return CommonResult.data(sysPositionService.orgTreeLazySelector(sysOrgSelectorTreeLazyParam)); } /** diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/service/SysPositionService.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/service/SysPositionService.java index a01b9fc6..e9296116 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/service/SysPositionService.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/service/SysPositionService.java @@ -16,7 +16,7 @@ import cn.hutool.core.lang.tree.Tree; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import vip.xiaonuo.sys.modular.org.param.SysOrgTreeLazyParam; +import vip.xiaonuo.sys.modular.org.param.SysOrgSelectorTreeLazyParam; import vip.xiaonuo.sys.modular.position.entity.SysPosition; import vip.xiaonuo.sys.modular.position.param.*; @@ -110,7 +110,7 @@ public interface SysPositionService extends IService { * @author xuyuxiang * @date 2022/4/22 15:53 **/ - List orgTreeLazySelector(SysOrgTreeLazyParam sysOrgTreeLazyParam); + List orgTreeLazySelector(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam); /** * 获取职位选择器 diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/service/impl/SysPositionServiceImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/service/impl/SysPositionServiceImpl.java index e635199d..faf2ce1d 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/service/impl/SysPositionServiceImpl.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/position/service/impl/SysPositionServiceImpl.java @@ -36,7 +36,7 @@ import vip.xiaonuo.common.listener.CommonDataChangeEventCenter; import vip.xiaonuo.common.page.CommonPageRequest; import vip.xiaonuo.sys.core.enums.SysDataTypeEnum; import vip.xiaonuo.sys.modular.org.entity.SysOrg; -import vip.xiaonuo.sys.modular.org.param.SysOrgTreeLazyParam; +import vip.xiaonuo.sys.modular.org.param.SysOrgSelectorTreeLazyParam; import vip.xiaonuo.sys.modular.org.service.SysOrgService; import vip.xiaonuo.sys.modular.position.entity.SysPosition; import vip.xiaonuo.sys.modular.position.enums.SysPositionCategoryEnum; @@ -202,8 +202,8 @@ public class SysPositionServiceImpl extends ServiceImpl orgTreeLazySelector(SysOrgTreeLazyParam sysOrgTreeLazyParam) { - return sysOrgService.treeLazy(sysOrgTreeLazyParam); + public List orgTreeLazySelector(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam) { + return sysOrgService.treeLazy(sysOrgSelectorTreeLazyParam); } @Override diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/controller/SysRoleController.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/controller/SysRoleController.java index ff93293b..7f33ff9d 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/controller/SysRoleController.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/controller/SysRoleController.java @@ -12,7 +12,6 @@ */ package vip.xiaonuo.sys.modular.role.controller; -import cn.hutool.core.lang.tree.Tree; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.xingfudeshi.knife4j.annotations.ApiOperationSupport; @@ -28,7 +27,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import vip.xiaonuo.common.annotation.CommonLog; import vip.xiaonuo.common.pojo.CommonResult; -import vip.xiaonuo.sys.modular.org.param.SysOrgTreeLazyParam; +import vip.xiaonuo.sys.modular.org.param.SysOrgSelectorTreeLazyParam; import vip.xiaonuo.sys.modular.role.entity.SysRole; import vip.xiaonuo.sys.modular.role.param.*; import vip.xiaonuo.sys.modular.role.result.*; @@ -249,8 +248,8 @@ public class SysRoleController { @ApiOperationSupport(order = 15) @Operation(summary = "获取组织树选择器(懒加载)") @GetMapping("/sys/role/orgTreeSelector") - public CommonResult> orgTreeLazySelector(SysOrgTreeLazyParam sysOrgTreeLazyParam) { - return CommonResult.data(sysRoleService.orgTreeLazySelector(sysOrgTreeLazyParam)); + public CommonResult> orgTreeLazySelector(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam) { + return CommonResult.data(sysRoleService.orgTreeLazySelector(sysOrgSelectorTreeLazyParam)); } /** diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/SysRoleService.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/SysRoleService.java index 9beafa9c..e070baa3 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/SysRoleService.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/SysRoleService.java @@ -16,7 +16,7 @@ import cn.hutool.core.lang.tree.Tree; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import vip.xiaonuo.sys.modular.org.param.SysOrgTreeLazyParam; +import vip.xiaonuo.sys.modular.org.param.SysOrgSelectorTreeLazyParam; import vip.xiaonuo.sys.modular.resource.entity.SysMenu; import vip.xiaonuo.sys.modular.role.entity.SysRole; import vip.xiaonuo.sys.modular.role.param.*; @@ -161,7 +161,7 @@ public interface SysRoleService extends IService { * @author xuyuxiang * @date 2022/4/24 20:00 */ - List orgTreeLazySelector(SysOrgTreeLazyParam sysOrgTreeLazyParam); + List orgTreeLazySelector(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam); /** * 获取资源授权树 diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java index 5c65ff24..cbcc75c6 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/role/service/impl/SysRoleServiceImpl.java @@ -41,7 +41,7 @@ import vip.xiaonuo.mobile.api.MobileMenuApi; import vip.xiaonuo.sys.core.enums.SysBuildInEnum; import vip.xiaonuo.sys.core.enums.SysDataTypeEnum; import vip.xiaonuo.sys.modular.org.entity.SysOrg; -import vip.xiaonuo.sys.modular.org.param.SysOrgTreeLazyParam; +import vip.xiaonuo.sys.modular.org.param.SysOrgSelectorTreeLazyParam; import vip.xiaonuo.sys.modular.org.service.SysOrgService; import vip.xiaonuo.sys.modular.relation.entity.SysRelation; import vip.xiaonuo.sys.modular.relation.enums.SysRelationCategoryEnum; @@ -359,8 +359,8 @@ public class SysRoleServiceImpl extends ServiceImpl impl } @Override - public List orgTreeLazySelector(SysOrgTreeLazyParam sysOrgTreeLazyParam) { - return sysOrgService.treeLazy(sysOrgTreeLazyParam); + public List orgTreeLazySelector(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam) { + return sysOrgService.treeLazy(sysOrgSelectorTreeLazyParam); } @Override diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/controller/SysUserController.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/controller/SysUserController.java index f43a0fd8..796b2bba 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/controller/SysUserController.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/controller/SysUserController.java @@ -12,7 +12,6 @@ */ package vip.xiaonuo.sys.modular.user.controller; -import cn.hutool.core.lang.tree.Tree; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.xingfudeshi.knife4j.annotations.ApiOperationSupport; @@ -31,7 +30,7 @@ import vip.xiaonuo.common.pojo.CommonResult; import vip.xiaonuo.sys.modular.org.entity.SysOrg; import vip.xiaonuo.sys.modular.position.entity.SysPosition; import vip.xiaonuo.sys.modular.role.entity.SysRole; -import vip.xiaonuo.sys.modular.org.param.SysOrgTreeLazyParam; +import vip.xiaonuo.sys.modular.org.param.SysOrgSelectorTreeLazyParam; import vip.xiaonuo.sys.modular.user.entity.SysUser; import vip.xiaonuo.sys.modular.user.enums.SysUserSourceFromTypeEnum; import vip.xiaonuo.sys.modular.user.param.*; @@ -326,8 +325,8 @@ public class SysUserController { @ApiOperationSupport(order = 19) @Operation(summary = "获取组织树选择器(懒加载)") @GetMapping("/sys/user/orgTreeSelector") - public CommonResult> orgTreeLazySelector(SysOrgTreeLazyParam sysOrgTreeLazyParam) { - return CommonResult.data(sysUserService.orgTreeLazySelector(sysOrgTreeLazyParam)); + public CommonResult> orgTreeLazySelector(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam) { + return CommonResult.data(sysUserService.orgTreeLazySelector(sysOrgSelectorTreeLazyParam)); } /** diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/SysUserService.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/SysUserService.java index 2332868e..b393c358 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/SysUserService.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/SysUserService.java @@ -22,7 +22,7 @@ import vip.xiaonuo.sys.modular.group.entity.SysGroup; import vip.xiaonuo.sys.modular.org.entity.SysOrg; import vip.xiaonuo.sys.modular.position.entity.SysPosition; import vip.xiaonuo.sys.modular.role.entity.SysRole; -import vip.xiaonuo.sys.modular.org.param.SysOrgTreeLazyParam; +import vip.xiaonuo.sys.modular.org.param.SysOrgSelectorTreeLazyParam; import vip.xiaonuo.sys.modular.user.entity.SysUser; import vip.xiaonuo.sys.modular.user.entity.SysUserExt; import vip.xiaonuo.sys.modular.user.param.*; @@ -487,7 +487,7 @@ public interface SysUserService extends IService { * @author xuyuxiang * @date 2022/5/13 21:00 */ - List orgTreeLazySelector(SysOrgTreeLazyParam sysOrgTreeLazyParam); + List orgTreeLazySelector(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam); /** * 获取组织列表选择器 diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java index 5b1c30f7..ce1ed790 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java @@ -88,7 +88,7 @@ import vip.xiaonuo.sys.core.util.SysPasswordUtl; import vip.xiaonuo.sys.modular.group.entity.SysGroup; import vip.xiaonuo.sys.modular.group.service.SysGroupService; import vip.xiaonuo.sys.modular.org.entity.SysOrg; -import vip.xiaonuo.sys.modular.org.param.SysOrgTreeLazyParam; +import vip.xiaonuo.sys.modular.org.param.SysOrgSelectorTreeLazyParam; import vip.xiaonuo.sys.modular.org.service.SysOrgService; import vip.xiaonuo.sys.modular.position.entity.SysPosition; import vip.xiaonuo.sys.modular.position.service.SysPositionService; @@ -2010,8 +2010,8 @@ public class SysUserServiceImpl extends ServiceImpl impl } @Override - public List orgTreeLazySelector(SysOrgTreeLazyParam sysOrgTreeLazyParam) { - return sysOrgService.treeLazy(sysOrgTreeLazyParam); + public List orgTreeLazySelector(SysOrgSelectorTreeLazyParam sysOrgSelectorTreeLazyParam) { + return sysOrgService.treeLazy(sysOrgSelectorTreeLazyParam); } @Override