提交 ea7ad4b1 authored 作者: YunaiV's avatar YunaiV

infra:勉强启动成功,需要继续优化

上级 0745ad92
......@@ -2,6 +2,7 @@
"local": {
"baseUrl": "http://127.0.0.1:48080/admin-api",
"systemBaseUrl": "http://127.0.0.1:48081/admin-api",
"infaBaseUrl": "http://127.0.0.1:48082/admin-api",
"token": "test1",
"adminTenentId": "1",
......
......@@ -33,7 +33,6 @@ import javax.annotation.Resource;
*/
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(SecurityProperties.class)
@EnableFeignClients(clients = OAuth2TokenApi.class)
public class YudaoSecurityAutoConfiguration {
@Resource
......
package cn.iocoder.yudao.framework.security.config;
import cn.iocoder.yudao.module.system.api.oauth2.OAuth2TokenApi;
import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Configuration;
/**
* Security 使用到 Feign 的配置项
*
* @author 芋道源码
*/
@Configuration(proxyBeanMethods = false)
@EnableFeignClients(clients = {OAuth2TokenApi.class, // 主要是引入相关的 API 服务
PermissionApi.class})
public class YudaoSecurityFeignAutoConfiguration {
}
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
cn.iocoder.yudao.framework.security.config.YudaoSecurityFeignAutoConfiguration,\
cn.iocoder.yudao.framework.security.config.YudaoSecurityAutoConfiguration,\
cn.iocoder.yudao.framework.security.config.YudaoWebSecurityConfigurerAdapter
package cn.iocoder.yudao.module.infra.enums;
/**
* API 相关的枚举
*
* @author 芋道源码
*/
public class ApiConstants {
/**
* 服务名
*
* 注意,需要保证和 spring.application.name 保持一致
*/
public static final String NAME = "infra-server";
public static final String PREFIX = "/rpc-api/system";
public static final String VERSION = "1.0.0";
}
### 请求 /infra/file-config/create 接口 => 成功
POST {{baseUrl}}/infra/file-config/create
POST {{infaBaseUrl}}/infra/file-config/create
Content-Type: application/json
tenant-id: {{adminTenentId}}
Authorization: Bearer {{token}}
......
### 请求 /infra/redis/get-monitor-info 接口 => 成功
GET {{baseUrl}}/infra/redis/get-monitor-info
GET {{infaBaseUrl}}/infra/redis/get-monitor-info
Authorization: Bearer {{token}}
tenant-id: {{adminTenentId}}
### 请求 /infra/redis/get-key-list 接口 => 成功
GET {{baseUrl}}/infra/redis/get-key-list
GET {{infaBaseUrl}}/infra/redis/get-key-list
Authorization: Bearer {{token}}
tenant-id: {{adminTenentId}}
package cn.iocoder.yudao.module.infra.framework;
import cn.iocoder.yudao.framework.apilog.core.service.ApiAccessLogFrameworkService;
import cn.iocoder.yudao.framework.apilog.core.service.ApiErrorLogFrameworkService;
import cn.iocoder.yudao.framework.apilog.core.service.dto.ApiAccessLogCreateReqDTO;
import cn.iocoder.yudao.framework.apilog.core.service.dto.ApiErrorLogCreateReqDTO;
import cn.iocoder.yudao.framework.operatelog.core.dto.OperateLogCreateReqDTO;
import cn.iocoder.yudao.framework.operatelog.core.service.OperateLogFrameworkService;
import cn.iocoder.yudao.module.infra.api.file.FileApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.Future;
@Configuration
public class TmpConfiguration {
@Bean
public OperateLogFrameworkService operateLogFrameworkService() {
return new OperateLogFrameworkService() {
@Override
public Future<Boolean> createOperateLogAsync(OperateLogCreateReqDTO reqVO) {
return null;
}
};
}
}
package cn.iocoder.yudao.module.infra.framework.rpc.config;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Configuration;
@Configuration(proxyBeanMethods = false)
@EnableFeignClients(clients = AdminUserApi.class)
public class RpcConfiguration {
}
server:
port: 48082
--- #################### 数据库相关配置 ####################
spring:
......
......@@ -71,6 +71,8 @@ dubbo:
port: -1 # 协议端口,-1 表示自增端口,从 20880 开始
registry:
address: spring-cloud://localhost # 设置使用 Spring Cloud 注册中心
application:
id: infra-server # TODO 一定要写么?
--- #################### 芋道相关配置 ####################
......
......@@ -7,10 +7,3 @@ spring:
server:
port: 48082
yudao:
security: # TODO 芋艿,发现一定要配置,需要找下原因
token-header: Authorization
mock-enable: true
mock-secret: test
package cn.iocoder.yudao.module.system.api.permission;
import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
import cn.iocoder.yudao.module.system.enums.ApiConstants;
import io.swagger.annotations.Api;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Collection;
import java.util.Set;
/**
* 权限 API 接口
*
* @author 芋道源码
*/
@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory =
@Api(tags = "RPC 服务 - 权限")
public interface PermissionApi {
String PREFIX = ApiConstants.PREFIX + "/permission";
/**
* 获得拥有多个角色的用户编号集合
*
* @param roleIds 角色编号集合
* @return 用户编号集合
*/
@GetMapping(PREFIX + "/user-role-id-list-by-role-id")
Set<Long> getUserRoleIdListByRoleIds(Collection<Long> roleIds);
/**
......@@ -27,7 +32,9 @@ public interface PermissionApi {
* @param permissions 权限
* @return 是否
*/
boolean hasAnyPermissions(Long userId, String... permissions);
@GetMapping(PREFIX + "/has-any-permissions")
boolean hasAnyPermissions(@RequestParam("userId") Long userId,
@RequestParam("permissions") String... permissions);
/**
* 判断是否有角色,任一一个即可
......@@ -36,7 +43,9 @@ public interface PermissionApi {
* @param roles 角色数组
* @return 是否
*/
boolean hasAnyRoles(Long userId, String... roles);
@GetMapping(PREFIX + "/has-any-roles")
boolean hasAnyRoles(@RequestParam("userId") Long userId,
@RequestParam("roles") String... roles);
/**
* 获得登陆用户的部门数据权限
......@@ -44,6 +53,7 @@ public interface PermissionApi {
* @param userId 用户编号
* @return 部门数据权限
*/
@GetMapping(PREFIX + "/get-dept-data-permission")
DeptDataPermissionRespDTO getDeptDataPermission(Long userId);
}
......@@ -24,7 +24,7 @@ public interface AdminUserApi {
* @param id 用户ID
* @return 用户对象信息
*/
@GetMapping("/get")
@GetMapping(PREFIX + "/get")
AdminUserRespDTO getUser(Long id);
/**
......@@ -33,7 +33,7 @@ public interface AdminUserApi {
* @param ids 用户 ID 们
* @return 用户对象信息
*/
@GetMapping("/list")
@GetMapping(PREFIX + "/list")
List<AdminUserRespDTO> getUsers(Collection<Long> ids);
/**
......@@ -42,7 +42,7 @@ public interface AdminUserApi {
* @param deptIds 部门数组
* @return 用户数组
*/
@GetMapping("/list-by-dept-id")
@GetMapping(PREFIX + "/list-by-dept-id")
List<AdminUserRespDTO> getUsersByDeptIds(Collection<Long> deptIds);
/**
......@@ -51,7 +51,7 @@ public interface AdminUserApi {
* @param postIds 岗位数组
* @return 用户数组
*/
@GetMapping("/list-by-post-id")
@GetMapping(PREFIX + "/list-by-post-id")
List<AdminUserRespDTO> getUsersByPostIds(Collection<Long> postIds);
/**
......@@ -72,7 +72,7 @@ public interface AdminUserApi {
*
* @param ids 用户编号数组
*/
@GetMapping("/valid")
@GetMapping(PREFIX + "/valid")
void validUsers(Set<Long> ids);
}
......@@ -2,18 +2,25 @@ package cn.iocoder.yudao.module.system.api.permission;
import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.Set;
import static cn.iocoder.yudao.module.system.enums.ApiConstants.VERSION;
/**
* 权限 API 实现类
*
* @author 芋道源码
*/
@Service
@RestController // 提供 RESTful API 接口,给 Feign 调用
@DubboService(version = VERSION) // 提供 Dubbo RPC 接口,给 Dubbo Consumer 调用
@Validated
public class PermissionApiImpl implements PermissionApi {
@Resource
......
......@@ -4,20 +4,26 @@ import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import cn.iocoder.yudao.module.system.convert.user.UserConvert;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import static cn.iocoder.yudao.module.system.enums.ApiConstants.VERSION;
/**
* Admin 用户 API 实现类
*
* @author 芋道源码
*/
@Service
@RestController // 提供 RESTful API 接口,给 Feign 调用
@DubboService(version = VERSION) // 提供 Dubbo RPC 接口,给 Dubbo Consumer 调用
@Validated
public class AdminUserApiImpl implements AdminUserApi {
@Resource
......@@ -29,6 +35,12 @@ public class AdminUserApiImpl implements AdminUserApi {
return UserConvert.INSTANCE.convert4(user);
}
@Override
public List<AdminUserRespDTO> getUsers(Collection<Long> ids) {
List<AdminUserDO> users = userService.getUsers(ids);
return UserConvert.INSTANCE.convertList4(users);
}
@Override
public List<AdminUserRespDTO> getUsersByDeptIds(Collection<Long> deptIds) {
List<AdminUserDO> users = userService.getUsersByDeptIds(deptIds);
......@@ -41,12 +53,6 @@ public class AdminUserApiImpl implements AdminUserApi {
return UserConvert.INSTANCE.convertList4(users);
}
@Override
public Map<Long, AdminUserRespDTO> getUserMap(Collection<Long> ids) {
Map<Long, AdminUserDO> userMap = userService.getUserMap(ids);
return UserConvert.INSTANCE.convertMap4(userMap);
}
@Override
public void validUsers(Set<Long> ids) {
userService.validUsers(ids);
......
......@@ -53,6 +53,4 @@ public interface UserConvert {
List<AdminUserRespDTO> convertList4(List<AdminUserDO> users);
Map<Long, AdminUserRespDTO> convertMap4(Map<Long, AdminUserDO> map);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论