1.删除无效代码

This commit is contained in:
chenweilong 2022-12-15 17:34:41 +08:00
parent 62a12b37c1
commit 5f79c574a8
11 changed files with 92 additions and 201 deletions

View File

@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONNull;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.example.liteflow.mysql.entity.BaseNodeEntity;
@ -50,14 +49,10 @@ public class OutputCmp extends NodeComponent {
JSONObject jsonObject = requestData.getJsonObject();
if (ObjectUtil.isNull(jsonObject)) {
jsonObject = new JSONObject();
jsonObject.putOpt(templateName + fieldName, fieldValue);
requestData.setGenerateCode(null);
requestData.setJsonObject(jsonObject);
} else {
jsonObject.putOpt(templateName + fieldName, fieldValue);
requestData.setGenerateCode(null);
requestData.setJsonObject(jsonObject);
}
jsonObject.putOpt(templateName + fieldName, fieldValue);
requestData.setGenerateCode(null);
requestData.setJsonObject(jsonObject);
}
}

View File

@ -1,9 +1,7 @@
package com.example.liteflow.mysql.controller;
import com.example.liteflow.mysql.model.CommonResult;
import com.example.liteflow.mysql.model.node.CreateNodeFrom;
import com.example.liteflow.mysql.service.BaseChainService;
import com.example.liteflow.mysql.service.BaseNodeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

View File

@ -1,19 +0,0 @@
package com.example.liteflow.mysql.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;
/**
* @author: 陈韦龙
* @date: 2022年12月06日 14:43
*/
@Getter
@AllArgsConstructor
@ToString
public enum BaseDataAttributionEnum {
costCenter("costCenter"),
profitCenter("profitCenter"),
;
private final String attribution;
}

View File

@ -1,7 +1,6 @@
package com.example.liteflow.mysql.handler;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
@ -12,12 +11,10 @@ import java.time.LocalDateTime;
* @date: 2022年12月14日 09:39
*/
@Component
@Slf4j
public class MybatisHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.setFieldValByName("creatorTime", LocalDateTime.now(), metaObject);
// this.setFieldValByName("lastModifyTime", LocalDateTime.now(), metaObject);
}
@Override

View File

@ -19,10 +19,6 @@ public class CommonResult<T> {
private T data;
public CommonResult(Integer code, String message) {
this(code, message, null);
}
public static CommonResult fail(String message) {
CommonResult commonResult = new CommonResult();
commonResult.setCode(999);

View File

@ -1,7 +1,6 @@
package com.example.liteflow.mysql.runner;
import com.example.liteflow.mysql.service.BaseChainService;
import com.yomahub.liteflow.core.FlowExecutor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
@ -19,7 +18,7 @@ public class AviatorEvaluatorRunner implements CommandLineRunner {
private BaseChainService baseChainService;
@Override
public void run(String... args) throws Exception {
public void run(String... args) {
baseChainService.initDynamicChain();
baseChainService.initMainChain();
}

View File

@ -2,11 +2,8 @@ package com.example.liteflow.mysql.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.liteflow.mysql.entity.BaseChainEntity;
import com.example.liteflow.mysql.model.BaseCenter;
import com.example.liteflow.mysql.model.CommonResult;
import java.util.List;
/**
* @author 75349
* @description 针对表base_chain的数据库操作Service

View File

@ -65,87 +65,95 @@ public class BaseChainServiceImpl extends ServiceImpl<BaseChainMapper, BaseChain
List<BaseNodeEntity> nodeList = baseNodeService.list(nodeQueryWrapper);
templateAndNodeMap.put(template, nodeList);
});
for (Map.Entry<BaseTemplateEntity, List<BaseNodeEntity>> entry : templateAndNodeMap.entrySet()) {
BaseTemplateEntity templateEntity = entry.getKey();
String templateName = templateEntity.getTemplateName();
String templateId = templateEntity.getId();
List<BaseNodeEntity> nodeList = entry.getValue();
// 将所有节点注入
nodeList.forEach(node -> {
String nodeType = node.getNodeType();
String nodeId = node.getNodeId();
String nodeName = node.getNodeName();
String nodeClass = node.getNodeClass();
if (NodeEnum.CommonNode.getName().equals(nodeType)) {
LiteFlowNodeBuilder.createCommonNode()
.setId(nodeId)
.setName(nodeName)
.setClazz(nodeClass)
.build();
} else if (NodeEnum.IfNode.getName().equals(nodeType)) {
LiteFlowNodeBuilder.createIfNode()
.setId(nodeId)
.setName(nodeName)
.setClazz(nodeClass)
.build();
}
});
// 输出节点
Map<String, BaseNodeEntity> commonNodeMap = nodeList.stream()
.filter(node -> NodeEnum.CommonNode.getName().equals(node.getNodeType()))
.collect(Collectors.toMap(BaseNodeEntity::getId, BaseNodeEntity -> BaseNodeEntity));
// 判断节点
List<BaseNodeEntity> ifNodeList = nodeList.stream().filter(node -> NodeEnum.IfNode.getName().equals(node.getNodeType())).collect(Collectors.toList());
StringBuilder stringBuilder = new StringBuilder();
int leftBracesNum = 0;
int num = 0;
for (BaseNodeEntity ifNode : ifNodeList) {
num++;
leftBracesNum++;
stringBuilder.append("IF(");
String ifNodeId = ifNode.getNodeId();
String nodeContentId = ifNode.getNodeContentId();
BaseNodeEntity commonNode = commonNodeMap.get(nodeContentId);
if (ObjectUtil.isNotNull(commonNode)) {
String commonNodeId = commonNode.getNodeId();
stringBuilder.append(ifNodeId).append(",").append(commonNodeId);
} else {
stringBuilder.append(ifNodeId).append(",defaultOutput");
}
if (num != ifNodeList.size()) {
stringBuilder.append(",");
} else {
stringBuilder.append(",defaultOutput");
}
}
for (int i = 0; i < leftBracesNum; i++) {
stringBuilder.append(")");
}
log.info("templateName = {}, stringBuilder = {}", templateName, stringBuilder);
BaseChainEntity baseChainEntity = new BaseChainEntity();
baseChainEntity.setTemplateId(templateId);
baseChainEntity.setChainName(templateName);
baseChainEntity.setElData(stringBuilder.toString());
if (!FlowBus.containChain(templateName)) {
LiteFlowChainELBuilder.createChain()
.setChainId(templateName)
.setEL(stringBuilder.toString())
.build();
flowExecutor.reloadRule();
}
LambdaUpdateWrapper<BaseChainEntity> baseChainQueryWrapper = new LambdaUpdateWrapper<>();
baseChainQueryWrapper.eq(BaseChainEntity::getTemplateId, templateId)
.eq(BaseChainEntity::getEnableMark, EnableMarkEnum.Enable.getValue());
BaseChainEntity checkExists = this.getOne(baseChainQueryWrapper);
if (ObjectUtil.isNull(checkExists)) {
this.save(baseChainEntity);
}
}
this.generateOrUpdateChain(templateAndNodeMap);
}
this.initMainChain();
return CommonResult.success("生成链路成功", this.list());
}
private void generateOrUpdateChain(Map<BaseTemplateEntity, List<BaseNodeEntity>> templateAndNodeMap) {
for (Map.Entry<BaseTemplateEntity, List<BaseNodeEntity>> entry : templateAndNodeMap.entrySet()) {
BaseTemplateEntity templateEntity = entry.getKey();
String templateName = templateEntity.getTemplateName();
String templateId = templateEntity.getId();
List<BaseNodeEntity> nodeList = entry.getValue();
// 将所有节点注入
nodeList.forEach(node -> {
String nodeType = node.getNodeType();
String nodeId = node.getNodeId();
String nodeName = node.getNodeName();
String nodeClass = node.getNodeClass();
if (NodeEnum.CommonNode.getName().equals(nodeType)) {
LiteFlowNodeBuilder.createCommonNode()
.setId(nodeId)
.setName(nodeName)
.setClazz(nodeClass)
.build();
} else if (NodeEnum.IfNode.getName().equals(nodeType)) {
LiteFlowNodeBuilder.createIfNode()
.setId(nodeId)
.setName(nodeName)
.setClazz(nodeClass)
.build();
}
});
// 输出节点
Map<String, BaseNodeEntity> commonNodeMap = nodeList.stream()
.filter(node -> NodeEnum.CommonNode.getName().equals(node.getNodeType()))
.collect(Collectors.toMap(BaseNodeEntity::getId, BaseNodeEntity -> BaseNodeEntity));
// 判断节点
List<BaseNodeEntity> ifNodeList = nodeList.stream().filter(node -> NodeEnum.IfNode.getName().equals(node.getNodeType())).collect(Collectors.toList());
StringBuilder stringBuilder = new StringBuilder();
int leftBracesNum = 0;
int num = 0;
for (BaseNodeEntity ifNode : ifNodeList) {
num++;
leftBracesNum++;
stringBuilder.append("IF(");
String ifNodeId = ifNode.getNodeId();
String nodeContentId = ifNode.getNodeContentId();
BaseNodeEntity commonNode = commonNodeMap.get(nodeContentId);
if (ObjectUtil.isNotNull(commonNode)) {
String commonNodeId = commonNode.getNodeId();
stringBuilder.append(ifNodeId).append(",").append(commonNodeId);
} else {
stringBuilder.append(ifNodeId).append(",defaultOutput");
}
if (num != ifNodeList.size()) {
stringBuilder.append(",");
} else {
stringBuilder.append(",defaultOutput");
}
}
for (int i = 0; i < leftBracesNum; i++) {
stringBuilder.append(")");
}
log.info("templateName = {}, stringBuilder = {}", templateName, stringBuilder);
BaseChainEntity baseChainEntity = new BaseChainEntity();
baseChainEntity.setTemplateId(templateId);
baseChainEntity.setChainName(templateName);
baseChainEntity.setElData(stringBuilder.toString());
if (!FlowBus.containChain(templateName)) {
LiteFlowChainELBuilder.createChain()
.setChainId(templateName)
.setEL(stringBuilder.toString())
.build();
flowExecutor.reloadRule();
}
LambdaUpdateWrapper<BaseChainEntity> baseChainQueryWrapper = new LambdaUpdateWrapper<>();
baseChainQueryWrapper.eq(BaseChainEntity::getTemplateId, templateId)
.eq(BaseChainEntity::getEnableMark, EnableMarkEnum.Enable.getValue());
BaseChainEntity checkExists = this.getOne(baseChainQueryWrapper);
if (ObjectUtil.isNull(checkExists)) {
this.save(baseChainEntity);
} else {
checkExists.setChainName(templateName);
checkExists.setElData(stringBuilder.toString());
this.updateById(checkExists);
}
}
}
@Override
public void initDynamicChain() {
log.info("进入【初始化链路】方法");
@ -166,86 +174,7 @@ public class BaseChainServiceImpl extends ServiceImpl<BaseChainMapper, BaseChain
}
});
log.info("templateAndNodeMap size = {}", templateAndNodeMap.size());
for (Map.Entry<BaseTemplateEntity, List<BaseNodeEntity>> entry : templateAndNodeMap.entrySet()) {
BaseTemplateEntity templateEntity = entry.getKey();
String templateName = templateEntity.getTemplateName();
String templateId = templateEntity.getId();
List<BaseNodeEntity> nodeList = entry.getValue();
// 将所有节点注入
nodeList.forEach(node -> {
String nodeType = node.getNodeType();
String nodeId = node.getNodeId();
String nodeName = node.getNodeName();
String nodeClass = node.getNodeClass();
if (NodeEnum.CommonNode.getName().equals(nodeType)) {
LiteFlowNodeBuilder.createCommonNode()
.setId(nodeId)
.setName(nodeName)
.setClazz(nodeClass)
.build();
} else if (NodeEnum.IfNode.getName().equals(nodeType)) {
LiteFlowNodeBuilder.createIfNode()
.setId(nodeId)
.setName(nodeName)
.setClazz(nodeClass)
.build();
}
});
// 输出节点
Map<String, BaseNodeEntity> commonNodeMap = nodeList.stream()
.filter(node -> NodeEnum.CommonNode.getName().equals(node.getNodeType()))
.collect(Collectors.toMap(BaseNodeEntity::getId, BaseNodeEntity -> BaseNodeEntity));
// 判断节点
List<BaseNodeEntity> ifNodeList = nodeList.stream().filter(node -> NodeEnum.IfNode.getName().equals(node.getNodeType())).collect(Collectors.toList());
StringBuilder stringBuilder = new StringBuilder();
int leftBracesNum = 0;
int num = 0;
for (BaseNodeEntity ifNode : ifNodeList) {
num++;
leftBracesNum++;
stringBuilder.append("IF(");
String ifNodeId = ifNode.getNodeId();
String nodeContentId = ifNode.getNodeContentId();
BaseNodeEntity commonNode = commonNodeMap.get(nodeContentId);
if (ObjectUtil.isNotNull(commonNode)) {
String commonNodeId = commonNode.getNodeId();
stringBuilder.append(ifNodeId).append(",").append(commonNodeId);
} else {
stringBuilder.append(ifNodeId).append(",defaultOutput");
}
if (num != ifNodeList.size()) {
stringBuilder.append(",");
} else {
stringBuilder.append(",defaultOutput");
}
}
for (int i = 0; i < leftBracesNum; i++) {
stringBuilder.append(")");
}
log.info("templateName = {}, stringBuilder = {}", templateName, stringBuilder);
BaseChainEntity baseChainEntity = new BaseChainEntity();
baseChainEntity.setTemplateId(templateId);
baseChainEntity.setChainName(templateName);
baseChainEntity.setElData(stringBuilder.toString());
if (!FlowBus.containChain(templateName)) {
LiteFlowChainELBuilder.createChain()
.setChainId(templateName)
.setEL(stringBuilder.toString())
.build();
flowExecutor.reloadRule();
}
LambdaUpdateWrapper<BaseChainEntity> baseChainQueryWrapper = new LambdaUpdateWrapper<>();
baseChainQueryWrapper.eq(BaseChainEntity::getTemplateId, templateId)
.eq(BaseChainEntity::getEnableMark, EnableMarkEnum.Enable.getValue());
BaseChainEntity checkExists = this.getOne(baseChainQueryWrapper);
if (ObjectUtil.isNull(checkExists)) {
this.save(baseChainEntity);
} else {
checkExists.setChainName(templateName);
checkExists.setElData(stringBuilder.toString());
this.updateById(checkExists);
}
}
this.generateOrUpdateChain(templateAndNodeMap);
}
}

View File

@ -6,13 +6,13 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.liteflow.mysql.entity.BaseNodeEntity;
import com.example.liteflow.mysql.entity.BaseTemplateEntity;
import com.example.liteflow.mysql.enums.EnableMarkEnum;
import com.example.liteflow.mysql.enums.NodeEnum;
import com.example.liteflow.mysql.mapper.BaseNodeMapper;
import com.example.liteflow.mysql.model.CommonResult;
import com.example.liteflow.mysql.model.OutputFrom;
import com.example.liteflow.mysql.model.node.BaseNodeVO;
@ -20,7 +20,6 @@ import com.example.liteflow.mysql.model.node.CreateNodeFrom;
import com.example.liteflow.mysql.model.node.UpdateNodeFrom;
import com.example.liteflow.mysql.model.role.Role;
import com.example.liteflow.mysql.service.BaseNodeService;
import com.example.liteflow.mysql.mapper.BaseNodeMapper;
import com.example.liteflow.mysql.service.BaseTemplateService;
import com.yomahub.liteflow.flow.FlowBus;
import com.yomahub.liteflow.flow.element.Node;

View File

@ -5,16 +5,15 @@ import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.liteflow.mysql.entity.BaseTemplateEntity;
import com.example.liteflow.mysql.mapper.BaseTemplateMapper;
import com.example.liteflow.mysql.model.CommonResult;
import com.example.liteflow.mysql.model.baseTemplate.BaseTemplateVO;
import com.example.liteflow.mysql.model.baseTemplate.CreateTemplateFrom;
import com.example.liteflow.mysql.model.baseTemplate.UpdateTemplateFrom;
import com.example.liteflow.mysql.service.BaseTemplateService;
import com.example.liteflow.mysql.mapper.BaseTemplateMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.smartcardio.CommandAPDU;
import java.util.List;
import java.util.stream.Collectors;

View File

@ -13,6 +13,7 @@ import org.assertj.core.util.Lists;
import org.junit.Test;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;