分享好友 最新资讯首页 最新资讯分类 切换频道
规则引擎Drools使用,0基础入门规则引擎Drools(五)实战+决策表
2024-12-28 01:39



文章目录

  • 系列文章索引
  • 十、个人所得税计算器实战
  • 1、名词解释
  • 2、计算规则
  • 3、实现步骤
  • 十一、信用卡申请实战
  • 1、计算规则
  • 2、实现
  • 十二、保险产品准入规则实战
  • 1、决策表
  • 2、基于决策表的入门案例
  • 3、保险产品规则介绍
  • 4、实现步骤
  • 5、资料


我们需要通过Drools规则引擎来根据规则计算个人所得税,最终页面效果如下:

税前月收入:即税前工资,指交纳个人所得税之前的总工资

应纳税所得额:指按照税法规定确定纳税人在一定期间所获得的所有应税收入减除在该纳税期间依法允许减除的各种支出后的余额

税率:是对征税对象的征收比例或征收额度

速算扣除数:指为解决超额累进税率分级计算税额的复杂技术问题,而预先计算出的一个数据,可以简化计算过程

扣税额:是指实际缴纳的税额

税后工资:是指扣完税后实际到手的工资收入

要实现个人所得税计算器,需要了解如下计算规则:

规则编号 名称 描述

本实战案例我们基于Spring Boot整合Drools的方式来实现。

第一步:创建maven工程calculation并配置pom.xml文件

第二步:创建/resources/application.yml文件

第三步:编写配置类DroolsConfig

第四步:编写实体类Calculation

第五步:在resources/rules下创建规则文件calculation.drl文件

第六步:创建RuleService

第七步:创建RuleController

第八步:创建启动类DroolsApplication

第九步:准备前端页面

我们需要通过Drools规则引擎来根据规则进行申请人的合法性检查,检查通过后再根据规则确定信用卡额度,最终页面效果如下:

合法性检查规则如下:

信用卡额度确定规则:

编写实体类CreditCardApplyInfo:

在resources/rules下创建规则文件creditCardApply.drl文件

前面的课程中我们编写的规则文件都是drl形式的文件,Drools除了支持drl形式的文件外还支持xls格式的文件(即Excel文件)。这种xls格式的文件通常称为决策表(decision table)。

决策表(decision table)是一个“精确而紧凑的”表示条件逻辑的方式,非常适合商业级别的规则。决策表与现有的drl文件可以无缝替换。Drools提供了相应的API可以将xls文件编译为drl格式的字符串。

一个决策表的例子如下:


决策表语法:

在决策表中还经常使用到占位符,语法为$后面加数字,用于替换每条规则中设置的具体值。

上面的决策表例子转换为drl格式的规则文件内容如下:

要进行决策表相关操作,需要导入如下maven坐标:

通过下图可以发现,由于maven的依赖传递特性在导入drools-decisiontables坐标后,drools-core和drools-compiler等坐标也被传递了过来


Drools提供的将xls文件编译为drl格式字符串的API如下:

Drools还提供了基于drl格式字符串创建KieSession的API:

第一步:创建maven工程drools_decisiontable_demo并配置pom.xml文件

第二步:创建实体类PersonInfoEntity

第三步:创建xls规则文件(可以直接使用资料中提供的testRule.xls文件)

第四步:创建单元测试

各保险公司针对人身、财产推出了不同的保险产品,作为商业保险公司,筛选出符合公司利益最大化的客户是非常重要的,即各保险产品的准入人群是不同的,也就是说保险公司会针对不同的人群特征,制定不同的产品缴费和赔付规则。

我们来看一下某保险产品准入规则的简化版,当不满足以下规则时,系统模块需要返回准入失败标识和失败原因

规则1: 保险公司是:PICC
规则2: 销售区域是:北京、天津
规则3: 投保人年龄:0 ~ 17岁
规则4: 保险期间是:20年、25年、30年
规则5: 缴费方式是:趸交(一次性交清)或年交
规则6: 保险期与交费期规则一:保险期间为20年期交费期间最长10年交且不能选择[趸交]
规则7: 保险期与交费期规则二:保险期间为25年期交费期间最长15年交且不能选择[趸交]
规则8: 保险期与交费期规则三:保险期间为30年期交费期间最长20年交且不能选择[趸交]
规则9: 被保人要求:(投保年龄+保险期间)不得大于40周岁
规则10: 保险金额规则:投保时约定,最低为5万元,超过部分必须为1000元的整数倍
规则11: 出单基本保额限额规则:线上出单基本保额限额62.5万元,超62.5万元需配合契调转线下出单

在本案例中规则文件是一个Excel文件,业务人员可以直接更改这个文件中指标的值,系统不需要做任何变更。

本案例还是基于Spring Boot整合Drools的架构来实现。

第一步:创建maven工程insuranceInfoCheck并配置pom.xml文件

第二步:创建/resources/application.yml文件

第三步:创建实体类InsuranceInfo

第四步:创建决策表文件(也可以直接使用实战资料中提供的insuranceInfoCheck.xls文件)


第五步:封装工具类KieSessionUtils

第六步:创建RuleService类

第七步:创建RuleController类

第八步:创建启动类DroolsApplication

最新文章
王者荣耀,曜战力巅峰之争,谁将问鼎荣耀之巅?
在王者荣耀的浩瀚星海中,曜这个英雄以其独特的技能和炫酷的造型,吸引了无数玩家的目光,而曜战力排名,更是成为玩家们热议的焦
张明才副司令被抓视频播放|词语释义解释落实
关于张明才副司令被抓事件:视频播放、词语释义及解释落实的探讨网络上关于张明才副司令被抓的消息引起了广泛关注,随着事件的发
怀化多功能电力仪表AEC4610用途+2025排名一览
怀化多功能电力仪表AEC4610用途+2025排名一览 1. 产品概述 - WSK - S-(TH)智能温湿度控制器是一种能够对环境温湿度进行精确监测
【Windows优化大师和秀米微信编辑器哪个好用】Windows优化大师和秀米微信编辑器对比-ZOL下载
秀米微信编辑器是一个微信公众平台文章编辑工具,对于经营微信公众号的人来说怎样的文章排版才能吸引用户是很多人一直都在思考的
动漫:东京吃货中谁的实力最强,金木研仅排第三
一起补番欢迎关注大家好,我是二次元剑心,东京喰种相信大家都看过,为了方便大家了解以东京吃货代替,你知道东京吃货中谁的实力
指定教程“微信微乐锄大地透视免费安装”附开挂脚本详细步骤
微乐小程序是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微下载使用。微乐小程序可以一键
【Droid Eris淘宝下载】HTC Droid Eris淘宝10.41.12免费下载
淘宝是一个好逛、丰富、有趣的消费生活社区,每天有亿万消费者来淘宝“逛街”:发现好物、找到乐趣、表达体验……淘宝能满足人们
海外网红直播成功案例分析!看看这些品牌如何通过直播获取百万流量
随着直播带货的火热,越来越多的国内品牌通过网红直播成功进军海外市场。借助海外网红的巨大影响力,这些品牌不仅提升了曝光度,
微软正在改进 Win11 “开始”菜单的推荐功能:提高推荐的准确性
   12 月 16 日消息,Windows 11 的开始菜单旨在根据用户的使用习惯推荐应用程序、网站和文件,例如,如果用户经常打开 office
零起点学裁剪 服装裁剪自学书入门 男装女装女裙子设计 缝纫制作打版大全 邰红、陈淑文 mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024
基本信息 书名:零起点学裁剪 价:39.80元 作者:邰红、陈淑文 出版社:化学工业出版社 出版日期:2014-07-01 ISBN:97871222006