diff --git a/common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java b/common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java index 0d7d29d..18e915d 100644 --- a/common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java +++ b/common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java @@ -120,6 +120,7 @@ public class OnlineFormController { * @param tableType 表类型(0 附表 / 1 主表 / 2 单表,不传则全部) */ @GetMapping(value = "/syncFieldToHistory") + @NoAuthInterface public ResponseResult syncFieldToHistory(@RequestParam String fieldName, @RequestParam String type, @RequestParam(required = false) Integer length, diff --git a/common/common-online/src/main/java/apelet/common/online/rule/FormRuleEngine.java b/common/common-online/src/main/java/apelet/common/online/rule/FormRuleEngine.java index d73318e..5fcaed2 100644 --- a/common/common-online/src/main/java/apelet/common/online/rule/FormRuleEngine.java +++ b/common/common-online/src/main/java/apelet/common/online/rule/FormRuleEngine.java @@ -62,12 +62,30 @@ public class FormRuleEngine { if (rule == null) { return null; } + return executeAction(rule, buildObjectValue(rule.getCondition().getExpression(), values)); + } + + public List executeAction(String ruleJson, ObjectValue values, RuleTypeEnum ruleType) { + if (StringUtils.isBlank(ruleJson)) { + return null; + } + FormRule rule = parser.parseSingle(JSONObject.parseObject(ruleJson), ruleType); + if (rule == null) { + return null; + } + return executeAction(rule, values); + } + + public List executeAction(FormRule rule, ObjectValue values) { + if (rule == null) { + return null; + } List result = new ArrayList<>(); - executeRule(rule, null, buildObjectValue(rule.getCondition().getExpression(), values), null, - new OnlineEventPluginExecuteDto(), result); + executeRule(rule, null, values, null, new OnlineEventPluginExecuteDto(), result); return result; } + private void executeRule(FormRule rule, OnlineForm form, ObjectValue ov, String eventCode, OnlineEventPluginExecuteDto dto, List result) { if (!rule.isEnable()) {