Files
guilixu-admin/.workbuddy/memory/MEMORY.md
T
gxwebsoft 8d8080c7bf feat(shopZone): 新增专区折扣系数功能及购物车链路支持
- HomeSection 模型增加 discountRate 字段,默认 1.00 表示不打折
- zoneEdit 组件新增折扣系数输入框,支持设置 0.01~1 之间的折扣率
- 后端 guilixu-java 增加专区折扣逻辑,成交价=市场价×折扣系数,保证后端价格计算安全
- 小程序 guilixu-taro 频道详情和商品详情支持专区折扣展示和传参
- 购物车新增 sectionId 字段,支持专区折扣价计算,完善购物车加购与价格计算逻辑
- 提供对应迁移 SQL 脚本更新数据库结构(专区折扣率与购物车 section_id)
- 修复历史订单商品支付状态,补偿专区销量统计数据
- MEMORY 文档补充详细开发与设计说明,明确双后端接口调度和业务逻辑划分
2026-08-18 10:53:15 +08:00

1.7 KiB
Raw Blame History

项目长期记忆

专区折扣系数功能(2026-08-18 新增)

  • 需求:专区商城价 = 市场价(salePrice) × discountRate(每专区可配,默认 1.00;本专区用 0.78)。
  • 后端 guilixu-javaShopHomeSection.discountRate 字段 + 迁移SQL(guilixu-admin/zone-discount-rate-10606.sql)OrderCreateRequest.OrderGoodsItem.sectionIdOrderBusinessService 两处价格解析按 sectionId 重算成交价= salePrice×rate(后端算,不信任前端价)。
  • 后台 guilixu-adminzoneEdit.vue 有「折扣系数」输入;shopZone/model HomeSection 有 discountRate
  • 小程序 guilixu-tarosection-detailproduct-detailcheckout 透传 sectionId+discountRate,「立即购买」与「购物车」两条链路均按系数生效(购物车补充见下)。
  • 购物车链路补充(同日)shop_cart 表加 section_id 列(迁移SQL见 zone-cart-section-id-10606.sql);ShopCart 实体加 sectionId(真实列)+discountRate(exist=false)、ShopCartMapper.xml LEFT JOIN 专区取 discount_rateaddToCart 在"已存在累加"分支若新传 sectionId 非空则刷新 existCart.sectionId(专区加购覆盖普通加购的 null);CartContext.addItem 透传 sectionId、calcPricecart.tsx 按系数展示;checkout.tsxgetItemDisplayPrice 折扣分支改读顶层 salePrice(购物车项 product 为空)。两条链路现在都生效。
  • 生效前置:执行迁移SQL、重新部署 guilixu-java、构建发布 taro。

双后端事实(沿用)

  • 商城接口实际调 https://guilixu-api.websoft.top(= guilixu-java, db_guilixu)cms 走 mp-java。改商城相关先确认运行时 ApiUrl。详见历史 MEMORY。