From e4bbcea39178cb8df1ef563f633d024541830437 Mon Sep 17 00:00:00 2001 From: yuan <1363654894@qq.com> Date: Fri, 30 Aug 2024 11:38:24 +0800 Subject: [PATCH] =?UTF-8?q?feat():=E5=A2=9E=E5=8A=A0=E8=A7=84=E5=88=99?= =?UTF-8?q?=E7=AD=96=E7=95=A5=E4=B8=8E=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/domain/req/RuleDataAddReq.java | 2 +- cloud-rule-engine/pom.xml | 94 +++++++++++++++++++ .../com/muyu/constant/GenerateConstant.java | 75 +++++++++++++++ .../src/main/java/com/muyu/engine/Main.java | 3 +- .../com/muyu/engine/basic/BasicEngine.java | 1 + .../abstracts/DataEngineRecordActuator.java | 35 +++++++ .../abstracts/DataEngineRowActuator.java | 1 - .../abstracts/DataEngineSetActuator.java | 35 +++++++ .../abstracts/DataEngineValueActuator.java | 0 .../basic/handler/DataEngineHandler.java | 0 .../handler/DataEngineRecordHandler.java | 36 +++++++ .../basic/handler/DataEngineRowHandler.java | 1 - .../basic/handler/DataEngineSetHandler.java | 36 +++++++ .../basic/handler/DataEngineValueHandler.java | 2 +- .../server}/ENGINE_VALUE_JDIES732842_V1.java | 3 +- .../src/test/java/com/muyu/AppTest.java | 38 ++++++++ cloud-rule-server/pom.xml | 5 + .../controller/RuleVersionController.java | 17 ++++ .../com/muyu/servier/RuleVersionService.java | 2 + .../servier/impl/RuleVersionServiceImpl.java | 11 +++ pom.xml | 1 + 21 files changed, 390 insertions(+), 8 deletions(-) create mode 100644 cloud-rule-engine/pom.xml create mode 100644 cloud-rule-engine/src/main/java/com/muyu/constant/GenerateConstant.java rename {cloud-rule-server => cloud-rule-engine}/src/main/java/com/muyu/engine/Main.java (89%) rename {cloud-rule-server => cloud-rule-engine}/src/main/java/com/muyu/engine/basic/BasicEngine.java (93%) create mode 100644 cloud-rule-engine/src/main/java/com/muyu/engine/basic/abstracts/DataEngineRecordActuator.java rename {cloud-rule-server => cloud-rule-engine}/src/main/java/com/muyu/engine/basic/abstracts/DataEngineRowActuator.java (91%) create mode 100644 cloud-rule-engine/src/main/java/com/muyu/engine/basic/abstracts/DataEngineSetActuator.java rename {cloud-rule-server => cloud-rule-engine}/src/main/java/com/muyu/engine/basic/abstracts/DataEngineValueActuator.java (100%) rename {cloud-rule-server => cloud-rule-engine}/src/main/java/com/muyu/engine/basic/handler/DataEngineHandler.java (100%) create mode 100644 cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineRecordHandler.java rename {cloud-rule-server => cloud-rule-engine}/src/main/java/com/muyu/engine/basic/handler/DataEngineRowHandler.java (92%) create mode 100644 cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineSetHandler.java rename {cloud-rule-server => cloud-rule-engine}/src/main/java/com/muyu/engine/basic/handler/DataEngineValueHandler.java (95%) rename {cloud-rule-server/src/main/java/com/muyu/servier => cloud-rule-engine/src/main/java/com/muyu/server}/ENGINE_VALUE_JDIES732842_V1.java (85%) create mode 100644 cloud-rule-engine/src/test/java/com/muyu/AppTest.java diff --git a/cloud-rule-common/src/main/java/com/muyu/common/domain/req/RuleDataAddReq.java b/cloud-rule-common/src/main/java/com/muyu/common/domain/req/RuleDataAddReq.java index 24e7992..5aebf8c 100644 --- a/cloud-rule-common/src/main/java/com/muyu/common/domain/req/RuleDataAddReq.java +++ b/cloud-rule-common/src/main/java/com/muyu/common/domain/req/RuleDataAddReq.java @@ -31,7 +31,7 @@ public class RuleDataAddReq { /** * 规则名称 */ - @NotEmpty(message = "规则名称不可为空 ") + @NotEmpty(message = "规则名称不可为空") @Schema(title = "规则名称" , type = "String",defaultValue = "XX规则" ,description = "规则名称一般为类型名称,方便使用者进行区分" ,requiredProperties = {"ruleName"}) private String ruleName; diff --git a/cloud-rule-engine/pom.xml b/cloud-rule-engine/pom.xml new file mode 100644 index 0000000..bb584a7 --- /dev/null +++ b/cloud-rule-engine/pom.xml @@ -0,0 +1,94 @@ + + 4.0.0 + + com.muyu + cloud-rule + 1.0.0 + + + cloud-rule-engine + jar + + cloud-rule-engine + http://maven.apache.org + + + UTF-8 + + + + + + com.muyu + cloud-common-rabbit + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + com.mysql + mysql-connector-j + + + + + com.muyu + cloud-common-datasource + + + + + com.muyu + cloud-common-datascope + + + + + com.muyu + cloud-common-log + + + + + com.muyu + cloud-common-api-doc + + + + com.muyu + cloud-rule-common + 1.0.0 + + + + junit + junit + 3.8.1 + test + + + diff --git a/cloud-rule-engine/src/main/java/com/muyu/constant/GenerateConstant.java b/cloud-rule-engine/src/main/java/com/muyu/constant/GenerateConstant.java new file mode 100644 index 0000000..63c4f91 --- /dev/null +++ b/cloud-rule-engine/src/main/java/com/muyu/constant/GenerateConstant.java @@ -0,0 +1,75 @@ +package com.muyu.constant; + +import com.muyu.common.domain.RuleData; +import com.muyu.common.domain.RuleVersion; +import com.muyu.common.security.utils.SecurityUtils; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * @Author:蓬叁 + * @Package:com.muyu.constant + * @Project:cloud-rule + * @name:GenerateConstant + * @Date:2024/8/30 上午12:49 + * @Description: 规则引擎版本生成 + */ +@Component +public class GenerateConstant { + + public static final String DATA_FIELD = "DataEngineValueActuator"; + public static final String DATA_RECORD = "DataEngineRecordActuator"; + public static final String DATA_SET = "DataEngineSetActuator"; + public static final String ACTION_IMPORT = "import com.muyu.rule.engine.action.ActionDiscard;\n"; + public static final String SCOPE_IMPORT = "import com.muyu.rule.engine.scope.DataModelEngine"; + public static final String PACKAGE_PATH = "package com.muyu.generate;"; + + public static String getClassName(String versionCode){ + String[] splits = versionCode.split("_"); + String className=""; + for (String split : splits) { + className += split.substring(0,1).toUpperCase()+split.substring(1); + } + return className; + } + + public static String generateConstant(RuleData ruleData, RuleVersion ruleVersion){ + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); + String format = simpleDateFormat.format(new Date()); + String level = selectType(ruleData.getRuleRegion()); + return PACKAGE_PATH + "\n" + + ACTION_IMPORT + "\n" + + SCOPE_IMPORT+level+";\n" + + "\n" + + "/**\n" + + " * @Author: "+ SecurityUtils.getUsername() +"\n" + + " * @date: "+format+"\n" + + " * @Description: "+ruleVersion.getRuleVersionName()+ruleVersion.getRuleVersionCode()+"\n" + + " * @Version: 1.0\n" + + " */\n" + + "public class "+getClassName(ruleVersion.getRuleVersionType()) + " extends "+level+" {\n" + + " @Override\n" + + " public void run () {\n" + + " }\n" + + "}"; + } + + public static String selectType(String level){ + String type = ""; + switch (level) { + case "F": + type = DATA_FIELD; + break; + case "R": + type = DATA_RECORD; + break; + case "C": + type = DATA_SET; + break; + } + return type; + } + +} diff --git a/cloud-rule-server/src/main/java/com/muyu/engine/Main.java b/cloud-rule-engine/src/main/java/com/muyu/engine/Main.java similarity index 89% rename from cloud-rule-server/src/main/java/com/muyu/engine/Main.java rename to cloud-rule-engine/src/main/java/com/muyu/engine/Main.java index 5daacaa..0dc7101 100644 --- a/cloud-rule-server/src/main/java/com/muyu/engine/Main.java +++ b/cloud-rule-engine/src/main/java/com/muyu/engine/Main.java @@ -2,7 +2,6 @@ package com.muyu.engine; import com.muyu.common.domain.DataValue; import com.muyu.engine.basic.BasicEngine; -import com.muyu.servier.ENGINE_VALUE_JDIES732842_V1; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -20,7 +19,7 @@ public class Main { static { try { - Class aClass = Class.forName("com.muyu.servier.ENGINE_VALUE_JDIES732842_V1"); + Class aClass = Class.forName("com.muyu.server.ENGINE_VALUE_JDIES732842_V1"); try { engineMap.put("ENGINE_VALUE_JDIES732842_V1",(BasicEngine) aClass.newInstance()); } catch (InstantiationException e) { diff --git a/cloud-rule-server/src/main/java/com/muyu/engine/basic/BasicEngine.java b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/BasicEngine.java similarity index 93% rename from cloud-rule-server/src/main/java/com/muyu/engine/basic/BasicEngine.java rename to cloud-rule-engine/src/main/java/com/muyu/engine/basic/BasicEngine.java index 40efb18..3d13092 100644 --- a/cloud-rule-server/src/main/java/com/muyu/engine/basic/BasicEngine.java +++ b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/BasicEngine.java @@ -9,6 +9,7 @@ import com.muyu.engine.basic.handler.DataEngineValueHandler; * @Project:cloud-rule * @name:BasicEngin * @Date:2024/8/29 下午3:13 + * @Description: 规则引擎基准 */ public interface BasicEngine { diff --git a/cloud-rule-engine/src/main/java/com/muyu/engine/basic/abstracts/DataEngineRecordActuator.java b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/abstracts/DataEngineRecordActuator.java new file mode 100644 index 0000000..d063ed4 --- /dev/null +++ b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/abstracts/DataEngineRecordActuator.java @@ -0,0 +1,35 @@ +package com.muyu.engine.basic.abstracts; + +import com.muyu.common.domain.DataValue; +import com.muyu.engine.basic.BasicEngine; +import com.muyu.engine.basic.handler.DataEngineRecordHandler; +import com.muyu.engine.basic.handler.DataEngineSetHandler; + +/** + * @Author:蓬叁 + * @Package:com.muyu.engine.basic.abstracts + * @Project:cloud-rule + * @name:DataEngineSetActuator + * @Date:2024/8/30 上午11:13 + * @Description: 记录 + */ +public abstract class DataEngineRecordActuator implements BasicEngine { + + public void set(DataValue dataValue){ + DataEngineRecordHandler.set(dataValue); + } + + //获取原始值 + public DataValue get(){ + return DataEngineRecordHandler.get(); + } + + @Override + public void execution() { + this.run(); + this.remove(); + } + + public abstract void run(); + +} diff --git a/cloud-rule-server/src/main/java/com/muyu/engine/basic/abstracts/DataEngineRowActuator.java b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/abstracts/DataEngineRowActuator.java similarity index 91% rename from cloud-rule-server/src/main/java/com/muyu/engine/basic/abstracts/DataEngineRowActuator.java rename to cloud-rule-engine/src/main/java/com/muyu/engine/basic/abstracts/DataEngineRowActuator.java index bee9989..712c6c8 100644 --- a/cloud-rule-server/src/main/java/com/muyu/engine/basic/abstracts/DataEngineRowActuator.java +++ b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/abstracts/DataEngineRowActuator.java @@ -3,7 +3,6 @@ package com.muyu.engine.basic.abstracts; import com.muyu.common.domain.DataValue; import com.muyu.engine.basic.BasicEngine; import com.muyu.engine.basic.handler.DataEngineRowHandler; -import com.muyu.engine.basic.handler.DataEngineValueHandler; /** * @Author:蓬叁 diff --git a/cloud-rule-engine/src/main/java/com/muyu/engine/basic/abstracts/DataEngineSetActuator.java b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/abstracts/DataEngineSetActuator.java new file mode 100644 index 0000000..f6686ea --- /dev/null +++ b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/abstracts/DataEngineSetActuator.java @@ -0,0 +1,35 @@ +package com.muyu.engine.basic.abstracts; + +import com.muyu.common.domain.DataValue; +import com.muyu.engine.basic.BasicEngine; +import com.muyu.engine.basic.handler.DataEngineSetHandler; +import com.muyu.engine.basic.handler.DataEngineValueHandler; + +/** + * @Author:蓬叁 + * @Package:com.muyu.engine.basic.abstracts + * @Project:cloud-rule + * @name:DataEngineSetActuator + * @Date:2024/8/30 上午11:13 + * @Description: 数据集 + */ +public abstract class DataEngineSetActuator implements BasicEngine { + + public void set(DataValue dataValue){ + DataEngineSetHandler.set(dataValue); + } + + //获取原始值 + public DataValue get(){ + return DataEngineSetHandler.get(); + } + + @Override + public void execution() { + this.run(); + this.remove(); + } + + public abstract void run(); + +} diff --git a/cloud-rule-server/src/main/java/com/muyu/engine/basic/abstracts/DataEngineValueActuator.java b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/abstracts/DataEngineValueActuator.java similarity index 100% rename from cloud-rule-server/src/main/java/com/muyu/engine/basic/abstracts/DataEngineValueActuator.java rename to cloud-rule-engine/src/main/java/com/muyu/engine/basic/abstracts/DataEngineValueActuator.java diff --git a/cloud-rule-server/src/main/java/com/muyu/engine/basic/handler/DataEngineHandler.java b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineHandler.java similarity index 100% rename from cloud-rule-server/src/main/java/com/muyu/engine/basic/handler/DataEngineHandler.java rename to cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineHandler.java diff --git a/cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineRecordHandler.java b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineRecordHandler.java new file mode 100644 index 0000000..b44d900 --- /dev/null +++ b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineRecordHandler.java @@ -0,0 +1,36 @@ +package com.muyu.engine.basic.handler; + +import com.muyu.common.core.text.Convert; +import com.muyu.common.domain.DataValue; + +/** + * @Author:蓬叁 + * @Package:com.muyu.engine.basic.handler + * @Project:cloud-rule + * @name:DataEngineValueHandler + * @Date:2024/8/29 下午3:21 + * @Description: 数据值作用域 + */ +public class DataEngineRecordHandler { + + public static void set(DataValue dataValue){ + DataEngineHandler.set(dataValue); + } + + public static DataValue get(){ + return DataEngineHandler.get(); + } + + public static void remove(){ + DataEngineHandler.remove(); + } + + public static Object getValue(){ + return get().getValue(); + } + + public static Integer getIntegerValue(){ + return Convert.toInt(getValue(),null); + } + +} diff --git a/cloud-rule-server/src/main/java/com/muyu/engine/basic/handler/DataEngineRowHandler.java b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineRowHandler.java similarity index 92% rename from cloud-rule-server/src/main/java/com/muyu/engine/basic/handler/DataEngineRowHandler.java rename to cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineRowHandler.java index 30262f9..70e3fd6 100644 --- a/cloud-rule-server/src/main/java/com/muyu/engine/basic/handler/DataEngineRowHandler.java +++ b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineRowHandler.java @@ -1,6 +1,5 @@ package com.muyu.engine.basic.handler; -import com.muyu.common.core.text.Convert; import com.muyu.common.domain.DataValue; /** diff --git a/cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineSetHandler.java b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineSetHandler.java new file mode 100644 index 0000000..d10ea46 --- /dev/null +++ b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineSetHandler.java @@ -0,0 +1,36 @@ +package com.muyu.engine.basic.handler; + +import com.muyu.common.core.text.Convert; +import com.muyu.common.domain.DataValue; + +/** + * @Author:蓬叁 + * @Package:com.muyu.engine.basic.handler + * @Project:cloud-rule + * @name:DataEngineValueHandler + * @Date:2024/8/29 下午3:21 + * @Description: 数据值作用域 + */ +public class DataEngineSetHandler { + + public static void set(DataValue dataValue){ + DataEngineHandler.set(dataValue); + } + + public static DataValue get(){ + return DataEngineHandler.get(); + } + + public static void remove(){ + DataEngineHandler.remove(); + } + + public static Object getValue(){ + return get().getValue(); + } + + public static Integer getIntegerValue(){ + return Convert.toInt(getValue(),null); + } + +} diff --git a/cloud-rule-server/src/main/java/com/muyu/engine/basic/handler/DataEngineValueHandler.java b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineValueHandler.java similarity index 95% rename from cloud-rule-server/src/main/java/com/muyu/engine/basic/handler/DataEngineValueHandler.java rename to cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineValueHandler.java index 1a101d6..5d6bfe6 100644 --- a/cloud-rule-server/src/main/java/com/muyu/engine/basic/handler/DataEngineValueHandler.java +++ b/cloud-rule-engine/src/main/java/com/muyu/engine/basic/handler/DataEngineValueHandler.java @@ -9,7 +9,7 @@ import com.muyu.common.domain.DataValue; * @Project:cloud-rule * @name:DataEngineValueHandler * @Date:2024/8/29 下午3:21 - * @Description: 数据自作用域 + * @Description: 数据值作用域 */ public class DataEngineValueHandler { diff --git a/cloud-rule-server/src/main/java/com/muyu/servier/ENGINE_VALUE_JDIES732842_V1.java b/cloud-rule-engine/src/main/java/com/muyu/server/ENGINE_VALUE_JDIES732842_V1.java similarity index 85% rename from cloud-rule-server/src/main/java/com/muyu/servier/ENGINE_VALUE_JDIES732842_V1.java rename to cloud-rule-engine/src/main/java/com/muyu/server/ENGINE_VALUE_JDIES732842_V1.java index 75953ab..f86b193 100644 --- a/cloud-rule-server/src/main/java/com/muyu/servier/ENGINE_VALUE_JDIES732842_V1.java +++ b/cloud-rule-engine/src/main/java/com/muyu/server/ENGINE_VALUE_JDIES732842_V1.java @@ -1,8 +1,7 @@ -package com.muyu.servier; +package com.muyu.server; import com.muyu.common.domain.DataValue; import com.muyu.engine.basic.abstracts.DataEngineValueActuator; -import com.muyu.engine.basic.handler.DataEngineValueHandler; /** * @Author:蓬叁 diff --git a/cloud-rule-engine/src/test/java/com/muyu/AppTest.java b/cloud-rule-engine/src/test/java/com/muyu/AppTest.java new file mode 100644 index 0000000..34d0e0a --- /dev/null +++ b/cloud-rule-engine/src/test/java/com/muyu/AppTest.java @@ -0,0 +1,38 @@ +package com.muyu; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +/** + * Unit test for simple App. + */ +public class AppTest + extends TestCase +{ + /** + * Create the test case + * + * @param testName name of the test case + */ + public AppTest( String testName ) + { + super( testName ); + } + + /** + * @return the suite of tests being tested + */ + public static Test suite() + { + return new TestSuite( AppTest.class ); + } + + /** + * Rigourous Test :-) + */ + public void testApp() + { + assertTrue( true ); + } +} diff --git a/cloud-rule-server/pom.xml b/cloud-rule-server/pom.xml index 838f91a..89d0fa8 100644 --- a/cloud-rule-server/pom.xml +++ b/cloud-rule-server/pom.xml @@ -81,6 +81,11 @@ cloud-rule-common 1.0.0 + + com.muyu + cloud-rule-engine + 1.0.0 + diff --git a/cloud-rule-server/src/main/java/com/muyu/controller/RuleVersionController.java b/cloud-rule-server/src/main/java/com/muyu/controller/RuleVersionController.java index 1942179..555d342 100644 --- a/cloud-rule-server/src/main/java/com/muyu/controller/RuleVersionController.java +++ b/cloud-rule-server/src/main/java/com/muyu/controller/RuleVersionController.java @@ -12,6 +12,7 @@ import com.muyu.servier.RuleVersionService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -25,6 +26,7 @@ import java.util.List; * @name:RuleVersionController * @Date:2024/8/27 上午11:42 */ +@Log4j2 @RestController @RequestMapping("/ruleVersion") @Tag(name = "规则版本控制层",description = "进行版本制定,查看等操作") @@ -110,4 +112,19 @@ public class RuleVersionController { return Result.success(null,"操作成功"); } + /** + * 生成规则版本代码 + * @param ruleVersion + * @return 生成结果 + */ + @PostMapping("/generatedCode") + @Operation(summary = "生成规则版本代码",description = "通过名称和编码生成版本类") + public Result generatedCode( + @Validated @RequestBody RuleVersion ruleVersion + ){ + return Result.success(ruleVersionService.generatedCode(ruleVersion)); + } + + + } diff --git a/cloud-rule-server/src/main/java/com/muyu/servier/RuleVersionService.java b/cloud-rule-server/src/main/java/com/muyu/servier/RuleVersionService.java index f962dfa..36a71e8 100644 --- a/cloud-rule-server/src/main/java/com/muyu/servier/RuleVersionService.java +++ b/cloud-rule-server/src/main/java/com/muyu/servier/RuleVersionService.java @@ -28,4 +28,6 @@ public interface RuleVersionService extends IService { * @param activate 状态 SysIsYesNo */ public void settingVersionActivate(Long ruleVersionId, String activate); + + RuleVersion generatedCode(RuleVersion ruleVersion); } diff --git a/cloud-rule-server/src/main/java/com/muyu/servier/impl/RuleVersionServiceImpl.java b/cloud-rule-server/src/main/java/com/muyu/servier/impl/RuleVersionServiceImpl.java index f59ef7b..321ebbf 100644 --- a/cloud-rule-server/src/main/java/com/muyu/servier/impl/RuleVersionServiceImpl.java +++ b/cloud-rule-server/src/main/java/com/muyu/servier/impl/RuleVersionServiceImpl.java @@ -9,7 +9,9 @@ import com.muyu.common.domain.RuleData; import com.muyu.common.domain.RuleVersion; import com.muyu.common.domain.req.RuleVersionUpdReq; import com.muyu.common.domain.resp.RuleVersionResp; +import com.muyu.constant.GenerateConstant; import com.muyu.mapper.RuleVersionMapper; +import com.muyu.servier.RuleDataService; import com.muyu.servier.RuleVersionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -29,6 +31,7 @@ public class RuleVersionServiceImpl implements RuleVersionService { @Autowired private RuleVersionMapper ruleVersionMapper; + @Autowired private RuleDataService ruleDataService; @Override public List selectList(Long ruleId) { @@ -68,4 +71,12 @@ public class RuleVersionServiceImpl this.update(updateWrapper); } + @Override + public RuleVersion generatedCode(RuleVersion ruleVersion) { + RuleData ruleData = ruleDataService.getById(ruleVersion.getRuleId()); + ruleVersion.setRuleVersionType("generate"+"_"+ruleData.getRuleCoding()+"_"+ruleVersion.getRuleVersionCode()); + ruleVersion.setRuleVersionText(GenerateConstant.generateConstant(ruleData,ruleVersion)); + return ruleVersion; + } + } diff --git a/pom.xml b/pom.xml index 6927c42..bd08842 100644 --- a/pom.xml +++ b/pom.xml @@ -18,6 +18,7 @@ cloud-rule-common cloud-rule-server cloud-rule-remote + cloud-rule-engine