规则典型案例
特定领域标准规则,报销考勤、交易风控、保险理赔、电商折扣、电信计费、物联告警等。
简单案例-电商活动折扣
根据会员级别、订单金额、生日来确定商品折扣。
场景适用于表达式引擎:QLExpression。
脚本内容为:
orderAmount > 100 ? orderAmount * 0.9 : orderAmount
简单案例-信用卡异常交易
根据连续时间区间、刷卡次数、刷卡地点、累计金额来判断异常交易。
场景适用于典型规则引擎:EasyRules。
脚本内容为:
name: "consecutive_transactions_fraud" description: "Detects fraud if the number of consecutive transactions exceeds 3" priority: 1 condition: "transactions >= 3" actions: - "fraudResult = \"true\""
简单案例-出差住宿费报销
根据出差地点、每日标准、出差天数判断费用审批是否通过。
场景选用典型规则引擎::Drools。
规则文件名称为:testDroolsDrl报销。
我的报销:报销示例结果列表页面。
简单案例-保险理赔申请核验
根据事故原因、损坏程度等因素来判断赔偿比例。
场景适用于典型规则引擎:Drools。
规则脚本:
package com.bjc.rules.entity
import com.bjc.rules.entity.ClaimRequest;
rule "Collision with Severe Damage"
when
claimRequest : ClaimRequest(cause == "Collision", damageLevel == "Severe")
then
System.out.println("Claim approved with 80% reimbursement.");
modify(claimRequest) {
setReimbursementPercentage(80)
};
end
rule "Non-Collision with Severe Damage"
when
claimRequest : ClaimRequest(cause != "Collision", damageLevel == "Severe")
then
System.out.println("Claim approved with 60% reimbursement.");
modify(claimRequest) {
setReimbursementPercentage(60)
};
end
rule "Default Reimbursement"
when
claimRequest : ClaimRequest()
then
System.out.println("Claim approved with default 40% reimbursement.");
modify(claimRequest) {
setReimbursementPercentage(40)
};
end
简单案例-考勤异常核验
根据异常次数、累计时长进行异常考勤判断。
场景选用典型规则引擎::Drools。
规则脚本:
package com.bjc.rules.rules
import com.bjc.rules.entity.AttendForm;
rule "EvaluatePerformance"
when
$form: AttendForm(
attendanceAbnormalCount > 3,
absenceHours > 8
)
then
$form.setPerformanceStatus("poor performance");
System.out.println("employee performance evaluation is: poor, with an abnormal number of attendance records:=" + $form.getAttendanceAbnormalCount() + ",abnormal number of attendance record size is" + $form.getAbsenceHours());
end
rule "DefaultPerformance"
salience -1
when
$form: AttendForm(
eval(attendanceAbnormalCount <= 3 || absenceHours <= 8)
)
then
$form.setPerformanceStatus("excellent performance");
System.out.println("employee performance evaluation is: poor");
end