Pre Merge pull request !76 from Srzou/1.2.0-beta1

This commit is contained in:
Srzou 2024-07-23 01:59:23 +00:00 committed by Gitee
commit 7598bd992c
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 5 additions and 6 deletions

View File

@ -91,7 +91,7 @@ public class WorkflowController {
@PostMapping("/check-node-expression") @PostMapping("/check-node-expression")
@LoginRequired(role = RoleEnum.USER) @LoginRequired(role = RoleEnum.USER)
public Pair<Integer, String> checkNodeExpression(@RequestBody @Validated CheckDecisionVO checkDecisionVO) { public Pair<Integer, Object> checkNodeExpression(@RequestBody @Validated CheckDecisionVO checkDecisionVO) {
return workflowService.checkNodeExpression(checkDecisionVO); return workflowService.checkNodeExpression(checkDecisionVO);
} }

View File

@ -37,7 +37,7 @@ public interface WorkflowService {
List<WorkflowResponseVO> getWorkflowNameList(String keywords, Long workflowId, String groupName); List<WorkflowResponseVO> getWorkflowNameList(String keywords, Long workflowId, String groupName);
Pair<Integer, String> checkNodeExpression(CheckDecisionVO decisionVO); Pair<Integer, Object> checkNodeExpression(CheckDecisionVO decisionVO);
void importWorkflowTask(@Valid @NotEmpty(message = "导入数据不能为空") List<WorkflowRequestVO> requests); void importWorkflowTask(@Valid @NotEmpty(message = "导入数据不能为空") List<WorkflowRequestVO> requests);

View File

@ -296,19 +296,18 @@ public class WorkflowServiceImpl implements WorkflowService {
} }
@Override @Override
public Pair<Integer, String> checkNodeExpression(CheckDecisionVO decisionVO) { public Pair<Integer, Object> checkNodeExpression(CheckDecisionVO decisionVO) {
try { try {
ExpressionEngine realExpressionEngine = ExpressionTypeEnum.valueOf(decisionVO.getExpressionType()); ExpressionEngine realExpressionEngine = ExpressionTypeEnum.valueOf(decisionVO.getExpressionType());
Assert.notNull(realExpressionEngine, () -> new SnailJobServerException("表达式引擎不存在")); Assert.notNull(realExpressionEngine, () -> new SnailJobServerException("表达式引擎不存在"));
ExpressionInvocationHandler invocationHandler = new ExpressionInvocationHandler(realExpressionEngine); ExpressionInvocationHandler invocationHandler = new ExpressionInvocationHandler(realExpressionEngine);
ExpressionEngine expressionEngine = ExpressionFactory.getExpressionEngine(invocationHandler); 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) { } catch (Exception e) {
SnailJobLog.LOCAL.error("表达式异常. [{}]", decisionVO.getNodeExpression(), e); SnailJobLog.LOCAL.error("表达式异常. [{}]", decisionVO.getNodeExpression(), e);
return Pair.of(StatusEnum.NO.getStatus(), e.getMessage()); return Pair.of(StatusEnum.NO.getStatus(), e.getMessage());
} }
return Pair.of(StatusEnum.YES.getStatus(), StrUtil.EMPTY);
} }
@Override @Override