From 49487a999d4cff367998690a618fb4ec894ead4f Mon Sep 17 00:00:00 2001 From: sunshine7058 <2564255161@qq.com> Date: Fri, 10 May 2024 21:46:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=AF=B9=E8=A7=84=E5=88=99=E5=BC=95?= =?UTF-8?q?=E6=93=8E=E8=BF=9B=E8=A1=8C=E5=88=86=E5=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/constant/ServiceNameConstants.java | 11 +++++++ .../system/remote/RemoteFileService.java | 4 ++- .../muyu-data-source-client/pom.xml | 20 ++++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + .../muyu/data/source/domain/DataSource.java | 6 ++++ .../source/domain/req/DataSourceEditReq.java | 5 +++ .../source/domain/req/DataSourceSaveReq.java | 6 ++++ .../muyu-data-source-remote/pom.xml | 11 +++++++ .../remote/RemoteDataSourceFactory.java | 28 ++++++++++++++++ .../remote/RemoteDataSourceService.java | 26 +++++++++++++++ muyu-modules/muyu-data-source/pom.xml | 1 + .../muyu-rule_engine/muyu-rule-client/pom.xml | 27 ++++++++++++++++ .../client/config/RuleEngineClientConfig.java | 18 +++++++++++ .../client/config/RuleEngineClientRunner.java | 32 +++++++++++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + .../muyu-rule_engine-remote/pom.xml | 12 ++++++- .../RemoteEngineMaintenanceService.java | 27 ++++++++++++++++ .../RemoteEngineMaintenanceFactory.java | 29 +++++++++++++++++ .../EngineMaintenanceController.java | 6 ++++ muyu-modules/muyu-rule_engine/pom.xml | 1 + 20 files changed, 270 insertions(+), 2 deletions(-) create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-client/pom.xml create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteDataSourceFactory.java create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteDataSourceService.java create mode 100644 muyu-modules/muyu-rule_engine/muyu-rule-client/pom.xml create mode 100644 muyu-modules/muyu-rule_engine/muyu-rule-client/src/main/java/com/muyu/rule/client/config/RuleEngineClientConfig.java create mode 100644 muyu-modules/muyu-rule_engine/muyu-rule-client/src/main/java/com/muyu/rule/client/config/RuleEngineClientRunner.java create mode 100644 muyu-modules/muyu-rule_engine/muyu-rule-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/src/main/java/com/muyu/ruleEngine/remote/RemoteEngineMaintenanceService.java create mode 100644 muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/src/main/java/com/muyu/ruleEngine/remote/factory/RemoteEngineMaintenanceFactory.java diff --git a/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java b/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java index 64d7599..e3d49a8 100644 --- a/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java +++ b/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java @@ -20,4 +20,15 @@ public class ServiceNameConstants { * 文件服务的serviceid */ public static final String FILE_SERVICE = "muyu-file"; + + /** + * 数据源的serviceid + */ + public static final String SOURCE_SERVICE="muyu-source"; + + /** + * 规则引擎的serviceid + */ + public static final String RULE_ENGINE_SERVICE="muyu-rule-engine"; + } diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteFileService.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteFileService.java index 29add76..d58c694 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteFileService.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteFileService.java @@ -15,7 +15,9 @@ import org.springframework.web.multipart.MultipartFile; * * @author hufangming */ -@FeignClient(contextId = "remoteFileService", value = ServiceNameConstants.FILE_SERVICE, fallbackFactory = RemoteFileFallbackFactory.class) +@FeignClient(contextId = "remoteFileService", + value = ServiceNameConstants.FILE_SERVICE, + fallbackFactory = RemoteFileFallbackFactory.class) public interface RemoteFileService { /** * 上传文件 diff --git a/muyu-modules/muyu-data-source/muyu-data-source-client/pom.xml b/muyu-modules/muyu-data-source/muyu-data-source-client/pom.xml new file mode 100644 index 0000000..d5a97d0 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-client/pom.xml @@ -0,0 +1,20 @@ + + + 4.0.0 + + com.muyu + muyu-data-source + 3.6.3 + + + muyu-data-source-client + + + 17 + 17 + UTF-8 + + + diff --git a/muyu-modules/muyu-data-source/muyu-data-source-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-modules/muyu-data-source/muyu-data-source-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..3da7c00 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.muyu.data.source.client.config.SourceClientConfig diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DataSource.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DataSource.java index f7ab8b6..6876851 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DataSource.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DataSource.java @@ -88,6 +88,10 @@ public class DataSource extends BaseEntity { @Excel(name = "数据连接参数") @ApiModelProperty(name = "数据连接参数", value = "数据连接参数") private String connectionParam; +/*.*是否初始化*/ + @Excel(name = "是否初始化") + @ApiModelProperty(name = "是否初始化", value = "是否初始化") + private String isInit; /** 状态 'Y'/'N' */ @Excel(name = "状态 'Y'/'N'") @@ -138,6 +142,7 @@ public class DataSource extends BaseEntity { .user(dataSourceSaveReq.getUser()) .password(dataSourceSaveReq.getPassword()) .type(dataSourceSaveReq.getType()) + .initNum(dataSourceSaveReq.getInitNum()) .connectionParam(dataSourceSaveReq.getConnectionParam()) .initNum(dataSourceSaveReq.getInitNum()) .maxNum(dataSourceSaveReq.getMaxNum()) @@ -163,6 +168,7 @@ public class DataSource extends BaseEntity { .databaseName(dataSourceEditReq.getDatabaseName()) .user(dataSourceEditReq.getUser()) .password(dataSourceEditReq.getPassword()) + .initNum(dataSourceEditReq.getInitNum()) .type(dataSourceEditReq.getType()) .connectionParam(dataSourceEditReq.getConnectionParam()) .initNum(dataSourceEditReq.getInitNum()) diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/DataSourceEditReq.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/DataSourceEditReq.java index c19e7f9..3e14b9c 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/DataSourceEditReq.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/DataSourceEditReq.java @@ -1,5 +1,6 @@ package com.muyu.data.source.domain.req; +import com.muyu.common.core.annotation.Excel; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; @@ -43,6 +44,10 @@ public class DataSourceEditReq extends BaseEntity { @ApiModelProperty(name = "主机地址", value = "主机地址") private String host; + /*.*是否初始化*/ + @Excel(name = "是否初始化") + @ApiModelProperty(name = "是否初始化", value = "是否初始化") + private String isInit; /** 端口号 */ @ApiModelProperty(name = "端口号", value = "端口号") private String port; diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/DataSourceSaveReq.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/DataSourceSaveReq.java index acbd9db..f08a1a3 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/DataSourceSaveReq.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/DataSourceSaveReq.java @@ -1,5 +1,6 @@ package com.muyu.data.source.domain.req; +import com.muyu.common.core.annotation.Excel; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; @@ -38,6 +39,11 @@ public class DataSourceSaveReq extends BaseEntity { @ApiModelProperty(name = "数据来源系统名称", value = "数据来源系统名称") private String systemName; + /*.*是否初始化*/ + @Excel(name = "是否初始化") + @ApiModelProperty(name = "是否初始化", value = "是否初始化") + private String isInit; + /** 数据库名称 */ @ApiModelProperty(name = "数据库名称", value = "数据库名称") diff --git a/muyu-modules/muyu-data-source/muyu-data-source-remote/pom.xml b/muyu-modules/muyu-data-source/muyu-data-source-remote/pom.xml index ab202ca..61e83ad 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-remote/pom.xml +++ b/muyu-modules/muyu-data-source/muyu-data-source-remote/pom.xml @@ -17,4 +17,15 @@ UTF-8 + + + com.muyu + muyu-common-core + + + com.muyu + muyu-data-source-common + 3.6.3 + + diff --git a/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteDataSourceFactory.java b/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteDataSourceFactory.java new file mode 100644 index 0000000..d43c6b9 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteDataSourceFactory.java @@ -0,0 +1,28 @@ +package com.muyu.data.source.remote; + +import com.muyu.common.core.domain.Result; +import com.muyu.data.source.domain.DataSource; +import java.util.List; +import org.springframework.cloud.openfeign.FallbackFactory; + +/** + * 熔断 + * + * @author HuFangMing + * @ClassName: RemoteDataSourceFactory + * @createTime: 2024/5/10 20:03 + */ + + +public class RemoteDataSourceFactory implements FallbackFactory { + + @Override + public RemoteDataSourceService create(Throwable cause) { + return new RemoteDataSourceService() { + @Override + public Result> getDataSourceList() { + return Result.error(cause.getMessage()); + } + }; + } +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteDataSourceService.java b/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteDataSourceService.java new file mode 100644 index 0000000..a8e47ac --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-remote/src/main/java/com/muyu/data/source/remote/RemoteDataSourceService.java @@ -0,0 +1,26 @@ +package com.muyu.data.source.remote; + +import com.muyu.common.core.constant.ServiceNameConstants; +import com.muyu.common.core.domain.Result; +import com.muyu.data.source.domain.DataSource; +import java.util.List; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * 数据源远程调用 + * + * @author HuFangMing + * @ClassName: RemoteDataSourceService + * @createTime: 2024/5/10 19:47 + */ +@FeignClient(contextId ="RemoteDataSourceService", + value = ServiceNameConstants.SOURCE_SERVICE, + fallbackFactory = RemoteDataSourceFactory.class, + path = "/data" +) + +public interface RemoteDataSourceService { +@GetMapping("/getDataSourceList") + public Result> getDataSourceList(); +} diff --git a/muyu-modules/muyu-data-source/pom.xml b/muyu-modules/muyu-data-source/pom.xml index 0d2898f..dfe8437 100644 --- a/muyu-modules/muyu-data-source/pom.xml +++ b/muyu-modules/muyu-data-source/pom.xml @@ -17,6 +17,7 @@ muyu-data-source-common muyu-data-source-remote muyu-data-source-server + muyu-data-source-client 17 diff --git a/muyu-modules/muyu-rule_engine/muyu-rule-client/pom.xml b/muyu-modules/muyu-rule_engine/muyu-rule-client/pom.xml new file mode 100644 index 0000000..77eda3c --- /dev/null +++ b/muyu-modules/muyu-rule_engine/muyu-rule-client/pom.xml @@ -0,0 +1,27 @@ + + + 4.0.0 + + com.muyu + muyu-rule_engine + 3.6.3 + + + muyu-rule-client + + + 17 + 17 + UTF-8 + + + + + com.muyu + muyu-rule_engine-remote + 3.6.3 + + + diff --git a/muyu-modules/muyu-rule_engine/muyu-rule-client/src/main/java/com/muyu/rule/client/config/RuleEngineClientConfig.java b/muyu-modules/muyu-rule_engine/muyu-rule-client/src/main/java/com/muyu/rule/client/config/RuleEngineClientConfig.java new file mode 100644 index 0000000..12093a9 --- /dev/null +++ b/muyu-modules/muyu-rule_engine/muyu-rule-client/src/main/java/com/muyu/rule/client/config/RuleEngineClientConfig.java @@ -0,0 +1,18 @@ +package com.muyu.rule.client.config; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Import; + +/** + * 规则引擎客户端配置类 + * + * @author HuFangMing + * @ClassName: RuleEngineClientConfig + * @createTime: 2024/5/10 15:15 + */ + +@ComponentScan +@Import(value = RuleEngineClientRunner.class) +public class RuleEngineClientConfig { + +} diff --git a/muyu-modules/muyu-rule_engine/muyu-rule-client/src/main/java/com/muyu/rule/client/config/RuleEngineClientRunner.java b/muyu-modules/muyu-rule_engine/muyu-rule-client/src/main/java/com/muyu/rule/client/config/RuleEngineClientRunner.java new file mode 100644 index 0000000..f31f897 --- /dev/null +++ b/muyu-modules/muyu-rule_engine/muyu-rule-client/src/main/java/com/muyu/rule/client/config/RuleEngineClientRunner.java @@ -0,0 +1,32 @@ +package com.muyu.rule.client.config; + +import com.muyu.common.core.domain.Result; +import com.muyu.ruleEngine.domain.EngineMaintenance; +import com.muyu.ruleEngine.remote.RemoteEngineMaintenanceService; +import java.util.List; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; + +/** + * 初始化加载 + * + * @author HuFangMing + * @ClassName: RuleEngineClientRunner + * @createTime: 2024/5/10 15:17 + */ + +@Log4j2 +public class RuleEngineClientRunner implements ApplicationRunner { +@Autowired + private RemoteEngineMaintenanceService engineMaintenanceService; + + + @Override + public void run(ApplicationArguments args) throws Exception { + Result> maintenanceList = engineMaintenanceService.getMaintenanceList(); + + log.info(maintenanceList); + } +} diff --git a/muyu-modules/muyu-rule_engine/muyu-rule-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-modules/muyu-rule_engine/muyu-rule-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..80ded10 --- /dev/null +++ b/muyu-modules/muyu-rule_engine/muyu-rule-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.muyu.rule.engine.client.config.RuleEngineClientConfig diff --git a/muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/pom.xml b/muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/pom.xml index b55671c..a3c13e7 100644 --- a/muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/pom.xml +++ b/muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/pom.xml @@ -16,5 +16,15 @@ 17 UTF-8 - + + + com.muyu + muyu-rule_engine-common + 3.6.3 + + + com.muyu + muyu-common-core + + diff --git a/muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/src/main/java/com/muyu/ruleEngine/remote/RemoteEngineMaintenanceService.java b/muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/src/main/java/com/muyu/ruleEngine/remote/RemoteEngineMaintenanceService.java new file mode 100644 index 0000000..c131f36 --- /dev/null +++ b/muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/src/main/java/com/muyu/ruleEngine/remote/RemoteEngineMaintenanceService.java @@ -0,0 +1,27 @@ +package com.muyu.ruleEngine.remote; + +import com.muyu.common.core.domain.Result; +import com.muyu.ruleEngine.domain.EngineMaintenance; +import com.muyu.ruleEngine.remote.factory.RemoteEngineMaintenanceFactory; +import java.util.List; +import org.springframework.cloud.openfeign.FeignClient; +import com.muyu.common.core.constant.ServiceNameConstants; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * 数据源远程调用 + * + * @author HuFangMing + * @ClassName: RemoteEngineMaintenanceService + * @createTime: 2024/5/10 20:44 + */ + +@FeignClient(contextId = "RemoteEngineMaintenanceService", +value = ServiceNameConstants.RULE_ENGINE_SERVICE, + fallbackFactory = RemoteEngineMaintenanceFactory.class, + path = "/maintenance" +) +public interface RemoteEngineMaintenanceService { + @GetMapping("/getMaintenanceList") + public Result> getMaintenanceList(); +} diff --git a/muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/src/main/java/com/muyu/ruleEngine/remote/factory/RemoteEngineMaintenanceFactory.java b/muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/src/main/java/com/muyu/ruleEngine/remote/factory/RemoteEngineMaintenanceFactory.java new file mode 100644 index 0000000..e0f1393 --- /dev/null +++ b/muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/src/main/java/com/muyu/ruleEngine/remote/factory/RemoteEngineMaintenanceFactory.java @@ -0,0 +1,29 @@ +package com.muyu.ruleEngine.remote.factory; + +import com.muyu.common.core.domain.Result; +import com.muyu.ruleEngine.domain.EngineMaintenance; +import com.muyu.ruleEngine.remote.RemoteEngineMaintenanceService; +import java.util.List; +import org.springframework.cloud.openfeign.FallbackFactory; + +/** + * 熔断 + * + * @author HuFangMing + * @ClassName: RemoteEngineMaintenanceFactory + * @createTime: 2024/5/10 20:53 + */ + + +public class RemoteEngineMaintenanceFactory implements FallbackFactory { + + @Override + public RemoteEngineMaintenanceService create(Throwable cause) { + return new RemoteEngineMaintenanceService() { + @Override + public Result> getMaintenanceList() { + return Result.error(cause.getMessage()); + } + }; + } +} diff --git a/muyu-modules/muyu-rule_engine/muyu-rule_engine-server/src/main/java/com/muyu/ruleEngine/controller/EngineMaintenanceController.java b/muyu-modules/muyu-rule_engine/muyu-rule_engine-server/src/main/java/com/muyu/ruleEngine/controller/EngineMaintenanceController.java index 6623524..8efd1ed 100644 --- a/muyu-modules/muyu-rule_engine/muyu-rule_engine-server/src/main/java/com/muyu/ruleEngine/controller/EngineMaintenanceController.java +++ b/muyu-modules/muyu-rule_engine/muyu-rule_engine-server/src/main/java/com/muyu/ruleEngine/controller/EngineMaintenanceController.java @@ -143,4 +143,10 @@ public class EngineMaintenanceController extends BaseController { EngineVersionListResp engineConfigListResp=engineMaintenanceService.getRuleEngineInfo(id); return Result.success(engineConfigListResp); } + +@GetMapping("/maintenance") + public Result> getMaintenanceList(){ + List list=engineMaintenanceService.list(); + return Result.success(list); +} } diff --git a/muyu-modules/muyu-rule_engine/pom.xml b/muyu-modules/muyu-rule_engine/pom.xml index 15f232e..1c16575 100644 --- a/muyu-modules/muyu-rule_engine/pom.xml +++ b/muyu-modules/muyu-rule_engine/pom.xml @@ -15,6 +15,7 @@ muyu-rule_engine-common muyu-rule_engine-remote muyu-rule_engine-server + muyu-rule-client