基于脚本模式配置快递费用计费规则
场景描述
在快递费计费场景中,快递费的计算方式会根据配送距离、快递重量的不同而变化,同时结合快递类型的差异,形成多样化的计费规则。
配置步骤
- 登录应用运行态。
- 在左侧导航栏中,选择,进入“规则列表”页面。
- 在“规则列表”页面,单击“创建”。
- 在“创建规则”页面,配置如下主要参数信息。
表1 “基本信息”参数说明(模式配置) 参数
配置示例
规则名称
快递费规则_脚本模式
规则类型
自定义规则
界面模式
脚本模式
冲突解决策略
全匹配
- 单击“下一步”,进入“定义参数”页面。
- 在“定义参数”页面,根据场景需求,依次添加如下3个条件字段作为判断依据,添加1个结果字段用于输出判断结果。
表2 “定义参数”参数说明(脚本模式) 参数名称
配置示例
条件字段
条件字段1:- 数据类型:数字
- 字段名:收件距离
- 字段代码:distance
- 数组:否
条件字段2:- 数据类型:文本
- 字段名:快递类型
- 字段代码:type
- 数组:否
条件字段3:- 数据类型:数字
- 字段名:快递重量
- 字段代码:weight
- 数组:否
结果字段
结果字段1:- 数据类型:数字
- 字段名:快递费用
- 字段代码:fee
- 数组:否
- 单击“下一步”,进入“规则配置”页面。
- 在“规则配置”页面,使用脚本模式的编辑器编写计费逻辑脚本,实现多条件联动计算。
图1 脚本模式规则配置示例
常见计费场景的脚本示例:
规则 "情形一" 如果 decision_factor.收件距离 小于等于 1000 并且 decision_factor.快递类型 等于 "普通类型" 那么 outcome.快递费用 = decision_factor.快递重量 * 2 结束 规则 "情形二" 如果 decision_factor.收件距离 小于等于 1000 并且 decision_factor.快递类型 等于 "挂号类型" 那么 outcome.快递费用 = decision_factor.快递重量 * 3 结束 规则 "情形三" 如果 decision_factor.收件距离 大于 1000 并且 decision_factor.快递类型 等于 "普通类型" 并且 decision_factor.快递重量 小于等于 30 那么 outcome.快递费用 = decision_factor.快递重量 * 2.5 结束 规则 "情形四" 如果 decision_factor.收件距离 大于 1000 并且 decision_factor.快递类型 等于 "普通类型" 并且 decision_factor.快递重量 大于 30 那么 outcome.快递费用 = 2.5 * 30 + 3 * (decision_factor.快递重量 - 30) 结束 规则 "情形五" 如果 decision_factor.收件距离 大于 1000 并且 decision_factor.快递类型 等于 "挂号类型" 并且 decision_factor.快递重量 小于等于 30 那么 outcome.快递费用 = decision_factor.快递重量 * 3.5 结束 规则 "情形六" 如果 decision_factor.收件距离 大于 1000 并且 decision_factor.快递类型 等于 "挂号类型" 并且 decision_factor.快递重量 大于 30 那么 outcome.快递费用 = 3.5 * 30 + 4 * (decision_factor.快递重量 - 30) 结束
- 编写完脚本后,仔细检查逻辑是否正确,确认无误后,单击“提交”,完成规则配置。