+zM^!6)zeF?-x#J$
g%H$%)afL^^oLBK2H698Sk-0_P!j{EDcGC9U-|<3u-T(jq
literal 0
HcmV?d00001
diff --git a/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/java/com/muyu/engine/custom/null_ss.class b/muyu-modules/muyu-rule-engine/muyu-rule-engine-common/src/main/java/com/muyu/engine/java/com/muyu/engine/custom/null_ss.class
new file mode 100644
index 0000000000000000000000000000000000000000..6fde98f1f5762ed12bfbdf70f9c8b74503bcd43c
GIT binary patch
literal 555
zcmZWm+b#o96kVq+(@v+?d-Mo-s`-+KRf|g#jJ@0k_J*1deF--FM_tyR#(cAe$(}(6N;cColPF`
zo#0e@TXB`4cg6MHXpJFRsUDa}BV)j{kcGuC^_N4aFd|xCdEQAFGNhX_I^dp?3`3P_
zt;H|6<8i;~>@`|aM9XRPF~CF~0|smhgBW7S|FqSkuIo2x33;x#M}&pSf0F8P8p8}J
zJ=MSnL;3GoTtsf*JL|FAbVI?rrzVO>5^95vW$3Sw1iPx;kllUW@TiiJmr^K=W60Gb
zF3xs%Cw?<9{cFk3TNuoGpt?eCyBcnNX|SY^L5Xxr&^LfA)B2Mgqim8q34or3d$3yy
z7{bpqiq*a0jEd_=19+Tf9U64J^B$gKK0TQ9QcG=(A=@#7s6)6z6HA
ZP5B_^P@the28lO}8<;X^$V}W``T+X2dFB8B
literal 0
HcmV?d00001
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 a326fff..1d0c65f 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
@@ -17,4 +17,12 @@
UTF-8
+
+
+ com.muyu
+ muyu-rule-engine-common
+ 3.6.3
+
+
+
diff --git a/muyu-modules/muyu-rule-engine/muyu-rule-engine-remote/src/main/java/com/muyu/engine/remote/RuleEngineManangerService.java b/muyu-modules/muyu-rule-engine/muyu-rule-engine-remote/src/main/java/com/muyu/engine/remote/RuleEngineManangerService.java
new file mode 100644
index 0000000..e5773db
--- /dev/null
+++ b/muyu-modules/muyu-rule-engine/muyu-rule-engine-remote/src/main/java/com/muyu/engine/remote/RuleEngineManangerService.java
@@ -0,0 +1,30 @@
+package com.muyu.engine.remote;
+
+import com.muyu.common.core.constant.ServiceNameConstants;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.core.web.page.TableDataInfo;
+import com.muyu.engine.domain.RuleEngine;
+import com.muyu.engine.domain.req.RuleEngineQueryReq;
+import com.muyu.engine.remote.factory.RuleEngineManangerServiceFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+
+import java.util.List;
+
+/**
+ * RuleEngineManangerService
+ *
+ * @author LeYang
+ * on 2024/5/9
+ */
+@FeignClient(
+ contextId = "RuleEngineManangerService",
+ value = ServiceNameConstants.MUYU_RULE_ENGINE,
+ fallbackFactory = RuleEngineManangerServiceFactory.class,
+ path = "/engine"
+)
+public interface RuleEngineManangerService {
+ @PostMapping("/selectRuleEngine")
+ public Result> selectRuleEngine();
+}
diff --git a/muyu-modules/muyu-rule-engine/muyu-rule-engine-remote/src/main/java/com/muyu/engine/remote/factory/RuleEngineManangerServiceFactory.java b/muyu-modules/muyu-rule-engine/muyu-rule-engine-remote/src/main/java/com/muyu/engine/remote/factory/RuleEngineManangerServiceFactory.java
new file mode 100644
index 0000000..c90d274
--- /dev/null
+++ b/muyu-modules/muyu-rule-engine/muyu-rule-engine-remote/src/main/java/com/muyu/engine/remote/factory/RuleEngineManangerServiceFactory.java
@@ -0,0 +1,30 @@
+package com.muyu.engine.remote.factory;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.core.web.page.TableDataInfo;
+import com.muyu.engine.domain.RuleEngine;
+import com.muyu.engine.domain.req.RuleEngineQueryReq;
+import com.muyu.engine.remote.RuleEngineManangerService;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 用户服务器降级处理 RuleEngineManangerServiceFactory
+ *
+ * @author LeYang
+ * on 2024/5/9
+ */
+@Component
+public class RuleEngineManangerServiceFactory implements FallbackFactory {
+ @Override
+ public RuleEngineManangerService create(Throwable cause) {
+ return new RuleEngineManangerService() {
+ @Override
+ public Result> selectRuleEngine() {
+ return Result.error(cause.getMessage());
+ }
+ };
+ }
+}
diff --git a/muyu-modules/muyu-rule-engine/muyu-rule-engine-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-modules/muyu-rule-engine/muyu-rule-engine-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 0000000..78bbac9
--- /dev/null
+++ b/muyu-modules/muyu-rule-engine/muyu-rule-engine-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.muyu.engine.remote.factory.RuleEngineManangerServiceFactory
diff --git a/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/RuleEngineApplication.java b/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/RuleEngineApplication.java
index 4c97ea7..1f46539 100644
--- a/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/RuleEngineApplication.java
+++ b/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/RuleEngineApplication.java
@@ -18,11 +18,11 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class RuleEngineApplication {
public static void main(String[] args) {
-
SpringApplication.run(RuleEngineApplication.class);
}
+
}
diff --git a/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/controller/RuleEngineController.java b/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/controller/RuleEngineController.java
index a2822f7..87b893c 100644
--- a/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/controller/RuleEngineController.java
+++ b/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/controller/RuleEngineController.java
@@ -1,32 +1,27 @@
package com.muyu.engine.controller;
-import java.io.IOException;
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-
-import com.muyu.engine.domain.RuleEngines;
-import io.swagger.annotations.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
+import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.engine.domain.RuleEngine;
+import com.muyu.engine.domain.RuleEngines;
+import com.muyu.engine.domain.req.RuleEngineEditReq;
import com.muyu.engine.domain.req.RuleEngineQueryReq;
import com.muyu.engine.domain.req.RuleEngineSaveReq;
-import com.muyu.engine.domain.req.RuleEngineEditReq;
import com.muyu.engine.service.RuleEngineService;
-import com.muyu.common.core.web.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
/**
* 规则引擎Controller
@@ -145,4 +140,10 @@ public class RuleEngineController extends BaseController {
ruleEngineService.updateRuleEngineVersionStates(ruleEngine);
return Result.success("引擎状态操作成功");
}
+
+ @PostMapping("/selectRuleEngine")
+ public Result> selectRuleEngine(){
+ List list = ruleEngineService.list();
+ return Result.success(list);
+ }
}
diff --git a/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/service/impl/RuleEngineServiceImpl.java b/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/service/impl/RuleEngineServiceImpl.java
index f3db0ca..6363547 100644
--- a/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/service/impl/RuleEngineServiceImpl.java
+++ b/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/service/impl/RuleEngineServiceImpl.java
@@ -1,5 +1,16 @@
package com.muyu.engine.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.core.utils.ObjUtils;
+import com.muyu.engine.domain.RuleEngine;
+import com.muyu.engine.domain.RuleEngines;
+import com.muyu.engine.mapper.RuleEngineMapper;
+import com.muyu.engine.service.RuleEngineService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
@@ -8,18 +19,6 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
-import java.util.Map;
-
-import com.muyu.common.core.domain.Result;
-import com.muyu.common.core.utils.ObjUtils;
-import com.muyu.engine.domain.RuleEngines;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-import com.muyu.engine.mapper.RuleEngineMapper;
-import com.muyu.engine.domain.RuleEngine;
-import com.muyu.engine.service.RuleEngineService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
/**
* 规则引擎Service业务层处理
diff --git a/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/service/impl/RuleEngineVersionServiceImpl.java b/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/service/impl/RuleEngineVersionServiceImpl.java
index 6bbe9f8..1e4db8a 100644
--- a/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/service/impl/RuleEngineVersionServiceImpl.java
+++ b/muyu-modules/muyu-rule-engine/muyu-rule-engine-server/src/main/java/com/muyu/engine/service/impl/RuleEngineVersionServiceImpl.java
@@ -2,11 +2,9 @@ package com.muyu.engine.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.muyu.common.core.domain.Result;
import com.muyu.engine.domain.RuleEngine;
import com.muyu.engine.domain.rule_engine_version.RuleEngineList;
import com.muyu.engine.domain.rule_engine_version.RuleEngineVersion;
-import com.muyu.engine.mapper.RuleEngineMapper;
import com.muyu.engine.mapper.RuleEngineVersionMapper;
import com.muyu.engine.service.RuleEngineService;
import com.muyu.engine.service.RuleEngineVersionService;
@@ -15,14 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.tools.*;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
import java.net.URI;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
@@ -103,7 +94,7 @@ private RuleEngineService ruleEngineService;
}
//全局变量
- public static String url="D:\\work\\zglkh\\cloud-server\\muyu-modules\\muyu-rule-engine\\muyu-rule-engine-common\\src\\main\\java\\com\\muyu\\engine\\custom\\";
+// public static String url="D:\\work\\zglkh\\cloud-server\\muyu-modules\\muyu-rule-engine\\muyu-rule-engine-common\\src\\main\\java\\com\\muyu\\engine\\custom\\";
@Override
public void RuleEngineVersionAdd(RuleEngineVersion ruleEngineVersion) {
this.save(ruleEngineVersion);
@@ -118,110 +109,110 @@ private RuleEngineService ruleEngineService;
.build();
this.update(build,new LambdaQueryWrapper().eq(RuleEngineVersion::getId,ruleEngineVersion.getId()));
this.writeCodeAdd(ruleEngineVersion);
- log.info("编码保存成功",build);
-
+ log.info("编码保存成功");
}
- //生产源文件
- public void writeCodeAdd(RuleEngineVersion ruleEngineVersion) {
- try{
- //文件路径
- String fileName =ruleEngineVersion.getVersionCode()+".java";
- String filePath = url+fileName;
-
- //编写java文件
- ProcessBuilder pbCompiler = new ProcessBuilder("javac", fileName);
- pbCompiler.directory(Paths.get(url).toFile());
- pbCompiler.redirectErrorStream(true);
-
- //将字符串写入文件中
- Path path = Paths.get(filePath);
- Files.write(path,ruleEngineVersion.getCodeIng().getBytes(StandardCharsets.UTF_8));
-
- // 编译
- Process process = pbCompiler.start();
-
- BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
- // 等待编译结果
- int exitCode = process.waitFor();
-
- if (exitCode == 0) {
- System.out.println("编译成功");
- } else {
- System.out.println("编译失败");
- }
-
- //编译成class文件
- ProcessBuilder processBuilder = new ProcessBuilder("java", ruleEngineVersion.getWriteCode());
- processBuilder.directory(Paths.get(url).toFile());
- processBuilder.redirectErrorStream(true);
- Process Runprocess = processBuilder.start();
- BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(Runprocess.getInputStream()));
- String str ;
- while ((str = bufferedReader.readLine()) != null) {
- System.out.println(str);
- break;
- }
- Runprocess.waitFor();
- int i = Runprocess.exitValue();
- if (i==0){
- System.out.println("运行成功");
- }else {
- System.out.println("运行失败");
- }
- }catch (Exception e){
- throw new RuntimeException();
- }
-
- }
-
-// private String url ="D:\\work\\zglkh\\cloud-server\\muyu-modules\\muyu-rule-engine\\muyu-rule-engine-common\\src\\main\\java\\com\\muyu\\engine\\java";
-//
// //生产源文件
// public void writeCodeAdd(RuleEngineVersion ruleEngineVersion) {
-// try {
+// try{
+// //文件路径
+// String fileName =ruleEngineVersion.getVersionCode()+".java";
+// String filePath = url+fileName;
//
-// String className = ruleEngineVersion.getVersionCode();
-// String content = ruleEngineVersion.getCodeIng();
-// // 指定输出目录
-// JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
+// //编写java文件
+// ProcessBuilder pbCompiler = new ProcessBuilder("javac", fileName);
+// pbCompiler.directory(Paths.get(url).toFile());
+// pbCompiler.redirectErrorStream(true);
+// System.out.println("Writing to file: " + filePath);
+// //将字符串写入文件中
+// Path path = Paths.get(filePath); Files.write(path,ruleEngineVersion.getCodeIng().getBytes(StandardCharsets.UTF_8));
//
-// try (StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null)) {
-// // 创建一个内存中的源文件
-// JavaFileObject sourceFileObject = new JavaSourceFromString(className, content);
//
-// // 编译选项
-// Iterable options = Arrays.asList("-d", url);
-// // 编译源代码
-// JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, null, options, null, Arrays.asList(sourceFileObject));
-// boolean success = task.call();
+// // 编译
+// Process process = pbCompiler.start();
//
-// if (success) {
+// BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
+// // 等待编译结果
+// int exitCode = process.waitFor();
+//
+// if (exitCode == 0) {
// System.out.println("编译成功");
// } else {
// System.out.println("编译失败");
// }
//
-//
-// } catch (Exception e) {
-// e.printStackTrace();
+// //编译成class文件
+// ProcessBuilder processBuilder = new ProcessBuilder("java", ruleEngineVersion.getWriteCode());
+// processBuilder.directory(Paths.get(url).toFile());
+// processBuilder.redirectErrorStream(true);
+// Process Runprocess = processBuilder.start();
+// BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(Runprocess.getInputStream()));
+// String str ;
+// while ((str = bufferedReader.readLine()) != null) {
+// System.out.println(str);
+// break;
// }
-// }catch (Exception e) {
-// e.printStackTrace();
+// Runprocess.waitFor();
+// int i = Runprocess.exitValue();
+// if (i==0){
+// System.out.println("运行成功");
+// }else {
+// System.out.println("运行失败");
+// }
+// }catch (Exception e){
+// throw new RuntimeException();
// }
//
// }
-// static class JavaSourceFromString extends SimpleJavaFileObject {
-// final String code;
-//
-//
-// JavaSourceFromString(String name, String code) {
-// super(URI.create("string:///" + name.replace('.', '/') + Kind.SOURCE.extension), Kind.SOURCE);
-// this.code = code;
-// }
-// @Override
-// public CharSequence getCharContent(boolean ignoreEncodingErrors) {
-// return code;
-// }
-// }
+
+ private String url ="D:\\work\\zglkh\\cloud-server\\muyu-modules\\muyu-rule-engine\\muyu-rule-engine-common\\src\\main\\java\\com\\muyu\\engine\\java";
+
+ //生产源文件
+ public void writeCodeAdd(RuleEngineVersion ruleEngineVersion) {
+ try {
+ //编译
+ String className = ruleEngineVersion.getVersionCode();
+ //编译内容
+ String content = ruleEngineVersion.getCodeIng();
+ // 指定输出目录
+ JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
+ // 获取编译器
+ try (StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null)) {
+ // 创建一个内存中的源文件
+ JavaFileObject sourceFileObject = new JavaSourceFromString(className, content);
+
+ // 编译选项
+ Iterable options = Arrays.asList("-d", url);
+ // 编译源代码
+ JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, null, options, null, Arrays.asList(sourceFileObject));
+ boolean success = task.call();
+
+ if (success) {
+ System.out.println("编译成功");
+ } else {
+ System.out.println("编译失败");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+ //内存中的源文件
+ static class JavaSourceFromString extends SimpleJavaFileObject {
+ final String code;
+ // 构造方法
+ JavaSourceFromString(String name, String code) {
+ // URI
+ super(URI.create("string:///" + name.replace('.', '/') + Kind.SOURCE.extension), Kind.SOURCE);
+ this.code = code;
+ }
+ // 返回源代码
+ @Override
+ public CharSequence getCharContent(boolean ignoreEncodingErrors) {
+ return code;
+ }
+ }
}
diff --git a/muyu-modules/muyu-unit/pom.xml b/muyu-modules/muyu-unit/pom.xml
index 8feb23b..1d71d9a 100644
--- a/muyu-modules/muyu-unit/pom.xml
+++ b/muyu-modules/muyu-unit/pom.xml
@@ -18,9 +18,14 @@
- org.postgresql
- postgresql
- 42.2.18
+ com.muyu
+ muyu-rule-engine-clinet
+ 3.6.3
+
+
+ com.muyu
+ muyu-kvt-client
+ 3.6.3