火力规则:java静态方法实现规则

This commit is contained in:
MHW
2026-04-07 11:23:27 +08:00
parent 3e871e2dbd
commit 866fd215f2
14 changed files with 3662 additions and 244 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,37 @@
package rules;
import com.solution.rule.domain.ultimately.fact.DroolsFact;
import java.util.Map;
import com.solution.rule.utils.RuleFunction.equipmentRule;
global java.util.Map globalParams;
function Map buildParam(){
Map param = new java.util.HashMap();
//权重因子
param.put("weight", 1);
//最低入选分数
param.put("minSelectedScore",1);
//蓝方坦克类 -> 红方反坦克加分
param.put("tankScore", 1);
//蓝方空中类 -> 红方反空中加分
param.put("airScore", 2);
//蓝方地面类 -> 红方远程打击加分
param.put("groundScore", 1);
//蓝方有导弹 -> 红方防空加分
param.put("missileScore", 1);
//蓝方是空中任务 -> 红方防空加分
param.put("airTaskScore", 10);
}
rule "装备匹配"
salience 100
when
$fact : DroolsFact(task.side != "")
then
//如何引入Java静态方法
equipmentRule($fact, globalParams);
end