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