From e0a92000ab585273e156e00168fa95cde87cc6fa Mon Sep 17 00:00:00 2001 From: Cui YongXing <2835316714@qq.com> Date: Tue, 10 Sep 2024 14:53:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B6=85=E6=97=B6=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TaskInfoServiceImpl.java | 37 +++++++++++++------ 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java b/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java index e9a26c3..b11e322 100644 --- a/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java +++ b/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java @@ -18,6 +18,8 @@ import com.muyu.etl.domain.DataValue; import com.muyu.remote.feign.DatasourceFeign; import com.muyu.remote.feign.RuleFeign; import com.muyu.rule.common.domain.DataValueFie; +import com.muyu.rule.common.domain.DataValueRow; +import com.muyu.rule.common.domain.DataValueRows; import com.muyu.rule.common.domain.RuleEngineVersion; import com.muyu.task.server.mapper.TaskInfoMapper; import com.muyu.task.server.service.*; @@ -401,9 +403,13 @@ public class TaskInfoServiceImpl extends ServiceImpl i log.info(finalCurrentFuture); Callable task = () -> { DataValue[][] prevResult = finalCurrentFuture.get(); + HashSet set = new HashSet<>(); //log.info(data.getClassName()); if (data.getRuleId().equals("3")) { - + DataValueRows dataValueRows = new DataValueRows(); + dataValueRows.setDataValue(prevResult); + dataValueRows.setKey(nodeRule.getConfig()); + ruleConfig.DataSetEngine(data.getClassName(),dataValueRows); } if (data.getRuleId().equals("1")) { for (DataValue[] values : prevResult) { @@ -414,7 +420,9 @@ public class TaskInfoServiceImpl extends ServiceImpl i dataValueFie.setDataValue(value); dataValueFie.setKey(nodeRule.getConfig()); //DataValue dataValue = loadEngineClass.testEngine(data.getClassName(), value); - ruleConfig.testEngine(data.getClassName(),dataValueFie); + Result dataValueResult = ruleConfig.testEngine(data.getClassName(), dataValueFie); + DataValue data1 = dataValueResult.getData(); + value=data1; } catch (Exception e) { log.error(e.getMessage()); } @@ -423,16 +431,23 @@ public class TaskInfoServiceImpl extends ServiceImpl i } if (data.getRuleId().equals("2")) { -// for (DataValue[] values : prevResult) { -// for (DataValue value : values) { -// log.info(value.getValue()); -// Result result1 = ruleFeign.testEngine(data.getClassName(), value); -// log.info(result1); -// } -// } - + for (int i = 0; i < prevResult.length; i++) { + DataValueRow valueRow = new DataValueRow(); + valueRow.setDataValue(prevResult[i]); + valueRow.setKey(nodeRule.getConfig()); + Result result1 = ruleConfig.testEngine(data.getClassName(), valueRow); + if (result1.getCode()==200){ + DataValue[] result1Data = result1.getData(); + prevResult[i]=result1Data; + }else { + set.add(i); + } + } } - return prevResult; + List listArrays = Arrays.stream(prevResult).toList(); + listArrays.removeAll(set); + DataValue[][] array = (DataValue[][]) listArrays.toArray(); + return array; }; // 提交任务并更新当前Future