From d232708d451dbef6bf4e1eb062473e310c24c1d1 Mon Sep 17 00:00:00 2001 From: Jiang Peng <2622360564@qq.com> Date: Sun, 5 May 2024 15:23:15 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E8=A7=84=E5=88=99=E5=BC=95?= =?UTF-8?q?=E6=93=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ClassLoading/CustomClassLoader.java | 53 +++++ .../EngineMaintenanceController.java | 111 +++++++++ .../rule/engine/domain/EngineMaintenance.java | 152 ++++++++++++ .../java/com/muyu/rule/engine/domain/gg.java | 7 + .../mapper/EngineMaintenanceMapper.java | 61 +++++ .../service/IEngineMaintenanceService.java | 67 ++++++ .../impl/EngineMaintenanceServiceImpl.java | 217 ++++++++++++++++++ .../src/main/resources/banner.txt | 2 + .../src/main/resources/bootstrap.yml | 29 +++ .../src/main/resources/logback.xml | 74 ++++++ .../ruleEngine/EngineMaintenanceMapper.xml | 111 +++++++++ 11 files changed, 884 insertions(+) create mode 100644 muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/ClassLoading/CustomClassLoader.java create mode 100644 muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/controller/EngineMaintenanceController.java create mode 100644 muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/domain/EngineMaintenance.java create mode 100644 muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/domain/gg.java create mode 100644 muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/mapper/EngineMaintenanceMapper.java create mode 100644 muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/service/IEngineMaintenanceService.java create mode 100644 muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/service/impl/EngineMaintenanceServiceImpl.java create mode 100644 muyu-modules/muyu-rule-engine/src/main/resources/banner.txt create mode 100644 muyu-modules/muyu-rule-engine/src/main/resources/bootstrap.yml create mode 100644 muyu-modules/muyu-rule-engine/src/main/resources/logback.xml create mode 100644 muyu-modules/muyu-rule-engine/src/main/resources/mapper/ruleEngine/EngineMaintenanceMapper.xml diff --git a/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/ClassLoading/CustomClassLoader.java b/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/ClassLoading/CustomClassLoader.java new file mode 100644 index 0000000..fe3d92c --- /dev/null +++ b/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/ClassLoading/CustomClassLoader.java @@ -0,0 +1,53 @@ +package com.muyu.rule.engine.ClassLoading; + +import java.io.*; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLClassLoader; + +public class CustomClassLoader extends ClassLoader { +// public CustomClassLoader(ClassLoader parent, String classPath) throws MalformedURLException { +// super(new URL[]{new URL("file:" + classPath)},parent); +// } +// +// @Override +// protected Class findClass(String name) throws ClassNotFoundException { +// try { +// byte[] classBytes = loadClassData(name); +// return defineClass(name, classBytes, 0, classBytes.length); +// } catch (IOException e) { +// throw new ClassNotFoundException(name, e); +// } +// } +// +// private byte[] loadClassData(String className) throws IOException { +// String fileName = className.replace('.', File.separatorChar) + ".class"; +// File classFile = new File(getPathForResource(fileName)); +// if (!classFile.exists()) { +// throw new FileNotFoundException("Class file not found: " + classFile.getAbsolutePath()); +// } +// +// try (InputStream in = new FileInputStream(classFile)) { +// ByteArrayOutputStream out = new ByteArrayOutputStream(); +// byte[] buffer = new byte[4096]; +// int n; +// while ((n = in.read(buffer)) != -1) { +// out.write(buffer, 0, n); +// } +// return out.toByteArray(); +// } +// } +// +// private String getPathForResource(String resource) { +// URL url = super.getResource(resource); +// if (url == null) { +// throw new IllegalArgumentException("Resource not found: " + resource); +// } +// return url.getPath(); +// } + + public Class defineClassFromBytes(String name, byte[] data) { + return defineClass(name, data, 0, data.length); + } + +} diff --git a/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/controller/EngineMaintenanceController.java b/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/controller/EngineMaintenanceController.java new file mode 100644 index 0000000..8c3f122 --- /dev/null +++ b/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/controller/EngineMaintenanceController.java @@ -0,0 +1,111 @@ +package com.muyu.rule.engine.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import com.muyu.common.log.annotation.Log; +import com.muyu.common.log.enums.BusinessType; +import com.muyu.common.security.annotation.RequiresPermissions; +import com.muyu.rule.engine.domain.EngineMaintenance; +import com.muyu.rule.engine.service.IEngineMaintenanceService; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.poi.ExcelUtil; +import com.muyu.common.core.web.page.TableDataInfo; + +/** + * 【请填写功能名称】Controller + * + * @author ruoyi + * @date 2024-05-02 + */ +@RestController +@RequestMapping("/maintenance") +public class EngineMaintenanceController extends BaseController +{ + @Autowired + private IEngineMaintenanceService engineMaintenanceService; + + /** + * 查询【请填写功能名称】列表 + */ + @GetMapping("/list") + public Result> list(EngineMaintenance engineMaintenance) + { + startPage(); + List list = engineMaintenanceService.selectEngineMaintenanceList(engineMaintenance); + return getDataTable(list); + } + + /** + * 导出【请填写功能名称】列表 + */ + @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, EngineMaintenance engineMaintenance) + { + List list = engineMaintenanceService.selectEngineMaintenanceList(engineMaintenance); + ExcelUtil util = new ExcelUtil(EngineMaintenance.class); + util.exportExcel(response, list, "【请填写功能名称】数据"); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @GetMapping(value = "/{id}") + public Result getInfo(@PathVariable("id") Long id) + { + return success(engineMaintenanceService.selectEngineMaintenanceById(id)); + } + + /** + * 测试方法 + * @param code + * @return + */ + @GetMapping(value = "/TestMethod") + public Result testMethod(@RequestParam("code") String code) + { + return engineMaintenanceService.testMethod(code); + } + + /** + * 新增【请填写功能名称】 + */ + @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT) + @PostMapping + public Result add(@RequestBody EngineMaintenance engineMaintenance) + { + return toAjax(engineMaintenanceService.insertEngineMaintenance(engineMaintenance)); + } + + /** + * 初始化规则引擎类 + */ + @PostMapping("/InitializeRuleEngine") + public Result initializeRuleEngine(@RequestBody EngineMaintenance engineMaintenance) + { + return engineMaintenanceService.initializeRuleEngine(engineMaintenance); + } + + /** + * 修改【请填写功能名称】 + */ + @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE) + @PutMapping + public Result edit(@RequestBody EngineMaintenance engineMaintenance) + { + return toAjax(engineMaintenanceService.updateEngineMaintenance(engineMaintenance)); + } + + /** + * 删除【请填写功能名称】 + */ + @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public Result remove(@PathVariable Long[] ids) + { + return toAjax(engineMaintenanceService.deleteEngineMaintenanceByIds(ids)); + } +} diff --git a/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/domain/EngineMaintenance.java b/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/domain/EngineMaintenance.java new file mode 100644 index 0000000..809958f --- /dev/null +++ b/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/domain/EngineMaintenance.java @@ -0,0 +1,152 @@ +package com.muyu.rule.engine.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.web.domain.BaseEntity; + +/** + * 【请填写功能名称】对象 engine_maintenance + * + * @author ruoyi + * @date 2024-05-02 + */ +public class EngineMaintenance extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 规则引擎名称 */ + @Excel(name = "规则引擎名称") + private String name; + + /** 规则引擎类型 */ + @Excel(name = "规则引擎类型") + private String type; + + /** 规则引擎激活状态 */ + @Excel(name = "规则引擎激活状态") + private String isActivate; + + /** 规则引擎状态 */ + @Excel(name = "规则引擎状态") + private String status; + + /** 规则引擎描述 */ + @Excel(name = "规则引擎描述") + private String description; + + /** 规则引擎编码 */ + @Excel(name = "规则引擎编码") + private String code; + + /** 规则引擎级别 */ + @Excel(name = "规则引擎级别") + private String level; + + /** 编辑代码文本 */ + @Excel(name = "编辑代码文本") + private String codeText; + + public String getCodeText() { + return codeText; + } + + public void setCodeText(String codeText) { + this.codeText = codeText; + } + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setName(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + public void setType(String type) + { + this.type = type; + } + + public String getType() + { + return type; + } + public void setIsActivate(String isActivate) + { + this.isActivate = isActivate; + } + + public String getIsActivate() + { + return isActivate; + } + public void setStatus(String status) + { + this.status = status; + } + + public String getStatus() + { + return status; + } + public void setDescription(String description) + { + this.description = description; + } + + public String getDescription() + { + return description; + } + public void setCode(String code) + { + this.code = code; + } + + public String getCode() + { + return code; + } + public void setLevel(String level) + { + this.level = level; + } + + public String getLevel() + { + return level; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("name", getName()) + .append("type", getType()) + .append("isActivate", getIsActivate()) + .append("status", getStatus()) + .append("description", getDescription()) + .append("code", getCode()) + .append("level", getLevel()) + .append("codeText", getCodeText()) + .append("remark", getRemark()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/domain/gg.java b/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/domain/gg.java new file mode 100644 index 0000000..aad3525 --- /dev/null +++ b/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/domain/gg.java @@ -0,0 +1,7 @@ +package com.muyu.rule.engine.domain; + +public class gg { + public void test() { + System.out.println("444444"); + } +} diff --git a/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/mapper/EngineMaintenanceMapper.java b/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/mapper/EngineMaintenanceMapper.java new file mode 100644 index 0000000..8b99184 --- /dev/null +++ b/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/mapper/EngineMaintenanceMapper.java @@ -0,0 +1,61 @@ +package com.muyu.rule.engine.mapper; + +import java.util.List; +import com.muyu.rule.engine.domain.EngineMaintenance; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2024-05-02 + */ +public interface EngineMaintenanceMapper +{ + /** + * 查询【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public EngineMaintenance selectEngineMaintenanceById(Long id); + + /** + * 查询【请填写功能名称】列表 + * + * @param engineMaintenance 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectEngineMaintenanceList(EngineMaintenance engineMaintenance); + + /** + * 新增【请填写功能名称】 + * + * @param engineMaintenance 【请填写功能名称】 + * @return 结果 + */ + public int insertEngineMaintenance(EngineMaintenance engineMaintenance); + + /** + * 修改【请填写功能名称】 + * + * @param engineMaintenance 【请填写功能名称】 + * @return 结果 + */ + public int updateEngineMaintenance(EngineMaintenance engineMaintenance); + + /** + * 删除【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 结果 + */ + public int deleteEngineMaintenanceById(Long id); + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteEngineMaintenanceByIds(Long[] ids); +} diff --git a/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/service/IEngineMaintenanceService.java b/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/service/IEngineMaintenanceService.java new file mode 100644 index 0000000..f757a96 --- /dev/null +++ b/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/service/IEngineMaintenanceService.java @@ -0,0 +1,67 @@ +package com.muyu.rule.engine.service; + +import java.util.List; + +import com.muyu.common.core.domain.Result; +import com.muyu.rule.engine.domain.EngineMaintenance; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2024-05-02 + */ +public interface IEngineMaintenanceService +{ + /** + * 查询【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public EngineMaintenance selectEngineMaintenanceById(Long id); + + /** + * 查询【请填写功能名称】列表 + * + * @param engineMaintenance 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectEngineMaintenanceList(EngineMaintenance engineMaintenance); + + /** + * 新增【请填写功能名称】 + * + * @param engineMaintenance 【请填写功能名称】 + * @return 结果 + */ + public int insertEngineMaintenance(EngineMaintenance engineMaintenance); + + /** + * 修改【请填写功能名称】 + * + * @param engineMaintenance 【请填写功能名称】 + * @return 结果 + */ + public int updateEngineMaintenance(EngineMaintenance engineMaintenance); + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的【请填写功能名称】主键集合 + * @return 结果 + */ + public int deleteEngineMaintenanceByIds(Long[] ids); + + /** + * 删除【请填写功能名称】信息 + * + * @param id 【请填写功能名称】主键 + * @return 结果 + */ + public int deleteEngineMaintenanceById(Long id); + + Result initializeRuleEngine(EngineMaintenance engineMaintenance); + + Result testMethod(String code); +} diff --git a/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/service/impl/EngineMaintenanceServiceImpl.java b/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/service/impl/EngineMaintenanceServiceImpl.java new file mode 100644 index 0000000..fab2ece --- /dev/null +++ b/muyu-modules/muyu-rule-engine/src/main/java/com/muyu/rule/engine/service/impl/EngineMaintenanceServiceImpl.java @@ -0,0 +1,217 @@ +package com.muyu.rule.engine.service.impl; + +import java.io.File; +import java.io.FileWriter; +import java.lang.reflect.Method; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Arrays; +import java.util.List; + +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.DateUtils; +import com.muyu.common.security.utils.SecurityUtils; +import com.muyu.rule.engine.ClassLoading.CustomClassLoader; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.muyu.rule.engine.mapper.EngineMaintenanceMapper; +import com.muyu.rule.engine.domain.EngineMaintenance; +import com.muyu.rule.engine.service.IEngineMaintenanceService; + +import javax.tools.JavaCompiler; +import javax.tools.StandardJavaFileManager; +import javax.tools.ToolProvider; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2024-05-02 + */ +@Service +@Log4j2 +public class EngineMaintenanceServiceImpl implements IEngineMaintenanceService +{ + @Autowired + private EngineMaintenanceMapper engineMaintenanceMapper; + + /** + * 查询【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + @Override + public EngineMaintenance selectEngineMaintenanceById(Long id) + { + return engineMaintenanceMapper.selectEngineMaintenanceById(id); + } + + /** + * 查询【请填写功能名称】列表 + * + * @param engineMaintenance 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List selectEngineMaintenanceList(EngineMaintenance engineMaintenance) + { + return engineMaintenanceMapper.selectEngineMaintenanceList(engineMaintenance); + } + + /** + * 新增【请填写功能名称】 + * + * @param engineMaintenance 【请填写功能名称】 + * @return 结果 + */ + @Override + public int insertEngineMaintenance(EngineMaintenance engineMaintenance) + { + String className = "Rule"+Character.toUpperCase(engineMaintenance.getCode().charAt(0)) + engineMaintenance.getCode().substring(1)+"Class"; + engineMaintenance.setCreateTime(DateUtils.getNowDate()); + engineMaintenance.setCreateBy(SecurityUtils.getUsername()); + engineMaintenance.setCodeText("package com.muyu.rule.engine.domain;\n\n\n"+ + "public class " + className + " {\n" + + "}"); + return engineMaintenanceMapper.insertEngineMaintenance(engineMaintenance); + } + + /** + * 修改【请填写功能名称】 + * + * @param engineMaintenance 【请填写功能名称】 + * @return 结果 + */ + @Override + public int updateEngineMaintenance(EngineMaintenance engineMaintenance) + { + engineMaintenance.setUpdateTime(DateUtils.getNowDate()); + engineMaintenance.setUpdateBy(SecurityUtils.getUsername()); + return engineMaintenanceMapper.updateEngineMaintenance(engineMaintenance); + } + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int deleteEngineMaintenanceByIds(Long[] ids) + { + return engineMaintenanceMapper.deleteEngineMaintenanceByIds(ids); + } + + /** + * 删除【请填写功能名称】信息 + * + * @param id 【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int deleteEngineMaintenanceById(Long id) + { + return engineMaintenanceMapper.deleteEngineMaintenanceById(id); + } + + @Override + public Result initializeRuleEngine(EngineMaintenance engineMaintenance) { + try { + //创建源文件 + String className = "Rule"+Character.toUpperCase(engineMaintenance.getCode().charAt(0)) + engineMaintenance.getCode().substring(1)+"Class"; + // 源文件路径和名称 + String javaPath = "D:\\work\\2108A\\sxh\\muyu-modules\\muyu-rule-engine\\src\\main\\java\\com\\muyu\\rule\\engine\\domain\\"; + + String classPath = "D:\\work\\2108A\\sxh\\muyu-modules\\muyu-rule-engine\\target\\classes\\"; + String filename = javaPath+className+".java"; + File file = new File(filename); + // 确保源文件所在的目录存在 + File fileParent = file.getParentFile(); + + if (!fileParent.exists()) { + fileParent.mkdir(); + } + // 确保源文件存在,如果已存在则先删除再创建 + if (file.exists()) { + file.delete(); // 删除存在的文件 + } + file.createNewFile(); + // 将源代码写入文件 + FileWriter fw = new FileWriter(file); + fw.write(engineMaintenance.getCodeText()); + fw.flush(); + fw.close(); + // 使用JavaCompiler 编译java文件 + // 获取系统Java编译器 + JavaCompiler jc = ToolProvider.getSystemJavaCompiler(); + // 获取标准文件管理器 + StandardJavaFileManager fileManager = jc.getStandardFileManager(null, null, null); + // 获取要编译的文件对象 + Iterable fileObjects = fileManager.getJavaFileObjects(filename); + // 设置编译选项,指定输出目录 + List options = Arrays.asList("-d", classPath); + // 创建编译任务 + JavaCompiler.CompilationTask cTask = jc.getTask(null, fileManager, null, options, null, fileObjects); + // 执行编译任务 + Boolean call = cTask.call(); + // 关闭文件管理器 + fileManager.close(); + if (call){ + return Result.success("初始化成功"); + } + }catch (Exception e){ + log.error(e.getMessage()); + Result.error("初始化失败"); + } + return Result.error("初始化失败"); + } + + @Override + public Result testMethod(String code) { + String className = "com.muyu.rule.engine.domain.Rule"+Character.toUpperCase(code.charAt(0)) + code.substring(1)+"Class"; + String classPath = "D:\\work\\2108A\\sxh\\muyu-modules\\muyu-rule-engine\\target\\classes\\"+className.replace(".", "\\")+".class"; + try { + // 读取类文件 + byte[] classData = Files.readAllBytes(Paths.get(classPath)); + CustomClassLoader customClassLoader = new CustomClassLoader(); + Class aClass = customClassLoader.defineClassFromBytes(className,classData); + // 实例化类 + Object obj = aClass.newInstance(); + //获取类中所有方法 + Method[] methods = aClass.getDeclaredMethods(); + for (Method method : methods) { + method.invoke(obj); + } + customClassLoader = null; + } catch (Exception e) { + log.error(e.getMessage()); + Result.error("测试失败"); + } + + return Result.success("测试成功"); + } + + public String getTypeCodeText(EngineMaintenance engineMaintenance) { + String className =Character.toUpperCase(engineMaintenance.getCode().charAt(0)) + engineMaintenance.getCode().substring(1); + switch (engineMaintenance.getType()) { + case "data-set": + className = className+"DataSetContext"; + return "package com.muyu.rule.engine.domain;\n" + + "\n" + + "public class "+className+" {\n" + + "\n" + + " private final RecordContext recordContext;\n" + + "\n" + + " public DataSetContext (RecordContext recordContext) {\n" + + " this.recordContext = recordContext;\n" + + " }\n" + + "}\n"; + case "data-record": + return "记录"; + default: + return "数据字段"; + } + } +} diff --git a/muyu-modules/muyu-rule-engine/src/main/resources/banner.txt b/muyu-modules/muyu-rule-engine/src/main/resources/banner.txt new file mode 100644 index 0000000..0dd5eee --- /dev/null +++ b/muyu-modules/muyu-rule-engine/src/main/resources/banner.txt @@ -0,0 +1,2 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} diff --git a/muyu-modules/muyu-rule-engine/src/main/resources/bootstrap.yml b/muyu-modules/muyu-rule-engine/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..dd77092 --- /dev/null +++ b/muyu-modules/muyu-rule-engine/src/main/resources/bootstrap.yml @@ -0,0 +1,29 @@ +# Tomcat +server: + port: 9211 + +# Spring +spring: + application: + # 应用名称 + name: muyu-ruleEngine + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 101.34.248.9:8848 + config: + # 配置中心地址 + server-addr: 101.34.248.9:8848 + namespace: b9d88e07-8713-4ccd-8e98-d7c19f40fe74 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +logging: + level: + com.muyu.rule.engine.mapper: DEBUG diff --git a/muyu-modules/muyu-rule-engine/src/main/resources/logback.xml b/muyu-modules/muyu-rule-engine/src/main/resources/logback.xml new file mode 100644 index 0000000..aa340cd --- /dev/null +++ b/muyu-modules/muyu-rule-engine/src/main/resources/logback.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + diff --git a/muyu-modules/muyu-rule-engine/src/main/resources/mapper/ruleEngine/EngineMaintenanceMapper.xml b/muyu-modules/muyu-rule-engine/src/main/resources/mapper/ruleEngine/EngineMaintenanceMapper.xml new file mode 100644 index 0000000..71bb18b --- /dev/null +++ b/muyu-modules/muyu-rule-engine/src/main/resources/mapper/ruleEngine/EngineMaintenanceMapper.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + select id, name, type, is_activate, status, description, code, level,code_text, remark, create_by, create_time, update_by, update_time from engine_maintenance + + + + + + + + insert into engine_maintenance + + name, + type, + is_activate, + status, + description, + code, + level, + code_text, + remark, + create_by, + create_time, + update_by, + update_time, + + + #{name}, + #{type}, + #{isActivate}, + #{status}, + #{description}, + #{code}, + #{level}, + #{codeText}, + #{remark}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update engine_maintenance + + name = #{name}, + type = #{type}, + is_activate = #{isActivate}, + status = #{status}, + description = #{description}, + code = #{code}, + level = #{level}, + code_text = #{codeText}, + remark = #{remark}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from engine_maintenance where id = #{id} + + + + delete from engine_maintenance where id in + + #{id} + + +