refactor: 升级框架

This commit is contained in:
caiyuchao
2025-05-21 14:13:15 +08:00
parent b2a5bedb30
commit 27941674a7
1000 changed files with 1833 additions and 1800 deletions

View File

@@ -41,13 +41,6 @@
<optional>true</optional>
</dependency>
<!-- 业务组件 -->
<dependency>
<groupId>org.agt</groupId>
<artifactId>agt-module-system-api</artifactId> <!-- 需要使用它,进行数据权限的获取 -->
<version>${revision}</version>
</dependency>
<!-- Test 测试相关 -->
<dependency>
<groupId>org.agt</groupId>

View File

@@ -1,10 +1,11 @@
package org.agt.framework.datapermission.config;
import cn.hutool.extra.spring.SpringUtil;
import org.agt.framework.common.biz.system.permission.PermissionCommonApi;
import org.agt.framework.datapermission.core.rule.dept.DeptDataPermissionRule;
import org.agt.framework.datapermission.core.rule.dept.DeptDataPermissionRuleCustomizer;
import org.agt.framework.security.core.LoginUser;
import org.agt.module.system.api.permission.PermissionApi;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -19,16 +20,16 @@ import java.util.List;
*/
@AutoConfiguration
@ConditionalOnClass(LoginUser.class)
@ConditionalOnBean(value = DeptDataPermissionRuleCustomizer.class)
@ConditionalOnBean(value = {PermissionCommonApi.class, DeptDataPermissionRuleCustomizer.class})
public class AgtDeptDataPermissionAutoConfiguration {
@Bean
public DeptDataPermissionRule deptDataPermissionRule(PermissionApi permissionApi,
public DeptDataPermissionRule deptDataPermissionRule(PermissionCommonApi permissionApi,
List<DeptDataPermissionRuleCustomizer> customizers) {
// Cloud 专属逻辑:优先使用本地的 PermissionApi 实现类,而不是 Feign 调用
// 原因:在创建租户时,租户还没创建好,导致 Feign 调用获取数据权限时,报“租户不存在”的错误
try {
PermissionApi permissionApiImpl = SpringUtil.getBean("permissionApiImpl", PermissionApi.class);
PermissionCommonApi permissionApiImpl = SpringUtil.getBean("permissionApiImpl", PermissionCommonApi.class);
if (permissionApiImpl != null) {
permissionApi = permissionApiImpl;
}

View File

@@ -3,6 +3,7 @@ package org.agt.framework.datapermission.core.rule.dept;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import org.agt.framework.common.biz.system.permission.PermissionCommonApi;
import org.agt.framework.common.enums.UserTypeEnum;
import org.agt.framework.common.util.collection.CollectionUtils;
import org.agt.framework.common.util.json.JsonUtils;
@@ -11,8 +12,7 @@ import org.agt.framework.mybatis.core.dataobject.BaseDO;
import org.agt.framework.mybatis.core.util.MyBatisUtils;
import org.agt.framework.security.core.LoginUser;
import org.agt.framework.security.core.util.SecurityFrameworkUtils;
import org.agt.module.system.api.permission.PermissionApi;
import org.agt.module.system.api.permission.dto.DeptDataPermissionRespDTO;
import org.agt.framework.common.biz.system.permission.dto.DeptDataPermissionRespDTO;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -59,7 +59,7 @@ public class DeptDataPermissionRule implements DataPermissionRule {
static final Expression EXPRESSION_NULL = new NullValue();
private final PermissionApi permissionApi;
private final PermissionCommonApi permissionApi;
/**
* 基于部门的表字段配置

View File

@@ -2,13 +2,13 @@ package org.agt.framework.datapermission.core.rule.dept;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ReflectUtil;
import org.agt.framework.common.biz.system.permission.PermissionCommonApi;
import org.agt.framework.common.enums.UserTypeEnum;
import org.agt.framework.common.util.collection.SetUtils;
import org.agt.framework.security.core.LoginUser;
import org.agt.framework.security.core.util.SecurityFrameworkUtils;
import org.agt.framework.test.core.ut.BaseMockitoUnitTest;
import org.agt.module.system.api.permission.PermissionApi;
import org.agt.module.system.api.permission.dto.DeptDataPermissionRespDTO;
import org.agt.framework.common.biz.system.permission.dto.DeptDataPermissionRespDTO;
import net.sf.jsqlparser.expression.Alias;
import net.sf.jsqlparser.expression.Expression;
import org.junit.jupiter.api.BeforeEach;
@@ -40,7 +40,7 @@ class DeptDataPermissionRuleTest extends BaseMockitoUnitTest {
private DeptDataPermissionRule rule;
@Mock
private PermissionApi permissionApi;
private PermissionCommonApi permissionApi;
@BeforeEach
@SuppressWarnings("unchecked")