zoukankan      html  css  js  c++  java
  • 【Drools-开源业务规则引擎】入门实例(含源码)

    该实例转自:http://blog.csdn.net/quzishen/article/details/6163012

    便于理解的应用实例1:

    现在我们模拟一个应用场景:网站伴随业务产生而进行的积分发放操作。比如支付宝信用卡还款奖励积分等。

    发放积分可能伴随不同的运营策略和季节性调整,发放数目和规则完全不同,如果使用硬编码的方式去伴随业务调整而修改,代码的修改、管理、优化、测试、上线将是一件非常麻烦的事情,所以,将发放规则部分提取出来,交给Drools管理,可以极大程度的解决这个问题。

    (注意一点的是,并非所有的规则相关内容都建议使用Drools,这其中要考虑系统会运行多久,规则变更频率等一系列条件,如果你的系统只会在线上运行一周,那根本没必要选择Drools来加重你的开发成本,java硬编码的方式则将是首选)

    我们定义一下发放规则:

    积分的发放参考因素有:交易笔数、交易金额数目、信用卡还款次数、生日特别优惠等。

    定义规则:

    // 过生日,则加10分,并且将当月交易比数翻倍后再计算积分

    // 2011-01-08 - 2011-08-08每月信用卡还款3次以上,每满3笔赠送30分

    // 当月购物总金额100以上,每100元赠送10分

    // 当月购物次数5次以上,每五次赠送50分

    // 特别的,如果全部满足了要求,则额外奖励100分

    // 发生退货,扣减10分

    // 退货金额大于等于100,扣减100分

    根据这些规则,我们让Drools自动为我们计算出为某个特定用户发放的积分数为多少。

    源码:https://github.com/XBWer/DroolsDemo


        另外举个例子——QQ等级加速

    根据一系列的加速规则进行加速。

    image







                If you have any questions about this article, welcome to leave a message on the message board.



    Brad(Bowen) Xu
    E-Mail : maxxbw1992@gmail.com


  • 相关阅读:
    VS无法打开类视图
    C#中的Boolean类型
    Some websites to learn Ubuntun
    HOW TO : Install Eclipse with C/C++ in Ubuntu 12.04
    [转载]Android开发之旅:环境搭建及HelloWorld
    C#学习笔记—了解C#
    C#继承机制
    使用U盘安装Ubuntu
    [Z]ubuntu12.04搭建android开发环境
    Windows程序的调用方法
  • 原文地址:https://www.cnblogs.com/XBWer/p/4170833.html
Copyright © 2011-2022 走看看