diff --git a/changelogs/2026-03/2026-03-22_merchant_balance_fix.md b/changelogs/2026-03/2026-03-22_merchant_balance_fix.md new file mode 100644 index 0000000..fbc148e --- /dev/null +++ b/changelogs/2026-03/2026-03-22_merchant_balance_fix.md @@ -0,0 +1,28 @@ +# 修复商户号随机平均分配计数不准 + +**日期**: 2026-03-22 +**服务**: hl-order-service +**类型**: fix + +--- + +## 问题描述 + +订单取消/退款后,Redis 中的商户活跃订单计数没有递减(只有创建时递增),导致被取消订单多的商户号计数虚高,新订单全部分配到另一个商户号,随机平均分配失效。 + +## 修复内容 + +订单进入终态(取消/退款)时,自动递减对应商户号的 Redis 计数,覆盖以下5个场景: + +| 场景 | 触发方式 | +|------|----------| +| 用户取消待支付订单 | 小程序端取消 | +| 管理员取消订单 | 管理端操作 | +| 系统超时自动取消 | 支付超时 | +| 团期散团批量取消 | 管理端散团 | +| 退款成功 | 微信支付回调 | +| 管理员手动变更状态为已取消 | 管理端状态变更 | + +## 前端影响 + +无接口变更,纯后端逻辑修复。新创建的订单会更均匀地分配到不同商户号。