From e0504999ae2ff879c26aab13768c02b4b29671d2 Mon Sep 17 00:00:00 2001 From: srzou Date: Tue, 23 Jul 2024 09:58:12 +0800 Subject: [PATCH] =?UTF-8?q?feat(sj=5F1.2.0-beta1):=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E5=86=B3=E7=AD=96=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E4=B8=8A=E4=B8=8B=E6=96=87=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../snailjob/server/web/controller/WorkflowController.java | 2 +- .../snailjob/server/web/service/WorkflowService.java | 2 +- .../server/web/service/impl/WorkflowServiceImpl.java | 7 +++---- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/WorkflowController.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/WorkflowController.java index 4e9a8e789..9a3296032 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/WorkflowController.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/WorkflowController.java @@ -91,7 +91,7 @@ public class WorkflowController { @PostMapping("/check-node-expression") @LoginRequired(role = RoleEnum.USER) - public Pair checkNodeExpression(@RequestBody @Validated CheckDecisionVO checkDecisionVO) { + public Pair checkNodeExpression(@RequestBody @Validated CheckDecisionVO checkDecisionVO) { return workflowService.checkNodeExpression(checkDecisionVO); } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/WorkflowService.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/WorkflowService.java index 7fe786c09..4c5e2cd0e 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/WorkflowService.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/WorkflowService.java @@ -37,7 +37,7 @@ public interface WorkflowService { List getWorkflowNameList(String keywords, Long workflowId, String groupName); - Pair checkNodeExpression(CheckDecisionVO decisionVO); + Pair checkNodeExpression(CheckDecisionVO decisionVO); void importWorkflowTask(@Valid @NotEmpty(message = "导入数据不能为空") List requests); diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowServiceImpl.java index 2822985dc..71525abf2 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowServiceImpl.java @@ -296,19 +296,18 @@ public class WorkflowServiceImpl implements WorkflowService { } @Override - public Pair checkNodeExpression(CheckDecisionVO decisionVO) { + public Pair checkNodeExpression(CheckDecisionVO decisionVO) { try { ExpressionEngine realExpressionEngine = ExpressionTypeEnum.valueOf(decisionVO.getExpressionType()); Assert.notNull(realExpressionEngine, () -> new SnailJobServerException("表达式引擎不存在")); ExpressionInvocationHandler invocationHandler = new ExpressionInvocationHandler(realExpressionEngine); ExpressionEngine expressionEngine = ExpressionFactory.getExpressionEngine(invocationHandler); - expressionEngine.eval(decisionVO.getNodeExpression(), decisionVO.getCheckContent()); + Object eval = expressionEngine.eval(decisionVO.getNodeExpression(), decisionVO.getCheckContent()); + return Pair.of(StatusEnum.YES.getStatus(), eval); } catch (Exception e) { SnailJobLog.LOCAL.error("表达式异常. [{}]", decisionVO.getNodeExpression(), e); return Pair.of(StatusEnum.NO.getStatus(), e.getMessage()); } - - return Pair.of(StatusEnum.YES.getStatus(), StrUtil.EMPTY); } @Override