3.3 我的第一个规则

3.3.1 示例规则需求【信贷审批自动化】

(1)场景概述:

  • 小额贷款自动审批。

  • 基于【信用评分】和【年收入】条件自动决定是否批准贷款申请。

(2)规则逻辑

image-20260211185749208

(3)BOM定义信息

image-20260211185801891

(4)参数定义信息

image-20260211185817513

3.3.2 示例规则实现过程

image-20260211155717466

3.3.2.1 准备阶段

1)web端创建规则项目

image-20260211164021887

2)vscode端创建规则

在本地系统中创建一个空文件夹,然后在vscode中打开,即作为一个“规则项目”,并无特殊要求。

3)规则项目同步设置

image-20260211164451263

image-20260211164516010

3.3.2.2 创建BOM库

在业务系统开发过程中,会用到大量包含Getter和Setter方法的简单的Java对象,它们被称之为POJO(Plain Ordinary Java Object),或BOM(Business Object Model)对象,这些对象在开发中作为数据的载体,负责数据的传递。在UDM当中,变量库就是用来映射这些POJO对象,从而使得我们可以在具体的规则文件中使用它们,从而完成规则与业务数据的交互。
如下图所示,在UDM的BOM设计器中,完成【LoanApplication  贷款申请】的定义。

image-20260211161949823

3.3.2.3 创建参数库

​  在UDM编辑器中,在vscode“资源管理器”任一文件上右键菜单,点击【规则项目属性】即可打开如下画面,我们可以发现下图示例已配置好的参数项,其类型可以是复杂 BOM 类型或简单类型(String, Number, Boolean)。

image-20260211161928563

3.3.2.4 实现方式一:业务规则+决策流

1)创建业务规则

image-20260211162110192

2)编写【高风险客户】规则

image-20260211163102866

3)编写【高信用低收入客户】规则

image-20260211163117747

4)编写【中等信用和收入客户】规则

image-20260211163131753

5)编写【低信用高收入客户】规则

image-20260211163221540

6)编写【其它情况转人工】规则

image-20260211163234665

7)编写规则流

​  说明:细心的读者已经发现同一贷款申请人,不会同时满足这5个业务规则(存在互斥的关系),故而我们以规则流串联起上述的5个业务规则,并让其按照指定的顺序执行(if...elseif...elseif...elseif...else),须在决策流的【规则任务】节点上指定了“要执行的规则文件”算法为【顺序】且“排序”为【优先级】。

image-20260211161315535

​  另一种实现:其实我们也可以不指定规则文件的指定顺序,毕竟按顺序执行性能极低,不能发挥出UDM高性能优势;可以将上述规则流进行改进,拆分成两个 ”规则任务节点“,指定算法为【快速路径】,第一个节点绑定4个规则文件,第二个节点绑定“其它情况.brl”文件作为兜底规则。最终规则执行结果也符合预期。

image-20260227115917708

(图:规则任务节点配置画面)

image-20260227115940413

(图:其它规则节点配置画面)

8)快速测试验证结果

image-20260214101303752

(图:快速测试画面)

image-20260211164751335

(图:查看规则匹配日志)

3.3.2.5 实现方式二:决策表

image-20260211164544294

3.3.2.6 实现方式三:决策树

image-20260211164611745

3.3.3 启用规则服务

3.3.2.1 从vscode中发布规则

image-20260211165044921

3.3.2.2 管理规则包

​ 管理员用户登录到web后台,进入到如下画面,即可对已发布规则包进行管理。

image-20260211165121902

1)启用规则服务

​ 用户选中一个规则包,如下图所示选中了【贷款决策树】,然后点击右上角的【启用规则服务】按钮,即可启用了http Rest服务,外围系统可访问此url地址即可消费此规则服务。

image-20260211184247037

2)Mock测试

​ 点击右上角【模拟测试】按钮,打开如下窗口,填充请求数据后,点击提交即触发规则的调用,并返回决策结果。

image-20260211184223849

3)在三方工具中模拟规则消费情况

image-20260211184740631

results matching ""

    No results matching ""