场景1:评分规则
1、链配置示例
效果与 drools 类似
# demo.chain.yml
id: "r1"
title: "评分规则"
nodes:
- { type: "start"}
- { when: "order.getAmount() >= 100", task: "order.setScore(0);"}
- { when: "order.getAmount() > 100 && order.getAmount() <= 500", task: "order.setScore(100);"}
- { when: "order.getAmount() > 500 && order.getAmount() <= 1000", task: "order.setScore(500);"}
- { type: "end"}
规则模式运行时,可以使用简化模式:
- id 不配置时,会自动生成,并按顺序自动建立链接关系
- when 条件,表示当前执行任务的运行条件
2、链应用示例
@Component
public class DemoCom {
@Inject
FlowEngine flowEngine;
//评分
public int score(Order order) {
//执行
flowEngine.eval("r1", new ChainContext().put("order", order));
//获取评分结果
return order.getScore();
}
}