1. 完成 auth 鉴权逻辑

2. 完成 admin 获取 Admin 上下文
3. 完成 user 获取 User 上下文
This commit is contained in:
YunaiV
2020-04-23 21:18:48 +08:00
parent a545d673ab
commit eb86ae7cbc
104 changed files with 815 additions and 1256 deletions

View File

@@ -0,0 +1,15 @@
package cn.iocoder.mall.system.rpc.convert.admn;
import cn.iocoder.mall.system.biz.bo.admin.AdminBO;
import cn.iocoder.mall.system.rpc.response.admin.AdminResponse;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@Mapper
public interface AdminCovert {
AdminCovert INSTANCE = Mappers.getMapper(AdminCovert.class);
AdminResponse convert(AdminBO bean);
}

View File

@@ -0,0 +1,15 @@
package cn.iocoder.mall.system.rpc.convert.authorization;
import cn.iocoder.mall.system.biz.dto.authorization.AuthorizationCheckPermissionsDTO;
import cn.iocoder.mall.system.rpc.request.authorization.AuthorizationCheckPermissionsRequest;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@Mapper
public interface AuthorizationConvert {
AuthorizationConvert INSTANCE = Mappers.getMapper(AuthorizationConvert.class);
AuthorizationCheckPermissionsDTO convert(AuthorizationCheckPermissionsRequest bean);
}

View File

@@ -14,6 +14,6 @@ public interface OAuth2Convert {
OAuth2AccessTokenAuthenticateDTO convert(OAuth2AccessTokenAuthenticateRequest authenticateRequest);
OAuth2AccessTokenResponse convert(OAuth2AccessTokenBO accessTokenBO);
OAuth2AccessTokenResponse convert(OAuth2AccessTokenBO bean);
}

View File

@@ -12,8 +12,8 @@ public interface SystemLogConvert {
SystemLogConvert INSTANCE = Mappers.getMapper(SystemLogConvert.class);
AccessLogAddDTO convert(AccessLogAddRequest accessLogAddRequest);
AccessLogAddDTO convert(AccessLogAddRequest bean);
ExceptionLogAddDTO convert(ExceptionLogAddRequest exceptionLogAddRequest);
ExceptionLogAddDTO convert(ExceptionLogAddRequest bean);
}

View File

@@ -0,0 +1,15 @@
package cn.iocoder.mall.system.rpc.convert.user;
import cn.iocoder.mall.system.biz.bo.user.UserBO;
import cn.iocoder.mall.system.rpc.response.user.UserResponse;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@Mapper
public interface UserConvert {
UserConvert INSTANCE = Mappers.getMapper(UserConvert.class);
UserResponse convert(UserBO bean);
}

View File

@@ -0,0 +1,30 @@
package cn.iocoder.mall.system.rpc.rpc.admin;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.system.biz.bo.admin.AdminBO;
import cn.iocoder.mall.system.biz.service.admin.AdminService;
import cn.iocoder.mall.system.rpc.api.admin.AdminRPC;
import cn.iocoder.mall.system.rpc.convert.admn.AdminCovert;
import cn.iocoder.mall.system.rpc.response.admin.AdminResponse;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.beans.factory.annotation.Autowired;
@Service(version = "${dubbo.provider.AdminRPC.version}", validation = "true")
public class AdminRPCImpl implements AdminRPC {
@Autowired
private AdminService adminService;
@Override
public CommonResult<AdminResponse> getAdmin(Integer id) {
AdminBO adminBO = adminService.getAdmin(id);
return CommonResult.success(AdminCovert.INSTANCE.convert(adminBO));
}
@Override
public CommonResult<AdminResponse> getAdminByAccountId(Integer accountId) {
AdminBO adminBO = adminService.getAdminByAccountId(accountId);
return CommonResult.success(AdminCovert.INSTANCE.convert(adminBO));
}
}

View File

@@ -0,0 +1,25 @@
package cn.iocoder.mall.system.rpc.rpc.authorization;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.system.biz.dto.authorization.AuthorizationCheckPermissionsDTO;
import cn.iocoder.mall.system.biz.service.authorization.AuthorizationService;
import cn.iocoder.mall.system.rpc.api.authorization.AuthorizationRPC;
import cn.iocoder.mall.system.rpc.convert.authorization.AuthorizationConvert;
import cn.iocoder.mall.system.rpc.request.authorization.AuthorizationCheckPermissionsRequest;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.beans.factory.annotation.Autowired;
@Service(version = "${dubbo.provider.AuthorizationRPC.version}", validation = "true")
public class AuthorizationRPCImpl implements AuthorizationRPC {
@Autowired
private AuthorizationService authorizationService;
@Override
public CommonResult<Boolean> checkPermissions(AuthorizationCheckPermissionsRequest checkPermissionsRequest) {
AuthorizationCheckPermissionsDTO checkPermissionsDTO = AuthorizationConvert.INSTANCE.convert(checkPermissionsRequest);
authorizationService.checkPermissions(checkPermissionsDTO);
return CommonResult.success(true);
}
}

View File

@@ -0,0 +1,24 @@
package cn.iocoder.mall.system.rpc.rpc.user;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.system.biz.bo.user.UserBO;
import cn.iocoder.mall.system.biz.service.user.UserService;
import cn.iocoder.mall.system.rpc.api.user.UserRPC;
import cn.iocoder.mall.system.rpc.convert.user.UserConvert;
import cn.iocoder.mall.system.rpc.response.user.UserResponse;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.beans.factory.annotation.Autowired;
@Service(version = "${dubbo.provider.UserRPC.version}", validation = "true")
public class UserRPCImpl implements UserRPC {
@Autowired
private UserService userService;
@Override
public CommonResult<UserResponse> getUserByAccountId(Integer accountId) {
UserBO userBO = userService.getUserByAccountId(accountId);
return CommonResult.success(UserConvert.INSTANCE.convert(userBO));
}
}

View File

@@ -17,9 +17,21 @@ dubbo:
version: 1.0.0
OAuth2RPC:
version: 1.0.0
AuthorizationRPC:
version: 1.0.0
AdminRPC:
version: 1.0.0
UserRPC:
version: 1.0.0
# Dubbo 服务消费者的配置
consumer:
SystemLogRPC: # 用于 AccessLogInterceptor 等拦截器,记录 HTTP API 请求的访问日志
version: 1.0.0
OAuth2RPC:
OAuth2RPC: # 用于 AccountAuthInterceptor 拦截器,执行认证
version: 1.0.0
AuthorizationRPC: # 用于 AccountAuthInterceptor 拦截器,执行鉴权(权限验证)
version: 1.0.0
AdminRPC:
version: 1.0.0
UserRPC:
version: 1.0.0