Files
xinlong-shop-taro/.workbuddy/memory/2026-07-06.md
赵忠林 433afb8070 fix(store): 修复门店商品管理页多项显示与编辑问题
- 将商品状态Tab标签「出售中」修改为「已上架」,与后端定义一致
- 调整商品参数注释,更新status状态枚举说明
- 编辑弹窗新增会员价(dealerPrice)输入框,完善编辑表单数据绑定与提交
- 分类选择改为传递参数方式避免闭包旧值,解决需点击两次才生效的问题
- 更新商品列表加载逻辑,支持分类ID参数即时生效
2026-07-06 11:30:51 +08:00

4.9 KiB
Raw Blame History

2026-07-06 工作日志

修复收藏列表页面空白问题

  • 文件: src/api/shop/shopGoodsFavorite/index.ts
  • 问题: listShopGoodsFavoritepageShopGoodsFavorite 使用 request.get(默认 returnRaw: true),返回完整 { code, message, data } 对象而非业务数据,页面拿到对象当数组用导致 list.lengthundefined,始终显示空状态
  • 修复: 改为与同文件 addShopGoodsFavorite 等函数一致的模式 — 接收 ApiResult<T>,检查 res.code === 0 后返回 res.data
  • 注意: src/pages/favorite-list.tsxsrc/pages/user/favorite-list/index.tsx 的重复文件,内容完全一样

修复领券中心页面 SQL 报错

  • 错误: Unknown column 'venue_type' in 'field list'
  • 根因: 后端运行中的 ShopCoupon 实体类包含 venue_typevenue_iduse_countuse_duration 字段,但数据库表 shop_coupon 缺少这 4 列
  • 后端项目路径: /Users/gxwebsoft/JAVA/guilixu-java(实际运行项目)
  • 修复内容:
    1. 更新后端实体类 ShopCoupon.java,补充 receiveTargetreceiveUserIdsvenueTypevenueIduseCountuseDuration 字段(源码之前缺失,与运行时版本对齐)
    2. enabled 字段从 Boolean 改为 Integer,解决 Jackson 反序列化 "1" 失败
    3. 修正 ShopCouponController.page()expire_type 查询条件:0/1 改为 10/20(与数据库实际枚举值一致)
    4. 生成数据库迁移 SQLsrc/main/resources/sql/shop_coupon_add_venue_fields.sql
  • 需执行: 重新编译部署后端

补充商品数据解决微信审核驳回

背景

微信小程序审核被驳回:「积分商城」页面无具体运营内容。根本原因是 tenant_id=10611鑫龙家电下没有任何商品分类和商品数据。

数据创建

通过 Python + pymysql 直连 MySQL 数据库47.119.165.234:13308/modules为 tenant 10611 创建:

  • 5 个一级分类:大家电、厨房电器、生活电器、个护健康、智能设备
  • 15 个二级分类:冰箱、洗衣机、空调、电视、电饭煲、微波炉、抽油烟机、吸尘器、电风扇、加湿器、电动牙刷、理发器、智能音箱、智能门锁、智能手表
  • 34 个商品(全部 status=0 上架):
    • 每个分类 2-3 个商品
    • 包含真实品牌名(美的、海尔、格力、小米、华为等)、型号、规格
    • 三档价格price到手价、sale_price市场价划线、dealer_priceVIP 价)
    • 12 个商品标记为推荐recommend=1
    • 图片复用 oss.wsdns.cn 已有图片 URL
    • 商品详情为 HTML 格式,含商品描述和图片
    • 轮播图字段files为 JSON 数组格式
  • 分类 count 字段已同步更新

注意事项

  • 图片是复用其他租户的商品图片,后续可替换为真实商品图
  • 商品数据为模拟数据,用于通过审核,后续可在后台管理系统中编辑替换

修复门店商品管理页 Tab 标签不一致

  • 文件: src/pages/store/goods/index.tsx
  • 问题: 商品状态 status=0 在后端定义是「已上架」,但页面 Tab 标签写的是「出售中」,与商品状态标签文字不一致
  • 修复: Tab「出售中」→「已上架」让 Tab 标签与商品状态文字保持一致
  • 附带修复: src/api/shop/shopGoods/model/index.tsShopGoodsParam.status 注释从「0上架 1下架」改为「0上架 1待上架 2待审核 3审核不通过」

门店商品管理页编辑弹窗补充会员价字段

  • 文件: src/pages/store/goods/index.tsx
  • 问题: 编辑弹窗只有到手价和市场价缺少会员价dealerPrice输入框
  • 修复:
    1. editForm state 新增 dealerPrice: ''
    2. openEditModal 中填充 dealerPrice: goods.dealerPrice || ''
    3. 表单 UI 在市场价和库存之间新增会员价输入框
    4. submitEdit 提交时携带 dealerPrice

修复门店商品管理页选择分类需点击两次才生效

  • 文件: src/pages/store/goods/index.tsx
  • 问题: handleSelectCategory 中先 setSelectedCategory 再立即调用 loadGoods,但 loadGoods 通过闭包读取到的 selectedCategory 仍是旧值,导致第一次点击实际用的是上次选中的分类
  • 修复: loadGoods 增加可选参数 categoryIdhandleSelectCategory 选择分类后直接把新的 cat?.categoryId 传入 loadGoods,避免闭包取到旧状态

门店商品管理页编辑弹窗补充会员价字段

  • 文件: src/pages/store/goods/index.tsx
  • 问题: 编辑弹窗只有到手价和市场价缺少会员价dealerPrice输入框
  • 修复:
    1. editForm state 新增 dealerPrice: ''
    2. openEditModal 中填充 dealerPrice: goods.dealerPrice || ''
    3. 表单 UI 在市场价和库存之间新增会员价输入框
    4. submitEdit 提交时携带 dealerPrice