From 5249b545c53b37702ba69143e781aef7c8a6d385 Mon Sep 17 00:00:00 2001 From: 75349 <753495441@qq.com> Date: Tue, 13 Dec 2022 17:31:01 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0chain=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=B7=B2=E5=AD=98=E5=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mysql/bean/AviatorEvaluatorRunner.java | 20 ++++++++++++------- .../mysql/cmp/costCenter/CostCenterCmp.java | 8 +------- .../cmp/profitCenter/ProfitCenterCmp.java | 1 - .../mysql/service/impl/ChainServiceImpl.java | 3 +++ 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/example/liteflow/mysql/bean/AviatorEvaluatorRunner.java b/src/main/java/com/example/liteflow/mysql/bean/AviatorEvaluatorRunner.java index 0192400..f80c894 100644 --- a/src/main/java/com/example/liteflow/mysql/bean/AviatorEvaluatorRunner.java +++ b/src/main/java/com/example/liteflow/mysql/bean/AviatorEvaluatorRunner.java @@ -42,12 +42,14 @@ public class AviatorEvaluatorRunner implements CommandLineRunner { String scriptClass = dynamicScript.getScriptClass(); String nodeType = dynamicScript.getNodeType(); if (NodeEnum.CommonNode.getName().equals(nodeType)) { - LiteFlowNodeBuilder.createCommonNode().setId(scriptId) + LiteFlowNodeBuilder.createCommonNode() + .setId(scriptId) .setName(scriptName) .setClazz(scriptClass) .build(); } else if (NodeEnum.IfNode.getName().equals(nodeType)) { - LiteFlowNodeBuilder.createIfNode().setId(scriptId) + LiteFlowNodeBuilder.createIfNode() + .setId(scriptId) .setName(scriptName) .setClazz(scriptClass) .build(); @@ -58,11 +60,15 @@ public class AviatorEvaluatorRunner implements CommandLineRunner { List chainEntityList = chainService.list(); log.info("AviatorEvaluatorRunner-chainEntityList = {}", chainEntityList.size()); chainEntityList.forEach(chainEntity -> { - LiteFlowChainELBuilder.createChain() - .setChainId(chainEntity.getChainName()) - .setEL(chainEntity.getElData()) - .build(); - flowExecutor.reloadRule(); + String chainName = chainEntity.getChainName(); + boolean containChain = FlowBus.containChain(chainName); + if (!containChain) { + LiteFlowChainELBuilder.createChain() + .setChainId(chainName) + .setEL(chainEntity.getElData()) + .build(); + flowExecutor.reloadRule(); + } }); } } diff --git a/src/main/java/com/example/liteflow/mysql/cmp/costCenter/CostCenterCmp.java b/src/main/java/com/example/liteflow/mysql/cmp/costCenter/CostCenterCmp.java index 6e7ee50..5382762 100644 --- a/src/main/java/com/example/liteflow/mysql/cmp/costCenter/CostCenterCmp.java +++ b/src/main/java/com/example/liteflow/mysql/cmp/costCenter/CostCenterCmp.java @@ -16,6 +16,7 @@ import com.example.liteflow.mysql.service.DynamicScriptService; import com.example.liteflow.mysql.util.ConditionParser; import com.example.liteflow.mysql.util.RoleUtil; import com.googlecode.aviator.AviatorEvaluator; +import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeIfComponent; import lombok.extern.slf4j.Slf4j; import org.assertj.core.util.Lists; @@ -31,17 +32,10 @@ import java.util.stream.Collectors; * @author: 陈韦龙 * @date: 2022年12月05日 10:15 */ -//@LiteflowComponent("costCenterCmp") @Component @Slf4j public class CostCenterCmp extends NodeIfComponent { - private static final String drool = "[{\"$or\": [{\"$and\": [{\"$contains\": [sectionClassification, sectionClassificationList]}, {\"$contains\": [businessType, businessTypeList]}, {\"$contains\": [salesman, salesmanList]}, {\"$contains\": [businessCategory, businessCategoryList]}]}]}, {\"$or\": [{\"$or\": [{\"$and\": [{\"$contains\": [sectionClassification, sectionClassificationList]}, {\"$contains\": [salesman, salesmanList]}]}]}, {\"$or\": [{\"$contains\": [businessType, businessTypeList]}]}]}]"; - - private static final List sectionClassificationList = Lists.newArrayList("汇差", "手续费", "成本科目"); - private static final List businessTypeList = Lists.newArrayList("货代", "报关", "船代", "散杂货"); - private static final List salesmanList = Lists.newArrayList("仓干配物流部(物流)"); - private static final List businessCategoryList = Lists.newArrayList("全货船业务", "进出岛仓干配"); @Resource private BaseDataService baseDataService; @Resource diff --git a/src/main/java/com/example/liteflow/mysql/cmp/profitCenter/ProfitCenterCmp.java b/src/main/java/com/example/liteflow/mysql/cmp/profitCenter/ProfitCenterCmp.java index af2fbe8..c8ff2c5 100644 --- a/src/main/java/com/example/liteflow/mysql/cmp/profitCenter/ProfitCenterCmp.java +++ b/src/main/java/com/example/liteflow/mysql/cmp/profitCenter/ProfitCenterCmp.java @@ -35,7 +35,6 @@ import java.util.stream.Collectors; @Slf4j public class ProfitCenterCmp extends NodeIfComponent { - private static final String drool = "[{\"$or\": [{\"$and\": [{\"$contains\": [sectionClassification, sectionClassificationList]}, {\"$contains\": [businessType, businessTypeList]}, {\"$contains\": [salesman, salesmanList]}, {\"$contains\": [businessCategory, businessCategoryList]}]}]}, {\"$or\": [{\"$or\": [{\"$and\": [{\"$contains\": [sectionClassification, sectionClassificationList]}, {\"$contains\": [salesman, salesmanList]}]}]}, {\"$or\": [{\"$contains\": [businessType, businessTypeList]}]}]}]"; @Resource private BaseDataService baseDataService; @Resource diff --git a/src/main/java/com/example/liteflow/mysql/service/impl/ChainServiceImpl.java b/src/main/java/com/example/liteflow/mysql/service/impl/ChainServiceImpl.java index 58113b6..7612689 100644 --- a/src/main/java/com/example/liteflow/mysql/service/impl/ChainServiceImpl.java +++ b/src/main/java/com/example/liteflow/mysql/service/impl/ChainServiceImpl.java @@ -16,6 +16,8 @@ import com.yomahub.liteflow.core.FlowExecutor; import com.yomahub.liteflow.flow.FlowBus; import com.yomahub.liteflow.flow.LiteflowResponse; import com.yomahub.liteflow.flow.element.Chain; +import com.yomahub.liteflow.flow.element.Node; +import com.yomahub.liteflow.flow.element.condition.Condition; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -40,6 +42,7 @@ public class ChainServiceImpl extends ServiceImpl impl public void createChain(ChainEntity chainEntity) { this.save(chainEntity); } + @Override public void dynamicGenerateChain(ChainEntity chainEntity) { LiteFlowChainELBuilder.createChain()