From 869a5b02c515dca42022c53647edbfbef8c2c3c1 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 11 十月 2023 15:39:26 +0800 Subject: [PATCH] 租户条件从常量类配置方式修改为nacos上拉取配置 --- Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java | 6 +++--- Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/DeptController.java | 4 +++- Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/utils/TokenUtil.java | 2 +- Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/RoleController.java | 4 +++- Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/controller/UserController.java | 6 ++++-- Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java | 4 ++-- Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/TenantController.java | 7 +++++-- Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/TenantServiceImpl.java | 2 +- Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java | 10 ++++++---- Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml | 8 +++++++- 10 files changed, 35 insertions(+), 18 deletions(-) diff --git a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java index f7ae9a8..1320bca 100644 --- a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java +++ b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java @@ -132,8 +132,8 @@ throw new UserDeniedAuthorizationException(TokenUtil.USER_HAS_TOO_MANY_FAILS); } - //瓒呯骇绠$悊鍛橀厤缃枃浠堕厤缃处鍙峰瘑鐮侊紝瀹炵幇鐧诲綍, 榛樿绉熸埛id涓�000000 - if(tenantId.equals(this.tenantId)){ + //瓒呯骇绠$悊鍛橀厤缃枃浠堕厤缃处鍙峰瘑鐮侊紝瀹炵幇鐧诲綍, 榛樿绉熸埛id鍜岃秴绠′负閰嶇疆鍑烘潵鐨� + if(tenantId.equals(this.tenantId) && userName.equals(username)){ if (!this.userName.equals(username) && !password.equalsIgnoreCase(this.password)) { setFailCount(tenantId, username, count,strategy.getLockingTime()); throw new UsernameNotFoundException(TokenUtil.USER_NOT_FOUND); diff --git a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/utils/TokenUtil.java b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/utils/TokenUtil.java index b24bd0b..f7b79a3 100644 --- a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/utils/TokenUtil.java +++ b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/utils/TokenUtil.java @@ -168,7 +168,7 @@ if (tenant == null || tenant.getId() == null) { throw new UserDeniedAuthorizationException(TokenUtil.USER_HAS_NO_TENANT); } - if (StringUtil.equalsIgnoreCase(tenant.getTenantId(), BladeConstant.ADMIN_TENANT_ID)) { + if (StringUtil.equalsIgnoreCase(tenant.getTenantId(), nacosConfigCache.getAdminUserInfo().getTenantId())) { return false; } if (getTenantProperties().getLicense()) { diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/DeptController.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/DeptController.java index 498661f..6f2455b 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/DeptController.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/DeptController.java @@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.vci.ubcs.system.cache.DictCache; +import com.vci.ubcs.system.cache.NacosConfigCache; import com.vci.ubcs.system.entity.Dept; import com.vci.ubcs.system.enums.DictEnum; import com.vci.ubcs.system.service.IDeptService; @@ -63,6 +64,7 @@ public class DeptController extends BladeController { private final IDeptService deptService; + private final NacosConfigCache nacosConfigCache; /** * 璇︽儏 @@ -87,7 +89,7 @@ @ApiOperation(value = "鍒楄〃", notes = "浼犲叆dept") public R<List<DeptVO>> list(@ApiIgnore @RequestParam Map<String, Object> dept, BladeUser bladeUser) { QueryWrapper<Dept> queryWrapper = Condition.getQueryWrapper(dept, Dept.class); - List<Dept> list = deptService.list((!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Dept::getTenantId, bladeUser.getTenantId()) : queryWrapper); + List<Dept> list = deptService.list((!bladeUser.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId())) ? queryWrapper.lambda().eq(Dept::getTenantId, bladeUser.getTenantId()) : queryWrapper); return R.data(DeptWrapper.build().listNodeVO(list)); } diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/RoleController.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/RoleController.java index 1a40eb8..6709c7e 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/RoleController.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/RoleController.java @@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.vci.ubcs.system.cache.NacosConfigCache; import com.vci.ubcs.system.cache.SysCache; import com.vci.ubcs.system.entity.Role; import com.vci.ubcs.system.service.IRoleService; @@ -62,6 +63,7 @@ public class RoleController extends BladeController { private final IRoleService roleService; + private final NacosConfigCache nacosConfigCache; /** * 璇︽儏 @@ -87,7 +89,7 @@ public R<IPage<RoleVO>> list(@ApiIgnore @RequestParam Map<String, Object> role, BladeUser bladeUser, Query query) { QueryWrapper<Role> queryWrapper = Condition.getQueryWrapper(role, Role.class); IPage<Role> page = roleService.page(Condition.getPage(query), - (!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Role::getTenantId, bladeUser.getTenantId()) : queryWrapper); + (!bladeUser.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId())) ? queryWrapper.lambda().eq(Role::getTenantId, bladeUser.getTenantId()) : queryWrapper); return R.data(RoleWrapper.build().pageNodeVO(page)); } diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/TenantController.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/TenantController.java index 31572a7..f4c1dc7 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/TenantController.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/TenantController.java @@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.vci.ubcs.system.cache.NacosConfigCache; import com.vci.ubcs.system.entity.Tenant; import com.vci.ubcs.system.entity.TenantPackage; import com.vci.ubcs.system.service.ITenantPackageService; @@ -69,6 +70,8 @@ private final ITenantPackageService tenantPackageService; + private final NacosConfigCache nacosConfigCache; + /** * 璇︽儏 */ @@ -95,7 +98,7 @@ //@PreAuth(RoleConstant.HAS_ROLE_ADMIN) public R<IPage<Tenant>> list(@ApiIgnore @RequestParam Map<String, Object> tenant, Query query, BladeUser bladeUser) { QueryWrapper<Tenant> queryWrapper = Condition.getQueryWrapper(tenant, Tenant.class); - IPage<Tenant> pages = tenantService.page(Condition.getPage(query), (!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Tenant::getTenantId, bladeUser.getTenantId()) : queryWrapper); + IPage<Tenant> pages = tenantService.page(Condition.getPage(query), (!bladeUser.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId())) ? queryWrapper.lambda().eq(Tenant::getTenantId, bladeUser.getTenantId()) : queryWrapper); return R.data(pages); } @@ -108,7 +111,7 @@ //@PreAuth(RoleConstant.HAS_ROLE_ADMIN) public R<List<Tenant>> select(Tenant tenant, BladeUser bladeUser) { QueryWrapper<Tenant> queryWrapper = Condition.getQueryWrapper(tenant); - List<Tenant> list = tenantService.list((!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Tenant::getTenantId, bladeUser.getTenantId()) : queryWrapper); + List<Tenant> list = tenantService.list((!bladeUser.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId())) ? queryWrapper.lambda().eq(Tenant::getTenantId, bladeUser.getTenantId()) : queryWrapper); return R.data(list); } diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java index aa566ac..7a8879c 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java @@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.vci.ubcs.system.cache.NacosConfigCache; import com.vci.ubcs.system.cache.SysCache; import com.vci.ubcs.system.dto.MenuDTO; import com.vci.ubcs.system.entity.*; @@ -67,6 +68,7 @@ private final ITopMenuSettingService topMenuSettingService; private final static String PARENT_ID = "parentId"; private final static Integer MENU_CATEGORY = 1; + private final NacosConfigCache nacosConfigCache; @Override public List<MenuVO> lazyList(Long parentId, Map<String, Object> param) { @@ -148,13 +150,13 @@ @Override public List<TreeNode> grantTree(BladeUser user) { - List<TreeNode> menuTree = user.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? baseMapper.grantTree() : baseMapper.grantTreeByRole(Func.toLongList(user.getRoleId())); + List<TreeNode> menuTree = user.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId()) ? baseMapper.grantTree() : baseMapper.grantTreeByRole(Func.toLongList(user.getRoleId())); return ForestNodeMerger.merge(tenantPackageTree(menuTree, user.getTenantId())); } @Override public List<TreeNode> grantTopTree(BladeUser user) { - List<TreeNode> menuTree = user.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? baseMapper.grantTopTree() : baseMapper.grantTopTreeByRole(Func.toLongList(user.getRoleId())); + List<TreeNode> menuTree = user.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId()) ? baseMapper.grantTopTree() : baseMapper.grantTopTreeByRole(Func.toLongList(user.getRoleId())); return ForestNodeMerger.merge(tenantPackageTree(menuTree, user.getTenantId())); } @@ -217,12 +219,12 @@ @Override public List<TreeNode> grantDataScopeTree(BladeUser user) { - return ForestNodeMerger.merge(user.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? baseMapper.grantDataScopeTree() : baseMapper.grantDataScopeTreeByRole(Func.toLongList(user.getRoleId()))); + return ForestNodeMerger.merge(user.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId()) ? baseMapper.grantDataScopeTree() : baseMapper.grantDataScopeTreeByRole(Func.toLongList(user.getRoleId()))); } @Override public List<TreeNode> grantApiScopeTree(BladeUser user) { - return ForestNodeMerger.merge(user.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? baseMapper.grantApiScopeTree() : baseMapper.grantApiScopeTreeByRole(Func.toLongList(user.getRoleId()))); + return ForestNodeMerger.merge(user.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId()) ? baseMapper.grantApiScopeTree() : baseMapper.grantApiScopeTreeByRole(Func.toLongList(user.getRoleId()))); } @Override diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/TenantServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/TenantServiceImpl.java index 799420e..bf8fc63 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/TenantServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/TenantServiceImpl.java @@ -194,7 +194,7 @@ List<String> tenantIds = this.list(Wrappers.<Tenant>query().lambda().in(Tenant::getId, ids)) .stream().map(tenant -> Func.toStr(tenant.getTenantId())).distinct().collect(Collectors.toList()); CacheUtil.clear(SYS_CACHE, tenantIds); - if (tenantIds.contains(BladeConstant.ADMIN_TENANT_ID)) { + if (tenantIds.contains(nacosConfigCache.getAdminUserInfo().getTenantId())) { throw new ServiceException("涓嶅彲鍒犻櫎绠$悊绉熸埛!"); } boolean tenantTemp = this.deleteLogic(ids); diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml index ff6e118..6877a21 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml @@ -221,7 +221,13 @@ </select> <select id="grantTree" resultMap="treeNodeResultMap"> - select id, parent_id, name as title, id as "value", id as "key" from pl_sys_menu where is_deleted = 0 order by sort + select + id, + parent_id, + name as title, + id as "value", + id as "key" + from pl_sys_menu where is_deleted = 0 order by sort </select> <select id="grantTreeByRole" resultMap="treeNodeResultMap"> diff --git a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/controller/UserController.java b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/controller/UserController.java index 5d3f5e4..24c20c5 100644 --- a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/controller/UserController.java +++ b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/controller/UserController.java @@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.vci.ubcs.system.cache.NacosConfigCache; import com.vci.ubcs.system.user.entity.User; import com.vci.ubcs.system.user.excel.UserExcel; import com.vci.ubcs.system.user.excel.UserImporter; @@ -75,6 +76,7 @@ private final IUserService userService; private final BladeRedis bladeRedis; + private final NacosConfigCache nacosConfigCache; /** * 鏌ヨ鍗曟潯 @@ -123,7 +125,7 @@ //@PreAuth(RoleConstant.HAS_ROLE_ADMIN) public R<IPage<UserVO>> list(@ApiIgnore @RequestParam Map<String, Object> user, Query query, BladeUser bladeUser) { QueryWrapper<User> queryWrapper = Condition.getQueryWrapper(user, User.class); - IPage<User> pages = userService.page(Condition.getPage(query), (!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(User::getTenantId, bladeUser.getTenantId()) : queryWrapper); + IPage<User> pages = userService.page(Condition.getPage(query), (!bladeUser.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId())) ? queryWrapper.lambda().eq(User::getTenantId, bladeUser.getTenantId()) : queryWrapper); return R.data(UserWrapper.build().pageVO(pages)); } @@ -139,7 +141,7 @@ @ApiOperation(value = "鍒楄〃", notes = "浼犲叆account鍜宺ealName") //@PreAuth(RoleConstant.HAS_ROLE_ADMIN) public R<IPage<UserVO>> page(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) { - IPage<User> pages = userService.selectUserPage(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId())); + IPage<User> pages = userService.selectUserPage(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId()) ? StringPool.EMPTY : bladeUser.getTenantId())); return R.data(UserWrapper.build().pageVO(pages)); } diff --git a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java index 943f36f..6cc6556 100644 --- a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java @@ -84,7 +84,7 @@ @Transactional(rollbackFor = Exception.class) public boolean submit(User user) { if (StringUtil.isBlank(user.getTenantId())) { - // user.setTenantId(BladeConstant.ADMIN_TENANT_ID); + // user.setTenantId(nacosConfigCache.getAdminUserInfo().getTenantId()); // 榛樿璁剧疆涓虹鐞嗙粍涓嬬殑鐢ㄦ埛 user.setTenantId(nacosConfigCache.getAdminUserInfo().getTenantId()); } @@ -106,7 +106,7 @@ Boolean flag = true; for (User user : users){ if (StringUtil.isBlank(user.getTenantId())) { - user.setTenantId(BladeConstant.ADMIN_TENANT_ID); + user.setTenantId(nacosConfigCache.getAdminUserInfo().getTenantId()); } String tenantId = user.getTenantId(); if (Func.isNotEmpty(user.getPassword())) { @@ -166,7 +166,7 @@ @Override public List<User> selectAllUser(User user, Long deptId){ List<Long> deptIdList = SysCache.getDeptChildIds(deptId); - List<User> users = baseMapper.selectUserPage(user, deptIdList, (AuthUtil.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : AuthUtil.getTenantId())); + List<User> users = baseMapper.selectUserPage(user, deptIdList, (AuthUtil.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId()) ? StringPool.EMPTY : AuthUtil.getTenantId())); return users; } -- Gitblit v1.9.3