Skip to main content
Version: 1.0.0

规则典型案例

特定领域标准规则,报销考勤、交易风控、保险理赔、电商折扣、电信计费、物联告警等。

简单案例-电商活动折扣

根据会员级别、订单金额、生日来确定商品折扣。

场景适用于表达式引擎: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