From 4e501863e31d9a56da9b31da84bc089c9323a002 Mon Sep 17 00:00:00 2001
From: 75349 <753495441@qq.com>
Date: Thu, 8 Dec 2022 18:40:30 +0800
Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA=E8=A7=84?=
=?UTF-8?q?=E5=88=99=E5=92=8C=E9=93=BE=E8=B7=AF=E6=96=B9=E6=B3=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 5 +
.../liteflow/mysql/LiteFlowCommand.java | 4 +-
.../mysql/cmp/costCenter/CostCenter01Cmp.java | 15 ++-
.../mysql/cmp/costCenter/CostCenter02Cmp.java | 8 +-
.../mysql/controller/BaseRoleController.java | 43 +++++++
.../mysql/controller/ChainController.java | 31 +++++
.../controller/SubmitRoleController.java | 31 -----
.../liteflow/mysql/entity/BaseRoleEntity.java | 22 ++++
.../liteflow/mysql/entity/ChainEntity.java | 30 +++++
.../liteflow/mysql/mapper/BaseRoleMapper.java | 13 ++
.../liteflow/mysql/mapper/ChainMapper.java | 13 ++
.../liteflow/mysql/model/role/RoleForm.java | 1 +
.../mysql/service/BaseRoleService.java | 13 ++
.../liteflow/mysql/service/ChainService.java | 14 +++
.../service/impl/BaseRoleServiceImpl.java | 63 ++++++++++
.../mysql/service/impl/ChainServiceImpl.java | 85 +++++++++++++
src/test/java/MyTest.java | 112 +++++++++++++++++-
17 files changed, 464 insertions(+), 39 deletions(-)
create mode 100644 src/main/java/com/example/liteflow/mysql/controller/BaseRoleController.java
create mode 100644 src/main/java/com/example/liteflow/mysql/controller/ChainController.java
delete mode 100644 src/main/java/com/example/liteflow/mysql/controller/SubmitRoleController.java
create mode 100644 src/main/java/com/example/liteflow/mysql/entity/BaseRoleEntity.java
create mode 100644 src/main/java/com/example/liteflow/mysql/entity/ChainEntity.java
create mode 100644 src/main/java/com/example/liteflow/mysql/mapper/BaseRoleMapper.java
create mode 100644 src/main/java/com/example/liteflow/mysql/mapper/ChainMapper.java
create mode 100644 src/main/java/com/example/liteflow/mysql/service/BaseRoleService.java
create mode 100644 src/main/java/com/example/liteflow/mysql/service/ChainService.java
create mode 100644 src/main/java/com/example/liteflow/mysql/service/impl/BaseRoleServiceImpl.java
create mode 100644 src/main/java/com/example/liteflow/mysql/service/impl/ChainServiceImpl.java
diff --git a/pom.xml b/pom.xml
index ee1e783..cb577fb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -100,5 +100,10 @@
3.22.0
compile
+
+ junit
+ junit
+ test
+
\ No newline at end of file
diff --git a/src/main/java/com/example/liteflow/mysql/LiteFlowCommand.java b/src/main/java/com/example/liteflow/mysql/LiteFlowCommand.java
index 555a4f7..cda97e2 100644
--- a/src/main/java/com/example/liteflow/mysql/LiteFlowCommand.java
+++ b/src/main/java/com/example/liteflow/mysql/LiteFlowCommand.java
@@ -20,7 +20,7 @@ import java.util.ArrayList;
import java.util.List;
@Component
-public class LiteFlowCommand implements CommandLineRunner {
+public class LiteFlowCommand {
private final Logger log = LoggerFactory.getLogger(this.getClass());
@@ -32,7 +32,7 @@ public class LiteFlowCommand implements CommandLineRunner {
private final List costCenterList = Lists.newArrayList("cost01AndCost02", "cost01", "cost02");
- @Override
+// @Override
public void run(String... args) throws Exception {
// 事实对象
// CostCenter costCenter = new CostCenter();
diff --git a/src/main/java/com/example/liteflow/mysql/cmp/costCenter/CostCenter01Cmp.java b/src/main/java/com/example/liteflow/mysql/cmp/costCenter/CostCenter01Cmp.java
index 20f5e81..1c48dc0 100644
--- a/src/main/java/com/example/liteflow/mysql/cmp/costCenter/CostCenter01Cmp.java
+++ b/src/main/java/com/example/liteflow/mysql/cmp/costCenter/CostCenter01Cmp.java
@@ -13,6 +13,7 @@ import com.example.liteflow.mysql.enums.BaseDataAttributionEnum;
import com.example.liteflow.mysql.model.BaseCenter;
import com.example.liteflow.mysql.model.CostCenter;
import com.example.liteflow.mysql.service.BaseDataService;
+import com.example.liteflow.mysql.service.BaseRoleService;
import com.example.liteflow.mysql.util.ConditionParser;
import com.googlecode.aviator.AviatorEvaluator;
import com.yomahub.liteflow.annotation.LiteflowComponent;
@@ -31,14 +32,18 @@ import java.lang.reflect.Field;
public class CostCenter01Cmp extends NodeIfComponent {
@Resource
private BaseDataService baseDataService;
-
+ @Resource
+ private BaseRoleService baseRoleService;
private static final String drool = "[{\"$or\": [{\"$and\": [{\"$contains\": [sectionClassification, sectionClassificationList]}, {\"$contains\": [businessType, businessTypeList]}, {\"$contains\": [salesman, salesmanList]}, {\"$contains\": [businessCategory, businessCategoryList]}]}]}]";
+ private static final String baseRoleName = "costCenter01Cmp";
+
@Override
public boolean processIf() throws Exception {
BaseCenter requestData = this.getRequestData();
log.info("requestData = {}", JSONUtil.toJsonStr(requestData));
- String droolStr = drool;
+ String droolStr = baseRoleService.getByName(baseRoleName);
+ log.info("droolStr = {}", droolStr);
Field[] fields = ReflectUtil.getFields(BaseCenter.class);
for (Field field : fields) {
Object fieldValue = ReflectUtil.getFieldValue(requestData, field);
@@ -49,7 +54,11 @@ public class CostCenter01Cmp extends NodeIfComponent {
String contentName = baseDataEntity.getContentName();
droolStr = StrUtil.replace(droolStr, contentName, content, false);
}
- droolStr = StrUtil.replace(droolStr, name, "\"" + fieldValue + "\"", false);
+ String filedValueStr = "";
+ if (ObjectUtil.isNotNull(fieldValue)) {
+ filedValueStr = fieldValue.toString();
+ }
+ droolStr = StrUtil.replace(droolStr, name, filedValueStr, false);
}
log.info("after - droolStr = {}", droolStr);
diff --git a/src/main/java/com/example/liteflow/mysql/cmp/costCenter/CostCenter02Cmp.java b/src/main/java/com/example/liteflow/mysql/cmp/costCenter/CostCenter02Cmp.java
index 6d163cd..1cf97cc 100644
--- a/src/main/java/com/example/liteflow/mysql/cmp/costCenter/CostCenter02Cmp.java
+++ b/src/main/java/com/example/liteflow/mysql/cmp/costCenter/CostCenter02Cmp.java
@@ -12,6 +12,7 @@ import com.example.liteflow.mysql.enums.BaseDataAttributionEnum;
import com.example.liteflow.mysql.model.BaseCenter;
import com.example.liteflow.mysql.model.CostCenter;
import com.example.liteflow.mysql.service.BaseDataService;
+import com.example.liteflow.mysql.service.BaseRoleService;
import com.example.liteflow.mysql.util.ConditionParser;
import com.googlecode.aviator.AviatorEvaluator;
import com.yomahub.liteflow.annotation.LiteflowComponent;
@@ -37,10 +38,15 @@ public class CostCenter02Cmp extends NodeIfComponent {
@Resource
private BaseDataService baseDataService;
+ @Resource
+ private BaseRoleService baseRoleService;
+ private static final String baseRoleName = "costCenter02Cmp";
@Override
public boolean processIf() throws Exception {
BaseCenter requestData = this.getRequestData();
- String droolStr = drool;
+ String droolStr = baseRoleService.getByName(baseRoleName);
+ log.info("droolStr = {}", droolStr);
+ log.info("CostCenter02Cmp-droolStr = {}", droolStr);
Field[] fields = ReflectUtil.getFields(BaseCenter.class);
for (Field field : fields) {
Object fieldValue = ReflectUtil.getFieldValue(requestData, field);
diff --git a/src/main/java/com/example/liteflow/mysql/controller/BaseRoleController.java b/src/main/java/com/example/liteflow/mysql/controller/BaseRoleController.java
new file mode 100644
index 0000000..a611b80
--- /dev/null
+++ b/src/main/java/com/example/liteflow/mysql/controller/BaseRoleController.java
@@ -0,0 +1,43 @@
+package com.example.liteflow.mysql.controller;
+
+import cn.hutool.json.JSONUtil;
+import com.example.liteflow.mysql.model.role.Role;
+import com.example.liteflow.mysql.model.role.RoleForm;
+import com.example.liteflow.mysql.service.BaseRoleService;
+import com.example.liteflow.mysql.util.RoleUtil;
+import com.yomahub.liteflow.core.FlowExecutor;
+import com.yomahub.liteflow.enums.FlowParserTypeEnum;
+import com.yomahub.liteflow.flow.FlowBus;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @author: 陈韦龙
+ * @date: 2022年12月07日 10:36
+ */
+@Slf4j
+@RestController
+@RequestMapping("/baseRole")
+public class BaseRoleController {
+
+ @Resource
+ private BaseRoleService baseRoleService;
+ @Resource
+ private FlowExecutor flowExecutor;
+ @PostMapping("/createRole")
+ public void createRole(@RequestBody RoleForm roleForm) {
+ baseRoleService.createRole(roleForm);
+// List roles = roleForm.getRoles();
+// List