[重大更新] 使用 spring 新特性 HttpServiceClient 替代 Dubbo 降低框架使用难度(半成本 数据权限不好使)

This commit is contained in:
疯狂的狮子Li
2026-03-20 19:56:09 +08:00
parent 9cd198d99d
commit b6d2274b53
127 changed files with 1894 additions and 1496 deletions

View File

@@ -17,6 +17,7 @@ import org.dromara.common.mybatis.handler.MybatisExceptionHandler;
import org.dromara.common.mybatis.handler.PlusPostInitTableInfoHandler;
import org.dromara.common.mybatis.interceptor.PlusDataPermissionInterceptor;
import org.dromara.common.mybatis.service.SysDataScopeService;
import org.dromara.system.api.RemoteDataScopeService;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanDefinition;
@@ -117,8 +118,8 @@ public class MybatisPlusConfiguration {
* 数据权限处理实现
*/
@Bean("sdss")
public SysDataScopeService sysDataScopeService() {
return new SysDataScopeService();
public SysDataScopeService sysDataScopeService(RemoteDataScopeService remoteDataScopeService) {
return new SysDataScopeService(remoteDataScopeService);
}
/**

View File

@@ -1,28 +0,0 @@
package org.dromara.common.mybatis.filter;
import org.dromara.common.mybatis.helper.DataPermissionHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.constants.CommonConstants;
import org.apache.dubbo.common.extension.Activate;
import org.apache.dubbo.rpc.*;
import java.util.Map;
/**
* dubbo 数据权限参数传递
*
* @author Lion Li
*/
@Slf4j
@Activate(group = {CommonConstants.CONSUMER})
public class DubboDataPermissionFilter implements Filter {
@Override
public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
RpcServiceContext context = RpcContext.getServiceContext();
Map<String, Object> dataPermissionContext = DataPermissionHelper.getContext();
context.setObjectAttachment(DataPermissionHelper.DATA_PERMISSION_KEY, dataPermissionContext);
return invoker.invoke(invocation);
}
}

View File

@@ -1,6 +1,6 @@
package org.dromara.common.mybatis.service;
import org.apache.dubbo.config.annotation.DubboReference;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.constant.CacheNames;
import org.dromara.system.api.RemoteDataScopeService;
import org.springframework.cache.annotation.Cacheable;
@@ -15,10 +15,10 @@ import org.springframework.stereotype.Service;
* @author Lion Li
*/
@Service("sdss")
@RequiredArgsConstructor
public class SysDataScopeService {
@DubboReference
private RemoteDataScopeService remoteDataScopeService;
private final RemoteDataScopeService remoteDataScopeService;
/**
* 获取角色自定义权限语句

View File

@@ -1 +0,0 @@
dubboDataPermissionFilter=org.dromara.common.mybatis.filter.DubboDataPermissionFilter