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
1.9 KiB
1.9 KiB
Why
订单创建后,售后场景无法通过手机号快速验证订单归属(需跨表关联),且 OrderItem 缺少套餐类型快照,套餐删除后类型信息永久丢失。将买家手机号、昵称、套餐类型在创建时快照到订单,彻底解决这两个问题。
What Changes
- Order 表:新增
buyer_phone(下单时买家主手机号快照)、buyer_nickname(下单时买家昵称快照,允许为空) - OrderItem 表:新增
package_type(套餐类型快照,formal/addon) - 数据库迁移:新增字段;历史订单
buyer_phone/buyer_nickname留空,package_type从套餐表回填 - 下单逻辑:
client_orderService 和admin_orderService 创建订单时自动查询并填充三个快照字段 - 查询接口:订单列表/详情 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 过滤
- 无破坏性变更:新字段均可为空,现有接口响应向下兼容(仅追加字段)