bindbox-game/.trae/documents/订单详情合并展示抽奖票据与中奖发放.md
邹方成 45815bfb7d chore: 清理无用文件与优化代码结构
refactor(utils): 修复密码哈希比较逻辑错误
feat(user): 新增按状态筛选优惠券接口
docs: 添加虚拟发货与任务中心相关文档
fix(wechat): 修正Code2Session上下文传递问题
test: 补充订单折扣与积分转换测试用例
build: 更新配置文件与构建脚本
style: 清理多余的空行与注释
2025-12-18 17:35:55 +08:00

1.6 KiB
Raw Blame History

目标

  • 点击“订单详情”时,统一展示该票据订单的全部信息:参与与支付(票据)+ 中奖发放RG订单及其商品与物流不需要再到列表中查看另一条。

后端输出补全

  • 改造 GetPayOrderDetailadmin
    • 已有:票据订单 order、活动 activity、支付 payment、退款 refunds、明细 items、发货 shipments
    • 新增:
      • reward_order: { order_no, status, created_at }关联RG订单
      • reward_items: [{ title, quantity, unit_price, amount }]RG订单项
      • reward_shipments: 同 shipments 结构RG订单的物流
    • 关联方式:用 ActivityDrawLogs(OrderID=ticket.ID)RewardID/ActivityID 定位 UserInventory → 取其 OrderID 为 RG 订单ID再读取其 OrderItemsShippingRecords

前端展示改造

  • 文件:web/admin/src/views/orders/list/index.vue
  • 在现有详情抽屉中,新增“中奖发放”区块:
    • 头部:显示 reward_order.order_noformatOrderStatus(reward_order.status)created_at
    • 表格:显示 reward_items(商品、数量、单价、金额)
    • 物流:显示 reward_shipments(快递、运单号、状态、时间)
    • 若无发放:该区块显示“待发放/待开奖”,不影响票据信息展示

不改变的行为

  • 列表默认隐藏 RG避免重复理解详情页始终合并展示完整数据

验收

  • 对任意票据订单,详情页一次性显示参与与支付、中奖发放商品与物流;即使 RG 隐藏于列表,详情页也完整可见。