每刻报销补贴 DRL 开发指南
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 安装 @user_17014edd/maycur-subsidy-drl,为每刻报销补贴规则开发提供 Drools 脚本模板、官方字段速查与阿里云 SLS 排错指南。
技能介绍
这个技能解决什么问题
每刻报销的差旅补贴不是写死的代码,而是由 Drools 规则引擎执行 .drl 脚本动态算出来的:后台配置补贴标准,单据上带行程、参与人、自定义表单字段,脚本负责把两者对接,算出金额并生成费用明细。麻烦在于,这套脚本的失败模式很隐蔽——金额算出 0、前端不显示明细、消费日期变成 1970 年,往往不是逻辑错了,而是踩了引擎的执行约定。
技能如何组织
- 场景模板:
examples/收录 45 个真实生产环境的完整脚本,覆盖半天(1.1~1.13)、全天(2.1~2.19)以及自定义表单、国内外双套标准、行程扣减等扩展场景,改几个参数即可上线。 - Helper Function:全天模板用
isDayOverlap去重,半天模板用isDayHalveOrOverlap判断 12:00 分界,返回 -1/0/1 决定跳过、折半还是全额。 - 开发规范:补贴标准列维度必须是城市;
salience按 30/25/20/10 分层,初始化、预处理、报销人、参与人互不干扰;金额为 0 时不要执行insert。 - 排错手册:语雀官方 Q&A 汇编解答需求对接准则、多目的地匹配、外币币种冲突;阿里云 SLS 指南教你按
allowance/generate的 traceId 捞出底层 Java 异常堆栈。
容易踩的坑
$submittedAt在草稿和测试阶段是 1970 年的时间戳,拿它做日期回退会错乱消费日期,改用明细行的getConsumeDate()。- 无行程的纯报销单补贴,若费用明细为空,引擎根本不会进入规则执行,测试时先挂一条普通明细。
- Java 方言下
//注释必须独占一行,new AllowanceResult(...)必须匹配官方重载签名,否则编译报offset -1错误。
使用场景
- 每刻实施顾问为客户配置补贴标准,需按城市维度搭建列维度避免金额返回0
- 后端工程师从45个模板中选最贴近场景的DRL脚本,改bizCode和feeCode后上线
- 开发工程师提交测试报销单后控制台无输出,需查DRL语法或SLS日志定位异常
- 财务顾问处理外币补贴币种冲突,删申请单币种组件并调用接口获取标准币种
适合人员
- 负责每刻报销补贴规则开发的后端工程师,需要快速复用官方模板减少重复劳动
- 每刻实施顾问需解答客户补贴配置疑问,需熟悉DRL脚本规范和排错手册
- 低代码开发者用AI生成补贴规则脚本,需要标准提示词和代码结构参考
- 财务系统运维工程师要处理线上补贴生成异常,需掌握SLS日志定位方法