mirror of
https://github.com/continew-org/continew-admin.git
synced 2025-09-09 20:57:21 +08:00
build: continew-starter 2.13.0 => 2.13.1
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
This commit is contained in:
@@ -55,6 +55,12 @@
|
||||
<artifactId>postgresql</artifactId>
|
||||
</dependency>-->
|
||||
|
||||
<!-- Crane4j(基于注解的,用于完成一切 “根据 A 的 key 值拿到 B,再把 B 的属性映射到 A” 这类需求的字段填充框架) -->
|
||||
<dependency>
|
||||
<groupId>cn.crane4j</groupId>
|
||||
<artifactId>crane4j-spring-boot-starter</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- ContiNew Starter JSON 模块 - Jackson -->
|
||||
<dependency>
|
||||
<groupId>top.continew.starter</groupId>
|
||||
|
@@ -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<M extends BaseMapper<T>, T extends BaseIdDO, L, D, Q, C> extends CrudServiceImpl<M, T, L, D, Q, C> implements BaseService<L, D, Q, C> {
|
||||
|
||||
/**
|
||||
* 填充数据
|
||||
*
|
||||
* @param obj 待填充信息
|
||||
*/
|
||||
@Override
|
||||
protected void fill(Object obj) {
|
||||
if (obj == null) {
|
||||
return;
|
||||
}
|
||||
OperateTemplate operateTemplate = SpringUtil.getBean(OperateTemplate.class);
|
||||
operateTemplate.execute(obj);
|
||||
}
|
||||
}
|
||||
|
@@ -35,11 +35,6 @@ import java.util.List;
|
||||
@ConfigurationProperties(prefix = PropertiesConstants.TENANT)
|
||||
public class TenantExtensionProperties {
|
||||
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
private boolean enabled;
|
||||
|
||||
/**
|
||||
* 请求头中租户编码键名
|
||||
*/
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
@@ -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();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -71,10 +71,10 @@ public class RegexConstants {
|
||||
* </p>
|
||||
*/
|
||||
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() {
|
||||
}
|
||||
|
Reference in New Issue
Block a user