-- ============================================================ -- 修复历史已支付订单的订单商品支付状态(专区销量统计数据补偿) -- 适用后端:guilixu-java(本部署商城实际后端,db_guilixu) -- 租户:10606 -- 背景:下单时 shop_order_goods.pay_status 默认 0,支付成功链路此前只更新 -- 主订单 shop_order.pay_status,不会同步订单商品表。专区销量统计按 -- shop_order_goods.pay_status=1 聚合,导致历史已支付订单从未被统计。 -- 作用:把主订单已支付(pay_status=1)且订单商品仍为未支付(pay_status=0)的记录, -- 同步为已支付,并把 order_status 对齐主订单(退款订单 order_status=6 会被统计口径排除)。 -- 执行前请先备份,并在低峰期执行;可先 SELECT 预览影响行数: -- SELECT COUNT(*) FROM shop_order_goods og -- JOIN shop_order o ON og.order_id = o.order_id AND o.tenant_id = 10606 -- WHERE og.tenant_id = 10606 AND o.pay_status = 1 AND og.pay_status = 0; -- ============================================================ UPDATE shop_order_goods og JOIN shop_order o ON og.order_id = o.order_id AND o.tenant_id = 10606 SET og.pay_status = 1, og.order_status = o.order_status WHERE og.tenant_id = 10606 AND o.pay_status = 1 AND og.pay_status = 0;