From 50159ad57e89f6661b003e1e1cfc591e271927d9 Mon Sep 17 00:00:00 2001
From: piyalin <898519910@qq.com>
Date: Thu, 16 Mar 2023 09:38:03 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E4=B8=80=E4=BA=9Bbu?=
=?UTF-8?q?g?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../yudao-spring-boot-starter-web/pom.xml | 5 +++
yudao-gateway/pom.xml | 5 ++-
.../src/main/resources/application.yaml | 2 +
.../src/main/resources/bootstrap.yaml | 5 ++-
.../api/db/DataSourceConfigServiceApi.java | 16 +++++++-
.../db/DataSourceConfigServiceApiImpl.java | 15 +++++--
.../module/system/api/tenant/TenantApi.java | 5 ++-
.../system/api/tenant/TenantApiImpl.java | 2 +-
.../rpc/config/RpcConfiguration.java | 3 +-
.../src/main/resources/application.yaml | 40 ++++++++++++++++++-
10 files changed, 88 insertions(+), 10 deletions(-)
diff --git a/yudao-framework/yudao-spring-boot-starter-web/pom.xml b/yudao-framework/yudao-spring-boot-starter-web/pom.xml
index e2665f959..fc9cf4054 100644
--- a/yudao-framework/yudao-spring-boot-starter-web/pom.xml
+++ b/yudao-framework/yudao-spring-boot-starter-web/pom.xml
@@ -22,6 +22,11 @@
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ true
+
org.springframework.security
spring-security-core
diff --git a/yudao-gateway/pom.xml b/yudao-gateway/pom.xml
index e56f6fb97..724a2a1c2 100644
--- a/yudao-gateway/pom.xml
+++ b/yudao-gateway/pom.xml
@@ -21,7 +21,10 @@
org.springframework.cloud
spring-cloud-starter-bootstrap
-
+
+ org.springframework.boot
+ spring-boot-starter-undertow
+
cn.iocoder.cloud
diff --git a/yudao-gateway/src/main/resources/application.yaml b/yudao-gateway/src/main/resources/application.yaml
index 211dfb596..3d531c219 100644
--- a/yudao-gateway/src/main/resources/application.yaml
+++ b/yudao-gateway/src/main/resources/application.yaml
@@ -54,3 +54,5 @@ knife4j:
# 聚合 Swagger 文档
gateway:
enable: true
+
+debug: true
diff --git a/yudao-gateway/src/main/resources/bootstrap.yaml b/yudao-gateway/src/main/resources/bootstrap.yaml
index 3eed7be68..87a898d5d 100644
--- a/yudao-gateway/src/main/resources/bootstrap.yaml
+++ b/yudao-gateway/src/main/resources/bootstrap.yaml
@@ -4,7 +4,8 @@ spring:
profiles:
active: local
-
+ main:
+ web-application-type: reactive
server:
port: 48080
@@ -12,3 +13,5 @@ server:
logging:
file:
name: ${user.home}/logs/${spring.application.name}.log # 日志文件名,全路径
+
+
diff --git a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/db/DataSourceConfigServiceApi.java b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/db/DataSourceConfigServiceApi.java
index 37db36f41..1b987c1b3 100644
--- a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/db/DataSourceConfigServiceApi.java
+++ b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/db/DataSourceConfigServiceApi.java
@@ -1,13 +1,24 @@
package cn.iocoder.yudao.module.infra.api.db;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.infra.api.db.dto.DataSourceConfigRespDTO;
+import cn.iocoder.yudao.module.infra.enums.ApiConstants;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
/**
* 数据源配置 API 接口
*
* @author 芋道源码
*/
+@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory =
+@Tag(name = "RPC 服务 - 数据源配置")
public interface DataSourceConfigServiceApi {
+ String PREFIX = ApiConstants.PREFIX + "/datasource";
/**
* 获得数据源配置
@@ -15,6 +26,9 @@ public interface DataSourceConfigServiceApi {
* @param id 编号
* @return 数据源配置
*/
- DataSourceConfigRespDTO getDataSourceConfig(Long id);
+ @GetMapping(PREFIX + "/datasource-config")
+ @Operation(summary = "获得数据源信息")
+ @Parameter(name = "id", description = "数据源编号", required = true, example = "1024")
+ CommonResult getDataSourceConfig(@RequestParam("id")Long id);
}
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/api/db/DataSourceConfigServiceApiImpl.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/api/db/DataSourceConfigServiceApiImpl.java
index 7da9699c4..abef8ce89 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/api/db/DataSourceConfigServiceApiImpl.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/api/db/DataSourceConfigServiceApiImpl.java
@@ -1,26 +1,35 @@
package cn.iocoder.yudao.module.infra.api.db;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.infra.api.db.dto.DataSourceConfigRespDTO;
import cn.iocoder.yudao.module.infra.convert.db.DataSourceConfigConvert;
import cn.iocoder.yudao.module.infra.service.db.DataSourceConfigService;
+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 static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+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 DataSourceConfigServiceApiImpl implements DataSourceConfigServiceApi {
@Resource
private DataSourceConfigService dataSourceConfigService;
@Override
- public DataSourceConfigRespDTO getDataSourceConfig(Long id) {
- return DataSourceConfigConvert.INSTANCE.convert02(dataSourceConfigService.getDataSourceConfig(id));
+ public CommonResult getDataSourceConfig(Long id) {
+ return success(DataSourceConfigConvert.INSTANCE.convert02(dataSourceConfigService.getDataSourceConfig(id)));
}
}
diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApi.java
index 646d37094..fb308ff0b 100644
--- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApi.java
+++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApi.java
@@ -31,5 +31,8 @@ public interface TenantApi {
* @param tenantId 租户编号
* @return 数据源配置
*/
- CommonResult getTenantDataSourceConfig(Long tenantId);
+ @GetMapping(PREFIX + "/tenant-datasource-config")
+ @Operation(summary = "获得租户数据源信息")
+ @Parameter(name = "tenantId", description = "租户编号", required = true, example = "1024")
+ CommonResult getTenantDataSourceConfig(@RequestParam("tenantId")Long tenantId);
}
\ No newline at end of file
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApiImpl.java
index 9f0460a68..877de24f5 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApiImpl.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApiImpl.java
@@ -46,6 +46,6 @@ public class TenantApiImpl implements TenantApi {
}
// 获得租户的数据源配置
return success(TenantConvert.INSTANCE.convert(
- dataSourceConfigServiceApi.getDataSourceConfig(tenant.getDataSourceConfigId())));
+ dataSourceConfigServiceApi.getDataSourceConfig(tenant.getDataSourceConfigId()).getData()));
}
}
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/rpc/config/RpcConfiguration.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/rpc/config/RpcConfiguration.java
index 73b7f8ccd..bb53b0646 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/rpc/config/RpcConfiguration.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/rpc/config/RpcConfiguration.java
@@ -1,10 +1,11 @@
package cn.iocoder.yudao.module.system.framework.rpc.config;
+import cn.iocoder.yudao.module.infra.api.db.DataSourceConfigServiceApi;
import cn.iocoder.yudao.module.infra.api.file.FileApi;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Configuration;
@Configuration(proxyBeanMethods = false)
-@EnableFeignClients(clients = FileApi.class)
+@EnableFeignClients(clients = {FileApi.class, DataSourceConfigServiceApi.class})
public class RpcConfiguration {
}
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/application.yaml b/yudao-module-system/yudao-module-system-biz/src/main/resources/application.yaml
index cac51c174..e2c57f1fe 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/resources/application.yaml
+++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/application.yaml
@@ -154,12 +154,16 @@ yudao:
enable: true
ignore-urls:
- /admin-api/system/tenant/get-id-by-name # 基于名字获取租户,不许带租户编号
- - /admin-api/system/captcha/get-image # 获取图片验证码,和租户无关
- /admin-api/system/captcha/get # 获取图片验证码,和租户无关
- /admin-api/system/captcha/check # 校验图片验证码,和租户无关
+ - /admin-api/infra/file/*/get/** # 获取图片,和租户无关
- /admin-api/system/sms/callback/* # 短信回调接口,无法带上租户编号
+ - /admin-api/pay/notify/callback/* # 支付回调通知,不携带租户编号
+ - /jmreport/* # 积木报表,无法携带租户编号
+ - /admin-api/mp/open/** # 微信公众号开放平台,微信回调接口,无法携带租户编号
- /rpc-api/system/tenant/valid # 防止递归。避免调用 /rpc-api/system/tenant/valid 接口时,又去触发 /rpc-api/system/tenant/valid 去校验
- /rpc-api/system/tenant/id-list # 获得租户列表的时候,无需传递租户编号
+ - /rpc-api/system/tenant/tenant-datasource-config # 获得获得租户数据源信息,无需传递租户编号
- /rpc-api/system/error-code/* # 错误码的自动创建与下载的接口,无法带上租户编号
- /rpc-api/system/oauth2/token/check # 访问令牌校验时,无需传递租户编号;主要解决上传文件的场景,前端不会传递 tenant-id!
ignore-tables:
@@ -178,6 +182,40 @@ yudao:
- system_mail_template
- system_mail_log
- system_notify_template
+ - infra_codegen_column
+ - infra_codegen_table
+ - infra_test_demo
+ - infra_config
+ - infra_file_config
+ - infra_file
+ - infra_file_content
+ - infra_job
+ - infra_job_log
+ - infra_job_log
+ - infra_data_source_config
+ - jimu_dict
+ - jimu_dict_item
+ - jimu_report
+ - jimu_report_data_source
+ - jimu_report_db
+ - jimu_report_db_field
+ - jimu_report_db_param
+ - jimu_report_link
+ - jimu_report_map
+ - jimu_report_share
+ - rep_demo_dxtj
+ - rep_demo_employee
+ - rep_demo_gongsi
+ - rep_demo_jianpiao
+ - tmp_report_data_1
+ - tmp_report_data_income
+ ignore-caches:
+ - permission_menu_ids
+ - oauth_client
+ - notify_template
+ - mail_account
+ - mail_template
+ - sms_template
sms-code: # 短信验证码相关的配置项
expire-times: 10m
send-frequency: 1m