Files
junhong_cmp_fiber/openspec/changes/archive/2026-04-10-order-buyer-snapshot/proposal.md
huang 5496cb58aa
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
feat: 订单创建时快照买家手机号/昵称和套餐类型
新增字段:
- tb_order: buyer_phone, buyer_nickname(个人客户下单时快照)
- tb_order_item: package_type(套餐类型快照)

后台订单列表支持按 buyer_phone 精确过滤查询。

OpenSpec: order-buyer-snapshot
2026-04-10 17:12:56 +08:00

1.9 KiB
Raw Blame History

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-purchaseC 端下单时自动填充买家快照(手机号、昵称)
  • iot-orderOrderItem 模型新增 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.goclient_order_dto.go — 响应 DTO 新增字段
    • internal/store/postgres/order_store.go — List 查询支持 buyer_phone 过滤
  • 无破坏性变更:新字段均可为空,现有接口响应向下兼容(仅追加字段)