From 61367975887ffa7c673f5a656e69be151432f60d Mon Sep 17 00:00:00 2001 From: Charles7c Date: Thu, 17 Jul 2025 22:29:09 +0800 Subject: [PATCH] build: continew-starter 2.13.0 => 2.13.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.DataPermissionUserContextProvider 相关命名调整,以避免和 Admin 内类名冲突 DataPermissionUserContextProvider => DataPermissionUserDataProvider UserContext => UserData RoleContext => RoleData 2.引入 crane4j 依赖及填充处理(Starter 为了扩展性,移除了此依赖及相关处理) 3.API 替换 3.1SpringUtil.getBean(TenantHandler.class) => TenantUtils 3.2JakartaServletUtil.write => ServletUtils.writeJSON 3.3tenantExtensionProperties.isEnabled() => TenantContextHolder.isTenantEnabled() 4.Starter 内部修复 4.1FastExcel POI 版本冲突导致的导出报错 4.2EnumValue 校验支持了 BaseEnum --- README.md | 8 +++--- continew-common/pom.xml | 6 +++++ .../common/base/service/BaseServiceImpl.java | 16 +++++++++++ .../config/TenantExtensionProperties.java | 5 ---- ...efaultDataPermissionUserDataProvider.java} | 27 ++++++++++--------- .../mybatis/MybatisPlusConfiguration.java | 7 ++--- .../admin/common/constant/RegexConstants.java | 8 +++--- .../tenant/controller/TenantController.java | 5 ++-- .../handler/TenantDataHandlerForSystem.java | 5 ++-- .../service/impl/TenantServiceImpl.java | 9 +++---- .../admin/config/log/LogDaoLocalImpl.java | 5 ++-- .../satoken/SaExtensionInterceptor.java | 17 ++++++------ .../src/main/resources/config/application.yml | 2 +- .../admin/auth/AbstractLoginHandler.java | 7 +++-- .../service/impl/OnlineUserServiceImpl.java | 2 +- pom.xml | 2 +- 16 files changed, 72 insertions(+), 59 deletions(-) rename continew-common/src/main/java/top/continew/admin/common/config/mybatis/{DefaultDataPermissionUserContextProvider.java => DefaultDataPermissionUserDataProvider.java} (59%) diff --git a/README.md b/README.md index 1ffdf7bc..60d69b9e 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Release -ContiNew Starter +ContiNew Starter Spring Boot @@ -221,13 +221,13 @@ public class DeptController extends BaseControllerVue | 3.5.4 | 渐进式 JavaScript 框架,易学易用,性能出色,适用场景丰富的 Web 前端框架。 | | Arco Design | 2.57.0 | 字节跳动推出的前端 UI 框架,年轻化的色彩和组件设计。 | | TypeScript | 5.0.4 | TypeScript 是微软开发的一个开源的编程语言,通过在 JavaScript 的基础上添加静态类型定义构建而成。 | | Vite | 5.1.5 | 下一代的前端工具链,为开发提供极速响应。 | -| [ContiNew Starter](https://github.com/continew-org/continew-starter) | 2.13.0 | ContiNew Starter 包含了一系列经过企业实践优化的依赖包(如 MyBatis-Plus、SaToken),可轻松集成到应用中,为开发人员减少手动引入依赖及配置的麻烦,为 Spring Boot Web 项目的灵活快速构建提供支持。 | +| [ContiNew Starter](https://github.com/continew-org/continew-starter) | 2.13.1 | ContiNew Starter 包含了一系列经过企业实践优化的依赖包(如 MyBatis-Plus、SaToken),可轻松集成到应用中,为开发人员减少手动引入依赖及配置的麻烦,为 Spring Boot Web 项目的灵活快速构建提供支持。 | | Spring Boot | 3.3.12 | 简化 Spring 应用的初始搭建和开发过程,基于“约定优于配置”的理念,使开发人员不再需要定义样板化的配置。(Spring Boot 3.0 开始,要求 Java 17 作为最低版本) | | Undertow | 2.3.18.Final | 采用 Java 开发的灵活的高性能 Web 服务器,提供包括阻塞和基于 NIO 的非堵塞机制。 | | Sa-Token + JWT | 1.44.0 | 轻量级 Java 权限认证框架,让鉴权变得简单、优雅。 | diff --git a/continew-common/pom.xml b/continew-common/pom.xml index c4cf42ea..a7503434 100644 --- a/continew-common/pom.xml +++ b/continew-common/pom.xml @@ -55,6 +55,12 @@ postgresql --> + + + cn.crane4j + crane4j-spring-boot-starter + + top.continew.starter diff --git a/continew-common/src/main/java/top/continew/admin/common/base/service/BaseServiceImpl.java b/continew-common/src/main/java/top/continew/admin/common/base/service/BaseServiceImpl.java index 262b92b3..b74bcb33 100644 --- a/continew-common/src/main/java/top/continew/admin/common/base/service/BaseServiceImpl.java +++ b/continew-common/src/main/java/top/continew/admin/common/base/service/BaseServiceImpl.java @@ -16,6 +16,8 @@ package top.continew.admin.common.base.service; +import cn.crane4j.core.support.OperateTemplate; +import cn.hutool.extra.spring.SpringUtil; import top.continew.starter.data.mapper.BaseMapper; import top.continew.starter.extension.crud.model.entity.BaseIdDO; import top.continew.starter.extension.crud.service.CrudServiceImpl; @@ -38,4 +40,18 @@ import top.continew.starter.extension.crud.service.CrudServiceImpl; * @since 2024/12/6 20:30 */ public class BaseServiceImpl, T extends BaseIdDO, L, D, Q, C> extends CrudServiceImpl implements BaseService { + + /** + * 填充数据 + * + * @param obj 待填充信息 + */ + @Override + protected void fill(Object obj) { + if (obj == null) { + return; + } + OperateTemplate operateTemplate = SpringUtil.getBean(OperateTemplate.class); + operateTemplate.execute(obj); + } } diff --git a/continew-common/src/main/java/top/continew/admin/common/config/TenantExtensionProperties.java b/continew-common/src/main/java/top/continew/admin/common/config/TenantExtensionProperties.java index 02543017..0bc9e3c2 100644 --- a/continew-common/src/main/java/top/continew/admin/common/config/TenantExtensionProperties.java +++ b/continew-common/src/main/java/top/continew/admin/common/config/TenantExtensionProperties.java @@ -35,11 +35,6 @@ import java.util.List; @ConfigurationProperties(prefix = PropertiesConstants.TENANT) public class TenantExtensionProperties { - /** - * 是否启用 - */ - private boolean enabled; - /** * 请求头中租户编码键名 */ diff --git a/continew-common/src/main/java/top/continew/admin/common/config/mybatis/DefaultDataPermissionUserContextProvider.java b/continew-common/src/main/java/top/continew/admin/common/config/mybatis/DefaultDataPermissionUserDataProvider.java similarity index 59% rename from continew-common/src/main/java/top/continew/admin/common/config/mybatis/DefaultDataPermissionUserContextProvider.java rename to continew-common/src/main/java/top/continew/admin/common/config/mybatis/DefaultDataPermissionUserDataProvider.java index c084ac65..ca0bd7db 100644 --- a/continew-common/src/main/java/top/continew/admin/common/config/mybatis/DefaultDataPermissionUserContextProvider.java +++ b/continew-common/src/main/java/top/continew/admin/common/config/mybatis/DefaultDataPermissionUserDataProvider.java @@ -17,21 +17,22 @@ package top.continew.admin.common.config.mybatis; import cn.hutool.core.convert.Convert; +import top.continew.admin.common.context.UserContext; import top.continew.admin.common.context.UserContextHolder; import top.continew.starter.extension.datapermission.enums.DataScope; -import top.continew.starter.extension.datapermission.filter.DataPermissionUserContextProvider; -import top.continew.starter.extension.datapermission.model.RoleContext; -import top.continew.starter.extension.datapermission.model.UserContext; +import top.continew.starter.extension.datapermission.filter.DataPermissionUserDataProvider; +import top.continew.starter.extension.datapermission.model.RoleData; +import top.continew.starter.extension.datapermission.model.UserData; import java.util.stream.Collectors; /** - * 数据权限用户上下文提供者 + * 数据权限用户数据提供者 * * @author Charles7c * @since 2023/12/21 21:19 */ -public class DefaultDataPermissionUserContextProvider implements DataPermissionUserContextProvider { +public class DefaultDataPermissionUserDataProvider implements DataPermissionUserDataProvider { @Override public boolean isFilter() { @@ -39,15 +40,15 @@ public class DefaultDataPermissionUserContextProvider implements DataPermissionU } @Override - public UserContext getUserContext() { - top.continew.admin.common.context.UserContext context = UserContextHolder.getContext(); - UserContext userContext = new UserContext(); - userContext.setUserId(Convert.toStr(context.getId())); - userContext.setDeptId(Convert.toStr(context.getDeptId())); - userContext.setRoles(context.getRoles() + public UserData getUserData() { + UserContext userContext = UserContextHolder.getContext(); + UserData userData = new UserData(); + userData.setUserId(Convert.toStr(userContext.getId())); + userData.setDeptId(Convert.toStr(userContext.getDeptId())); + userData.setRoles(userContext.getRoles() .stream() - .map(r -> new RoleContext(Convert.toStr(r.getId()), DataScope.valueOf(r.getDataScope().name()))) + .map(r -> new RoleData(Convert.toStr(r.getId()), DataScope.valueOf(r.getDataScope().name()))) .collect(Collectors.toSet())); - return userContext; + return userData; } } diff --git a/continew-common/src/main/java/top/continew/admin/common/config/mybatis/MybatisPlusConfiguration.java b/continew-common/src/main/java/top/continew/admin/common/config/mybatis/MybatisPlusConfiguration.java index db94caf7..cf1d520c 100644 --- a/continew-common/src/main/java/top/continew/admin/common/config/mybatis/MybatisPlusConfiguration.java +++ b/continew-common/src/main/java/top/continew/admin/common/config/mybatis/MybatisPlusConfiguration.java @@ -21,6 +21,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.crypto.password.PasswordEncoder; import top.continew.starter.extension.datapermission.filter.DataPermissionUserContextProvider; +import top.continew.starter.extension.datapermission.filter.DataPermissionUserDataProvider; /** * MyBatis Plus 配置 @@ -40,11 +41,11 @@ public class MybatisPlusConfiguration { } /** - * 数据权限用户上下文提供者 + * 数据权限用户数据提供者 */ @Bean - public DataPermissionUserContextProvider dataPermissionUserContextProvider() { - return new DefaultDataPermissionUserContextProvider(); + public DataPermissionUserDataProvider dataPermissionUserDataProvider() { + return new DefaultDataPermissionUserDataProvider(); } /** diff --git a/continew-common/src/main/java/top/continew/admin/common/constant/RegexConstants.java b/continew-common/src/main/java/top/continew/admin/common/constant/RegexConstants.java index 4037298e..2762151f 100644 --- a/continew-common/src/main/java/top/continew/admin/common/constant/RegexConstants.java +++ b/continew-common/src/main/java/top/continew/admin/common/constant/RegexConstants.java @@ -71,10 +71,10 @@ public class RegexConstants { *

*/ public static final String HTTP_HOST = """ - ^((?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}| - (?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)| - (?:(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}| - """; + ^((?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}| + (?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)| + (?:(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}| + """; private RegexConstants() { } diff --git a/continew-plugin/continew-plugin-tenant/src/main/java/top/continew/admin/tenant/controller/TenantController.java b/continew-plugin/continew-plugin-tenant/src/main/java/top/continew/admin/tenant/controller/TenantController.java index 7093dbb6..fe45cf5c 100644 --- a/continew-plugin/continew-plugin-tenant/src/main/java/top/continew/admin/tenant/controller/TenantController.java +++ b/continew-plugin/continew-plugin-tenant/src/main/java/top/continew/admin/tenant/controller/TenantController.java @@ -17,7 +17,6 @@ package top.continew.admin.tenant.controller; import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.hutool.extra.spring.SpringUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; @@ -42,7 +41,7 @@ import top.continew.starter.core.util.ExceptionUtils; import top.continew.starter.core.util.validation.ValidationUtils; import top.continew.starter.extension.crud.annotation.CrudRequestMapping; import top.continew.starter.extension.crud.enums.Api; -import top.continew.starter.extension.tenant.TenantHandler; +import top.continew.starter.extension.tenant.util.TenantUtils; /** * 租户管理 API @@ -65,7 +64,7 @@ public class TenantController extends BaseController { + TenantUtils.execute(id, () -> { UserDO user = userService.getById(tenant.getAdminUser()); String password = ExceptionUtils.exToNull(() -> SecureUtils.decryptByRsaPrivateKey(encryptPassword)); ValidationUtils.throwIfNull(password, "新密码解密失败"); diff --git a/continew-plugin/continew-plugin-tenant/src/main/java/top/continew/admin/tenant/handler/TenantDataHandlerForSystem.java b/continew-plugin/continew-plugin-tenant/src/main/java/top/continew/admin/tenant/handler/TenantDataHandlerForSystem.java index c8d48ff9..c6099a09 100644 --- a/continew-plugin/continew-plugin-tenant/src/main/java/top/continew/admin/tenant/handler/TenantDataHandlerForSystem.java +++ b/continew-plugin/continew-plugin-tenant/src/main/java/top/continew/admin/tenant/handler/TenantDataHandlerForSystem.java @@ -19,7 +19,6 @@ package top.continew.admin.tenant.handler; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.ReUtil; -import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; @@ -51,7 +50,7 @@ import top.continew.starter.cache.redisson.util.RedisUtils; import top.continew.starter.core.util.ExceptionUtils; import top.continew.starter.core.util.validation.ValidationUtils; import top.continew.starter.extension.crud.model.entity.BaseIdDO; -import top.continew.starter.extension.tenant.TenantHandler; +import top.continew.starter.extension.tenant.util.TenantUtils; import java.time.LocalDateTime; import java.util.List; @@ -90,7 +89,7 @@ public class TenantDataHandlerForSystem implements TenantDataHandler { @Transactional(rollbackFor = Exception.class) public void init(TenantReq tenant) { Long tenantId = tenant.getId(); - SpringUtil.getBean(TenantHandler.class).execute(tenantId, () -> { + TenantUtils.execute(tenantId, () -> { // 初始化部门 Long deptId = this.initDeptData(tenant); // 初始化菜单 diff --git a/continew-plugin/continew-plugin-tenant/src/main/java/top/continew/admin/tenant/service/impl/TenantServiceImpl.java b/continew-plugin/continew-plugin-tenant/src/main/java/top/continew/admin/tenant/service/impl/TenantServiceImpl.java index a58e9f9b..dfbe13c5 100644 --- a/continew-plugin/continew-plugin-tenant/src/main/java/top/continew/admin/tenant/service/impl/TenantServiceImpl.java +++ b/continew-plugin/continew-plugin-tenant/src/main/java/top/continew/admin/tenant/service/impl/TenantServiceImpl.java @@ -17,7 +17,6 @@ package top.continew.admin.tenant.service.impl; import cn.hutool.core.collection.CollUtil; -import cn.hutool.extra.spring.SpringUtil; import com.alicp.jetcache.anno.Cached; import lombok.RequiredArgsConstructor; import me.ahoo.cosid.provider.IdGeneratorProvider; @@ -40,8 +39,8 @@ import top.continew.admin.tenant.service.PackageService; import top.continew.admin.tenant.service.TenantService; import top.continew.starter.cache.redisson.util.RedisUtils; import top.continew.starter.core.util.validation.CheckUtils; -import top.continew.starter.extension.tenant.TenantHandler; import top.continew.starter.extension.tenant.autoconfigure.TenantProperties; +import top.continew.starter.extension.tenant.util.TenantUtils; import java.io.Serializable; import java.time.LocalDateTime; @@ -103,7 +102,7 @@ public class TenantServiceImpl extends BaseServiceImpl ids) { // 在租户中执行数据清除 for (Long id : ids) { - SpringUtil.getBean(TenantHandler.class).execute(id, tenantDataHandler::clear); + TenantUtils.execute(id, tenantDataHandler::clear); } } @@ -153,7 +152,7 @@ public class TenantServiceImpl extends BaseServiceImpl deleteMenus = menuService.listByIds(deleteMenuIds); - tenantIdList.forEach(tenantId -> SpringUtil.getBean(TenantHandler.class).execute(tenantId, () -> menuService + tenantIdList.forEach(tenantId -> TenantUtils.execute(tenantId, () -> menuService .deleteTenantMenus(deleteMenus))); } // 如果有新增的菜单则绑定了套餐的租户对应的菜单也会新增 @@ -163,7 +162,7 @@ public class TenantServiceImpl extends BaseServiceImpl addMenus = menuService.listByIds(addMenuIds); for (MenuDO addMenu : addMenus) { MenuDO parentMenu = addMenu.getParentId() != 0 ? menuService.getById(addMenu.getParentId()) : null; - tenantIdList.forEach(tenantId -> SpringUtil.getBean(TenantHandler.class).execute(tenantId, () -> menuService + tenantIdList.forEach(tenantId -> TenantUtils.execute(tenantId, () -> menuService .addTenantMenu(addMenu, parentMenu))); } } diff --git a/continew-server/src/main/java/top/continew/admin/config/log/LogDaoLocalImpl.java b/continew-server/src/main/java/top/continew/admin/config/log/LogDaoLocalImpl.java index 819325d2..4b0903b9 100644 --- a/continew-server/src/main/java/top/continew/admin/config/log/LogDaoLocalImpl.java +++ b/continew-server/src/main/java/top/continew/admin/config/log/LogDaoLocalImpl.java @@ -23,7 +23,6 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.URLUtil; -import cn.hutool.extra.spring.SpringUtil; import cn.hutool.http.HttpStatus; import cn.hutool.json.JSONUtil; import lombok.RequiredArgsConstructor; @@ -42,8 +41,8 @@ import top.continew.admin.system.service.UserService; import top.continew.starter.core.constant.StringConstants; import top.continew.starter.core.util.ExceptionUtils; import top.continew.starter.core.util.StrUtils; -import top.continew.starter.extension.tenant.TenantHandler; import top.continew.starter.extension.tenant.context.TenantContextHolder; +import top.continew.starter.extension.tenant.util.TenantUtils; import top.continew.starter.log.dao.LogDao; import top.continew.starter.log.model.LogRecord; import top.continew.starter.log.model.LogRequest; @@ -89,7 +88,7 @@ public class LogDaoLocalImpl implements LogDao { // 设置操作人 this.setCreateUser(logDO, logRequest, logResponse); Long tenantId = TenantContextHolder.getTenantId(); - SpringUtil.getBean(TenantHandler.class).execute(tenantId, () -> logMapper.insert(logDO)); + TenantUtils.execute(tenantId, () -> logMapper.insert(logDO)); } /** diff --git a/continew-server/src/main/java/top/continew/admin/config/satoken/SaExtensionInterceptor.java b/continew-server/src/main/java/top/continew/admin/config/satoken/SaExtensionInterceptor.java index 60846b34..1567810f 100644 --- a/continew-server/src/main/java/top/continew/admin/config/satoken/SaExtensionInterceptor.java +++ b/continew-server/src/main/java/top/continew/admin/config/satoken/SaExtensionInterceptor.java @@ -19,16 +19,14 @@ package top.continew.admin.config.satoken; import cn.dev33.satoken.fun.SaParamFunction; import cn.dev33.satoken.interceptor.SaInterceptor; import cn.dev33.satoken.stp.StpUtil; -import cn.hutool.extra.servlet.JakartaServletUtil; -import cn.hutool.json.JSONUtil; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; import org.springframework.lang.Nullable; import top.continew.admin.common.context.UserContext; import top.continew.admin.common.context.UserContextHolder; +import top.continew.starter.core.util.ServletUtils; import top.continew.starter.extension.tenant.context.TenantContextHolder; import top.continew.starter.web.model.R; @@ -59,12 +57,13 @@ public class SaExtensionInterceptor extends SaInterceptor { return true; } // 检查用户租户权限 - Long userTenantId = userContext.getTenantId(); - Long tenantId = TenantContextHolder.getTenantId(); - if (!userTenantId.equals(tenantId)) { - JakartaServletUtil.write(response, JSONUtil.toJsonStr(R.fail(String.valueOf(HttpStatus.FORBIDDEN - .value()), "您当前没有访问该租户的权限")), MediaType.APPLICATION_JSON_VALUE); - return false; + if (TenantContextHolder.isTenantEnabled()) { + Long userTenantId = userContext.getTenantId(); + Long tenantId = TenantContextHolder.getTenantId(); + if (!userTenantId.equals(tenantId)) { + ServletUtils.writeJSON(response, R.fail(String.valueOf(HttpStatus.FORBIDDEN.value()), "您当前没有访问该租户的权限")); + return false; + } } UserContextHolder.getExtraContext(); return true; diff --git a/continew-server/src/main/resources/config/application.yml b/continew-server/src/main/resources/config/application.yml index 9910f7f0..b1535b6f 100644 --- a/continew-server/src/main/resources/config/application.yml +++ b/continew-server/src/main/resources/config/application.yml @@ -7,7 +7,7 @@ application: description: 持续迭代优化的前后端分离中后台管理系统框架,开箱即用,持续提供舒适的开发体验。 # 版本 version: 4.0.0-SNAPSHOT - starter: 2.13.0 + starter: 2.13.1 # 基本包 base-package: top.continew.admin ## 作者信息配置 diff --git a/continew-system/src/main/java/top/continew/admin/auth/AbstractLoginHandler.java b/continew-system/src/main/java/top/continew/admin/auth/AbstractLoginHandler.java index 1df4a16a..015aff56 100644 --- a/continew-system/src/main/java/top/continew/admin/auth/AbstractLoginHandler.java +++ b/continew-system/src/main/java/top/continew/admin/auth/AbstractLoginHandler.java @@ -19,7 +19,6 @@ package top.continew.admin.auth; import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.parameter.SaLoginParameter; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.extra.spring.SpringUtil; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletRequest; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; @@ -40,8 +39,8 @@ import top.continew.admin.system.service.UserService; import top.continew.starter.core.util.ServletUtils; import top.continew.starter.core.util.validation.CheckUtils; import top.continew.starter.core.util.validation.Validator; -import top.continew.starter.extension.tenant.TenantHandler; import top.continew.starter.extension.tenant.context.TenantContextHolder; +import top.continew.starter.extension.tenant.util.TenantUtils; import java.util.HashSet; import java.util.Set; @@ -97,14 +96,14 @@ public abstract class AbstractLoginHandler implements LoginH Long tenantId = TenantContextHolder.getTenantId(); CompletableFuture> permissionFuture = CompletableFuture.supplyAsync(() -> { Set permissions = new HashSet<>(); - SpringUtil.getBean(TenantHandler.class).execute(tenantId, () -> { + TenantUtils.execute(tenantId, () -> { permissions.addAll(roleService.listPermissionByUserId(userId)); }); return permissions; }, threadPoolTaskExecutor); CompletableFuture> roleFuture = CompletableFuture.supplyAsync(() -> { Set roles = new HashSet<>(); - SpringUtil.getBean(TenantHandler.class).execute(tenantId, () -> { + TenantUtils.execute(tenantId, () -> { roles.addAll(roleService.listByUserId(userId)); }); return roles; diff --git a/continew-system/src/main/java/top/continew/admin/auth/service/impl/OnlineUserServiceImpl.java b/continew-system/src/main/java/top/continew/admin/auth/service/impl/OnlineUserServiceImpl.java index 5b1e9c2d..b14bd788 100644 --- a/continew-system/src/main/java/top/continew/admin/auth/service/impl/OnlineUserServiceImpl.java +++ b/continew-system/src/main/java/top/continew/admin/auth/service/impl/OnlineUserServiceImpl.java @@ -93,7 +93,7 @@ public class OnlineUserServiceImpl implements OnlineUserService { continue; } // 只显示本租户数据 - if (tenantExtensionProperties.isEnabled()) { + if (TenantContextHolder.isTenantEnabled()) { if (!TenantContextHolder.getTenantId().equals(userContext.getTenantId())) { continue; } diff --git a/pom.xml b/pom.xml index 4336c945..a404604c 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ top.continew.starter continew-starter - 2.13.0 + 2.13.1 top.continew.admin