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