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 @@
-
+
@@ -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