1
0

feat: EL表达式简写,默认套任务监控模板

This commit is contained in:
2025-09-11 12:08:39 +08:00
parent 8a0c1ae3be
commit c3099a970e
3 changed files with 17 additions and 1 deletions

View File

@@ -104,5 +104,10 @@
<codeStyleSettings language="kotlin">
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</codeStyleSettings>
<codeStyleSettings language="yaml">
<option name="LINE_COMMENT_AT_FIRST_COLUMN" value="false" />
<option name="LINE_COMMENT_ADD_SPACE" value="true" />
<option name="LINE_COMMENT_ADD_SPACE_ON_REFORMAT" value="true" />
</codeStyleSettings>
</code_scheme>
</component>

View File

@@ -1,6 +1,7 @@
package com.lanyuanxiaoyao.leopard.server.controller;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.lanyuanxiaoyao.leopard.core.entity.TaskTemplate;
import com.lanyuanxiaoyao.leopard.server.service.TaskTemplateService;
import com.lanyuanxiaoyao.service.template.controller.SimpleControllerSupport;
@@ -30,7 +31,7 @@ public class TaskTemplateController extends SimpleControllerSupport<TaskTemplate
template.setDescription(item.description());
template.setApplication(application);
template.setChain(IdUtil.simpleUUID());
template.setExpression(item.expression());
template.setExpression(StrUtil.format("CATCH(THEN(task_start, ({}), task_end)).DO(task_error)", item.expression()));
return template;
};
}

View File

@@ -3,6 +3,7 @@ package com.lanyuanxiaoyao.leopard.server.service;
import com.lanyuanxiaoyao.leopard.core.entity.TaskTemplate;
import com.lanyuanxiaoyao.leopard.core.repository.TaskTemplateRepository;
import com.lanyuanxiaoyao.service.template.service.SimpleServiceSupport;
import com.yomahub.liteflow.builder.el.LiteFlowChainELBuilder;
import com.yomahub.liteflow.meta.LiteflowMetaOperator;
import org.springframework.stereotype.Service;
@@ -12,8 +13,16 @@ public class TaskTemplateService extends SimpleServiceSupport<TaskTemplate> {
super(repository);
}
private void validateExpression(String expression) {
var response = LiteFlowChainELBuilder.validateWithEx(expression);
if (!response.isSuccess()) {
throw new RuntimeException(response.getCause());
}
}
@Override
public Long save(TaskTemplate entity) {
validateExpression(entity.getExpression());
Long id = super.save(entity);
LiteflowMetaOperator.reloadAllChain();
return id;
@@ -21,6 +30,7 @@ public class TaskTemplateService extends SimpleServiceSupport<TaskTemplate> {
@Override
public void save(Iterable<TaskTemplate> taskTemplates) {
taskTemplates.forEach(template -> validateExpression(template.getExpression()));
super.save(taskTemplates);
LiteflowMetaOperator.reloadAllChain();
}