基于Drools 规则引擎的信用卡申请系统<1> 之 总体概述
正题:基于Drools规则引擎的信用卡申请系统
开发环境:Drools 4.0.7 Eclipse3.2 + MyEclipse 5.5
Struts 2 Extjs Json
今有如下业务规则:根据申请者提交的信息来判断是否符合申请标准:
业务规则图表:
检查是否符合方法规则:
规则号 |
描述 |
1 |
如果没房也没车,同时学历为大专及以下,并且月薪少于 5000 ,那么不通过。
|
2 |
如果没房也没车,同时学历为大专或本科,并且月薪少于 3000 ,那么不通过
|
3 |
如果既没房也没车,同时学历为本科以上,并且月薪少于 2000 ,那么不通过
|
发放规则表:
规则号 |
描述 |
1 |
如果申请人有房有车,或者月收入在 20000 以上,那么发放的信用卡信用额度为 15000
|
2 |
如果申请人没房没车,但月收入在 10000~20000 之间,那么发放的信用卡信用额度为 6000
|
3 |
如果申请人没房没车,月收入在 10000 以下,那么发放的信用额度为 3000
|
4 |
如果申请人有房没车或者是没房但有车,月收入在 10000 以下,那么发放的信用额度为 5000
|
5 |
如果申请人有房没车或者是没房但有车,月收入在 10000~2000 之间,那么发放的信用额度为 8000
|
设计:利用Extjs 来设计Web UI ,在Struts 2 中 使用 Drools规则引擎来进行推理
系统实现:
所含的文件包等信息如下:
环境构造:
Struts 2 部分:
Web.xml中添加:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Struts.xml 中 【注:与 Struts 2.X 不同】
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"
http://struts.apache.org/dtds/struts-2.0.dtd
">
<struts>
<package name="S2" extends="json-default">
<action name="apply" class="com.chen.action.Apply">
<result type="json"></result>
</action>
</package>
</struts>
【注:使用的是 json-default】