diff --git a/changelogs/2026-03/2026-03-21_order_logic_optimization.md b/changelogs/2026-03/2026-03-21_order_logic_optimization.md new file mode 100644 index 0000000..e888868 --- /dev/null +++ b/changelogs/2026-03/2026-03-21_order_logic_optimization.md @@ -0,0 +1,46 @@ +# 产品订单逻辑优化 + +**日期**: 2026-03-21 +**服务**: hl-order-service, hl-mp-service +**类型**: 逻辑优化 + +--- + +## 变更说明 + +### 1. 报价接口返回库存信息 + +`POST /mp/product/{productId}/quote` 报价结果新增两个字段: + +| 新增字段 | 类型 | 说明 | +|---------|------|------| +| stock | Integer | 该日期剩余库存(null表示不限库存) | +| available | Boolean | 该日期是否可订(库存>=总人数或无库存限制) | + +**前端使用建议**: +- `available=false` 时禁用"立即下单"按钮,显示"该日期已售罄" +- `stock` 较少时显示"仅剩 N 位"提示 + +### 2. 早鸟优惠后支付金额自动同步 + +之前:早鸟优惠更新了 `finalPrice`,但 `fullPayment.amount` 和 `depositPayment` 仍按原价 + +现在:早鸟优惠后自动重算: +- `fullPayment.amount` = 优惠后价格 +- `depositPayment.depositAmount` = 优惠后价格 × 定金比例 +- `depositPayment.balanceAmount` = 优惠后价格 - 定金 + +### 3. 订单号格式升级 + +| | 旧格式 | 新格式 | +|---|--------|--------| +| 示例 | HL202603211234561234 | HL2026032112345612312345 | +| 长度 | 20位 | 25位 | +| 时间精度 | 秒级(14位) | 毫秒级(17位) | +| 随机位数 | 4位 | 6位 | + +**前端影响**:订单号展示区域需确保支持 25 位长度。 + +### 4. GROUP团期出发日期校验 + +新增:团期出发日期已过时,禁止用户报名,返回错误"该团期出发日期已过,无法报名"。