coupon-order-full
[target] clone=h8 port=20098 base=http://localhost:20098
[fixture] 普通作品=15760 助力作品=15338
=== A. 助力单:券必须被拒(hasAssist 闸) ===
[ctx] 可用券 id=77
PASS 存在一张可用券用于负向构造
[probe] totalprice(rounded)=9250
[console] [AuthCheck] 开始检查, selectedarr= [4446,4447]
[console] [AuthCheck] ajax已发出,return false阻止默认提交
[console] [AuthCheck] 原始返回: {"status":1,"info":"1","data":false}
[console] [AuthCheck] 解析结果: {status: 1, info: 1, data: false}
[console] [AuthCheck] 不需要认证,准备提交表单
[url] http://localhost:20098/index.php/Order/createOrder
[body] 命中=优惠券已失效或不可用 上下文=om Album 宝宝成长篇 旅游旅行篇 家族家庭篇 青春毕业篇 Notice 优惠券已失效或不可用,请刷新页面后重试 页面将在10秒后跳转 返回 友情链接 专业纪念册定制 · 照片冲印 · 婚礼定制相册 · 照片书 · 相框 AI 智能纪念相册 把照片做成可以翻阅一辈子的纪念册。 我们使用进口艺术纸 + 微喷工艺,所有产品支持终身补印。 入门指南 如何下单 产品订购流程 配送与支付 物流配送 支
PASS 前置:提交体里有 coupon_user_id 字段(找得到才谈得上改它)
PASS 前置:已在网络层把 coupon_user_id 改成 77(改动生效)
PASS 助力单带券提交 → 被 assist_order 闸拒,提示「优惠券已失效或不可用」
PASS 券未被核销(仍 cu_status=0)——事务已整体回滚
=== B. 普通商品:选券下单 + 订单详情三段 ===
[preview] {"goods_cents":6000,"freight_cents":750,"discount_cents":1000,"target":0,"pay_after_cents":5750,"ok":1,"reason":"","currency":{"code":"MYR","symbol":"RM","position":"prefix"}}
PASS 选中券 295 可用
PASS 提交前 totalprice 是券前值 6750(= 6000+750)
[console] [AuthCheck] 开始检查, selectedarr= [4448]
[console] [AuthCheck] ajax已发出,return false阻止默认提交
[console] [AuthCheck] 原始返回: {"status":1,"info":"1","data":false}
[console] [AuthCheck] 解析结果: {status: 1, info: 1, data: false}
[console] [AuthCheck] 不需要认证,准备提交表单
[url] http://localhost:20098/index.php/User/order_detail/ddnum/202609161830036983015588
PASS 下单成功并跳转订单详情(url=http://localhost:20098/index.php/User/order_detail/ddnum/202609161830036983015588)
[ddnum] 202609161830036983015588
PASS 券 295 已核销(cu_status=1)
PASS 券记录的 used_ddnum = 本单
[ledger] 1000 redeem
PASS 核销台账写入 1000 分
[dd] ddshouldpay=5000 ddprice=750
PASS 汇总行券后应付 5000+750 = 预览实付 5750
PASS 订单详情出现「优惠券」抵扣行
PASS 抵扣行严格等于 -RM10.00(实际 -RM10.00)
PASS 实际金额严格等于 RM57.50(实际 RM57.50)
PASS 商品金额 = 券前 RM67.50
PASS 三段自洽:商品金额 − 优惠券 = 实际金额
[留下的] 订单 ddnum=202609161830036983015588 · 券 295 已核销 · 作品 15760 已 tplrecycle=2
这三样产品都没有删除能力(全仓无 corpDelete('dd'),作品删除是软删),留下是预期;收货地址有,所以下面要删掉。
PASS 清理:本次新建的 1 条收货地址已删净(基线 10 条不动)
PASS 购物车还原:开跑前 2 件,其中模板仍在的 2 件全部回来
PASS=19 FAIL=0 screenshots -> /data/AICode/e2e/ma_dev_v2/ma/bin/workspace/test-results/playwright-images/web-coupon-entry