|
|
|
@ -62,12 +62,30 @@ public class FormRuleEngine { |
|
|
|
if (rule == null) { |
|
|
|
if (rule == null) { |
|
|
|
return null; |
|
|
|
return null; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return executeAction(rule, buildObjectValue(rule.getCondition().getExpression(), values)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public List<Object> 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<Object> executeAction(FormRule rule, ObjectValue values) { |
|
|
|
|
|
|
|
if (rule == null) { |
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
|
|
} |
|
|
|
List<Object> result = new ArrayList<>(); |
|
|
|
List<Object> result = new ArrayList<>(); |
|
|
|
executeRule(rule, null, buildObjectValue(rule.getCondition().getExpression(), values), null, |
|
|
|
executeRule(rule, null, values, null, new OnlineEventPluginExecuteDto(), result); |
|
|
|
new OnlineEventPluginExecuteDto(), result); |
|
|
|
|
|
|
|
return result; |
|
|
|
return result; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void executeRule(FormRule rule, OnlineForm form, ObjectValue ov, String eventCode, |
|
|
|
private void executeRule(FormRule rule, OnlineForm form, ObjectValue ov, String eventCode, |
|
|
|
OnlineEventPluginExecuteDto dto, List<Object> result) { |
|
|
|
OnlineEventPluginExecuteDto dto, List<Object> result) { |
|
|
|
if (!rule.isEnable()) { |
|
|
|
if (!rule.isEnable()) { |
|
|
|
|