diff --git a/changelogs/2026-03/2026-03-20_remove_pricing_mode.md b/changelogs/2026-03/2026-03-20_remove_pricing_mode.md new file mode 100644 index 0000000..afe52aa --- /dev/null +++ b/changelogs/2026-03/2026-03-20_remove_pricing_mode.md @@ -0,0 +1,57 @@ +# 接口变更记录 — 2026-03-20 + +> **提交** `f59d78d` · **类型** refactor +> +> refactor: 移除定价模式(pricingMode)字段,价格统一在价格日历中设置 + +## 变更说明 + +**定价规则接口**中移除了 `pricingMode` 字段(原值 AUTO/MANUAL/CUSTOM)。 + +**原因**:`pricingMode` 是冗余字段,业务逻辑实际由价格日历中的 `costAutoCalc`(逐日控制自动/手动计算)和产品类型 `productType` 控制,`pricingMode` 从未参与任何业务判断。 + +## 前端需要调整 + +### 定价规则页面(产品编辑 → 定价规则) + +| 操作 | 说明 | +|------|------| +| **移除** "定价模式" 选择器 | 原来的 AUTO/手动定价/自定义 三选一控件,**直接删除** | +| **保留** 利润模式 | FIXED(固定金额)/ PERCENT(百分比加价),不变 | +| **保留** 其他所有字段 | 成团人数、价格体系(单房差、儿童价等)、支付方式,不变 | + +### 接口变更 + +#### `POST` /admin/product/item/{productId}/pricing — 保存定价规则 + +**请求参数变更**: + +| 字段 | 变更 | 说明 | +|------|------|------| +| ~~`pricingMode`~~ | **已移除** | 不再需要传此字段 | +| `profitMode` | 不变 | FIXED/PERCENT | +| 其他字段 | 不变 | — | + +#### `GET` /admin/product/item/{productId}/pricing — 获取定价规则 + +**响应变更**: + +| 字段 | 变更 | 说明 | +|------|------|------| +| ~~`pricingMode`~~ | **已移除** | 响应中不再返回此字段 | + +### 价格设置方式(无变化) + +价格统一在**价格日历**中设置,支持两种方式: +1. **自动测算**:点击"测算预览"或"自动计算成本"按钮,系统根据行程资源价格+利润参数自动算出成本和售价 +2. **手动填写**:直接在日历中手动输入每日的成人售价/成本价、儿童售价/成本价 + +每个日期的 `costAutoCalc` 标志控制该日期是自动还是手动,与原来的逻辑完全一致。 + +## 数据库变更 + +```sql +ALTER TABLE product_pricing DROP COLUMN pricing_mode; +``` + +已在本地和测试环境执行完毕。