规则引擎easy-rules初步学习之使用案例(四)

   日期:2024-12-27    作者:b957702 移动:http://oml01z.riyuangf.com/mobile/quote/72993.html

定义一个业务订单的场景,根据订单类型,执行对应的业务操作。假设,订单类型为两种:普通类型、折扣类型。

规则引擎easy-rules初步学习之使用案例(四)

普通类型订单:打印日志处理
折扣类型订单:执行折扣计算方法
下面介绍一下不引入mysql和引入mysql两种方式,首先先写入共同的部分。

 
 
 
 
 
 
 
  1. 创建测试文档
 


在本案例中,实现触发第一个适用规则,并忽略组中的其他规则,可以使用组合规则ActivationRuleGroup ,也可以给规则设置排序priority,因为DefaultRulesEngine根据规则的自然顺序(默认为优先级)应用规则,所以执行到适用规则,也不继续往下走了。
2. 运行结果展示
商品为普通商品时

BizOrder order1=new BizOrder();
order1.setGoods(“商品1”);
order1.setAmount(BigDecimal.valueOf(200));
order1.setType(1);
order1.setDiscount(BigDecimal.valueOf(0.7));

 

商品为折扣商品时

BizOrder order2=new BizOrder();
order2.setGoods(“商品2”);
order2.setAmount(BigDecimal.valueOf(200));
order2.setType(2);
order2.setDiscount(BigDecimal.valueOf(0.7));

 
 
  1. 普通类型订单
 
  1. 折扣类型订单
 
  1. 接口处理
  1. 定义json文件,biz_order_rule.json
 
  1. 构建rules配置
 
  1. API逻辑处理

 

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号