feat: 订单创建时快照买家手机号/昵称和套餐类型
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
新增字段: - tb_order: buyer_phone, buyer_nickname(个人客户下单时快照) - tb_order_item: package_type(套餐类型快照) 后台订单列表支持按 buyer_phone 精确过滤查询。 OpenSpec: order-buyer-snapshot
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
## Why
|
||||
|
||||
订单创建后,售后场景无法通过手机号快速验证订单归属(需跨表关联),且 `OrderItem` 缺少套餐类型快照,套餐删除后类型信息永久丢失。将买家手机号、昵称、套餐类型在创建时快照到订单,彻底解决这两个问题。
|
||||
|
||||
## What Changes
|
||||
|
||||
- **Order 表**:新增 `buyer_phone`(下单时买家主手机号快照)、`buyer_nickname`(下单时买家昵称快照,允许为空)
|
||||
- **OrderItem 表**:新增 `package_type`(套餐类型快照,`formal` / `addon`)
|
||||
- **数据库迁移**:新增字段;历史订单 `buyer_phone` / `buyer_nickname` 留空,`package_type` 从套餐表回填
|
||||
- **下单逻辑**:`client_order` Service 和 `admin_order` Service 创建订单时自动查询并填充三个快照字段
|
||||
- **查询接口**:订单列表/详情 DTO 暴露新字段;后台订单列表支持按 `buyer_phone` 精确过滤
|
||||
|
||||
## Capabilities
|
||||
|
||||
### New Capabilities
|
||||
|
||||
无新能力,均为现有能力的字段扩充。
|
||||
|
||||
### Modified Capabilities
|
||||
|
||||
- `order-management`:订单模型新增买家快照字段(buyer_phone、buyer_nickname),后台查询支持按手机号过滤
|
||||
- `client-order-purchase`:C 端下单时自动填充买家快照(手机号、昵称)
|
||||
- `iot-order`:OrderItem 模型新增 package_type 快照,下单时填充
|
||||
|
||||
## Impact
|
||||
|
||||
- **数据层**:`tb_order`(新增 2 列)、`tb_order_item`(新增 1 列)、迁移脚本
|
||||
- **代码层**:
|
||||
- `internal/model/order.go` — Order、OrderItem struct 新增字段
|
||||
- `internal/service/client_order/service.go` — CreateOrder 填充快照
|
||||
- `internal/service/admin_order/service.go`(代购场景)— 同步填充
|
||||
- `internal/model/dto/order_dto.go`、`client_order_dto.go` — 响应 DTO 新增字段
|
||||
- `internal/store/postgres/order_store.go` — List 查询支持 buyer_phone 过滤
|
||||
- **无破坏性变更**:新字段均可为空,现有接口响应向下兼容(仅追加字段)
|
||||
Reference in New Issue
Block a user