drools条件匹配问题,求大佬帮忙
drl规则我是这么定义的:
rule "callMeterPoweroffEvent"
agenda-group "poweroffCheck"
when
$fact :(KieFlowFact( actIndex < 0)
or KieFlowFact( execResult!.flowActName == FlowActEnum.PoweroffCheckAct.CALL_METER_POWEROFF_EVENT, execResult#FlowActExecResult.resultCode != 0, execTimes < 5)
)
then
$fact.setStatus(KieFlowFact.running);
$fact.setCurrRuleName("callMeterPoweroffEvent");
$fact.setSyncType(KieFlowFact.async);
$fact.setExecClassName("com.xinlian.workFlowServer.util.PoweroffCheckActExecutor");
$fact.setExecMethod("callMeterPoweroffEvent");
$fact.setBackHandleMethod("callMeterPoweroffEventBack");
end
我的KieFlowFact对象
{"actIndex":-1,"agendaGroup":"poweroffCheck","flowId":410000002020596,"matchStatus":"0"}
这样是可以匹配上这个规则的
{"actIndex":0,"agendaGroup":"poweroffCheck","execResult":{"flowActName":"callMeterPoweroffEvent","nextExecTime":1619337250000,"resultCode":304,"suspend":true},"execTimes":0,"flowId":410000002020596,"matchStatus":"0"}
这个对象为啥匹配不了??求解是我的drl定义有问题吗