8d8080c7bf
- HomeSection 模型增加 discountRate 字段,默认 1.00 表示不打折 - zoneEdit 组件新增折扣系数输入框,支持设置 0.01~1 之间的折扣率 - 后端 guilixu-java 增加专区折扣逻辑,成交价=市场价×折扣系数,保证后端价格计算安全 - 小程序 guilixu-taro 频道详情和商品详情支持专区折扣展示和传参 - 购物车新增 sectionId 字段,支持专区折扣价计算,完善购物车加购与价格计算逻辑 - 提供对应迁移 SQL 脚本更新数据库结构(专区折扣率与购物车 section_id) - 修复历史订单商品支付状态,补偿专区销量统计数据 - MEMORY 文档补充详细开发与设计说明,明确双后端接口调度和业务逻辑划分
23 lines
1.3 KiB
SQL
23 lines
1.3 KiB
SQL
-- ============================================================
|
|
-- 修复历史已支付订单的订单商品支付状态(专区销量统计数据补偿)
|
|
-- 适用后端: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;
|