2026-04-07 11:23:27 +08:00
|
|
|
|
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
|