Pre Merge pull request !76 from Srzou/1.2.0-beta1
This commit is contained in:
commit
7598bd992c
@ -91,7 +91,7 @@ public class WorkflowController {
|
||||
|
||||
@PostMapping("/check-node-expression")
|
||||
@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);
|
||||
}
|
||||
|
||||
|
@ -37,7 +37,7 @@ public interface WorkflowService {
|
||||
|
||||
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);
|
||||
|
||||
|
@ -296,19 +296,18 @@ public class WorkflowServiceImpl implements WorkflowService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pair<Integer, String> checkNodeExpression(CheckDecisionVO decisionVO) {
|
||||
public Pair<Integer, Object> 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
|
||||
|
Loading…
Reference in New Issue
Block a user