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 3706a14..6e7ee50 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 @@ -10,9 +10,11 @@ import com.example.liteflow.mysql.entity.BaseDataEntity; import com.example.liteflow.mysql.entity.DynamicScriptEntity; import com.example.liteflow.mysql.enums.BaseDataAttributionEnum; import com.example.liteflow.mysql.model.BaseCenter; +import com.example.liteflow.mysql.model.role.Role; import com.example.liteflow.mysql.service.BaseDataService; 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.core.NodeIfComponent; import lombok.extern.slf4j.Slf4j; @@ -22,6 +24,8 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.lang.reflect.Field; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @author: 陈韦龙 @@ -55,7 +59,12 @@ public class CostCenterCmp extends NodeIfComponent { log.info("nodeId = {}, nodeName = {}", nodeId, nodeName); DynamicScriptEntity dynamicScriptEntity = dynamicScriptService.getByScriptId(nodeId); if (ObjectUtil.isNotNull(dynamicScriptEntity) && StrUtil.isNotBlank(dynamicScriptEntity.getScriptRole())) { - String droolStr = dynamicScriptEntity.getScriptRole(); + String scriptRole = dynamicScriptEntity.getScriptRole(); + log.info("scriptRole = {}", scriptRole); + List roles = JSONUtil.toList(JSONUtil.parseArray(scriptRole), Role.class); + List> collect = roles.stream().map(RoleUtil::parseRole).collect(Collectors.toList()); + String droolStr = JSONUtil.toJsonStr(collect); + // 替换规则中的关键字 Field[] fields = ReflectUtil.getFields(BaseCenter.class); for (Field field : fields) { 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 ce00abb..af2fbe8 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 @@ -10,9 +10,11 @@ import com.example.liteflow.mysql.entity.BaseDataEntity; import com.example.liteflow.mysql.entity.DynamicScriptEntity; import com.example.liteflow.mysql.enums.BaseDataAttributionEnum; import com.example.liteflow.mysql.model.BaseCenter; +import com.example.liteflow.mysql.model.role.Role; import com.example.liteflow.mysql.service.BaseDataService; 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.core.NodeIfComponent; import lombok.extern.slf4j.Slf4j; @@ -20,6 +22,9 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.lang.reflect.Field; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @author: 陈韦龙 @@ -48,13 +53,17 @@ public class ProfitCenterCmp extends NodeIfComponent { log.info("nodeId = {}, nodeName = {}", nodeId, nodeName); DynamicScriptEntity dynamicScriptEntity = dynamicScriptService.getByScriptId(nodeId); if (ObjectUtil.isNotNull(dynamicScriptEntity) && StrUtil.isNotBlank(dynamicScriptEntity.getScriptRole())) { - String droolStr = dynamicScriptEntity.getScriptRole(); + String scriptRole = dynamicScriptEntity.getScriptRole(); + log.info("scriptRole = {}", scriptRole); + List roles = JSONUtil.toList(JSONUtil.parseArray(scriptRole), Role.class); + List> collect = roles.stream().map(RoleUtil::parseRole).collect(Collectors.toList()); + String droolStr = JSONUtil.toJsonStr(collect); // 替换规则中的关键字 Field[] fields = ReflectUtil.getFields(BaseCenter.class); for (Field field : fields) { Object fieldValue = ReflectUtil.getFieldValue(requestData, field); String name = field.getName(); - BaseDataEntity baseDataEntity = baseDataService.getByType(name, BaseDataAttributionEnum.costCenter.getAttribution()); + BaseDataEntity baseDataEntity = baseDataService.getByType(name, BaseDataAttributionEnum.profitCenter.getAttribution()); if (ObjectUtil.isNotNull(baseDataEntity)) { String content = baseDataEntity.getContent(); String contentName = baseDataEntity.getContentName();