- 将商品状态Tab标签「出售中」修改为「已上架」,与后端定义一致 - 调整商品参数注释,更新status状态枚举说明 - 编辑弹窗新增会员价(dealerPrice)输入框,完善编辑表单数据绑定与提交 - 分类选择改为传递参数方式避免闭包旧值,解决需点击两次才生效的问题 - 更新商品列表加载逻辑,支持分类ID参数即时生效
4.9 KiB
4.9 KiB
2026-07-06 工作日志
修复收藏列表页面空白问题
- 文件:
src/api/shop/shopGoodsFavorite/index.ts - 问题:
listShopGoodsFavorite和pageShopGoodsFavorite使用request.get(默认returnRaw: true),返回完整{ code, message, data }对象而非业务数据,页面拿到对象当数组用导致list.length为undefined,始终显示空状态 - 修复: 改为与同文件
addShopGoodsFavorite等函数一致的模式 — 接收ApiResult<T>,检查res.code === 0后返回res.data - 注意:
src/pages/favorite-list.tsx是src/pages/user/favorite-list/index.tsx的重复文件,内容完全一样
修复领券中心页面 SQL 报错
- 错误:
Unknown column 'venue_type' in 'field list' - 根因: 后端运行中的
ShopCoupon实体类包含venue_type、venue_id、use_count、use_duration字段,但数据库表shop_coupon缺少这 4 列 - 后端项目路径:
/Users/gxwebsoft/JAVA/guilixu-java(实际运行项目) - 修复内容:
- 更新后端实体类
ShopCoupon.java,补充receiveTarget、receiveUserIds、venueType、venueId、useCount、useDuration字段(源码之前缺失,与运行时版本对齐) - 将
enabled字段从Boolean改为Integer,解决 Jackson 反序列化"1"失败 - 修正
ShopCouponController.page()中expire_type查询条件:0/1改为10/20(与数据库实际枚举值一致) - 生成数据库迁移 SQL:
src/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_price(VIP 价)
- 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.ts中ShopGoodsParam.status注释从「0上架 1下架」改为「0上架 1待上架 2待审核 3审核不通过」
门店商品管理页编辑弹窗补充会员价字段
- 文件:
src/pages/store/goods/index.tsx - 问题: 编辑弹窗只有到手价和市场价,缺少会员价(dealerPrice)输入框
- 修复:
editFormstate 新增dealerPrice: ''openEditModal中填充dealerPrice: goods.dealerPrice || ''- 表单 UI 在市场价和库存之间新增会员价输入框
submitEdit提交时携带dealerPrice
修复门店商品管理页选择分类需点击两次才生效
- 文件:
src/pages/store/goods/index.tsx - 问题:
handleSelectCategory中先setSelectedCategory再立即调用loadGoods,但loadGoods通过闭包读取到的selectedCategory仍是旧值,导致第一次点击实际用的是上次选中的分类 - 修复:
loadGoods增加可选参数categoryId,handleSelectCategory选择分类后直接把新的cat?.categoryId传入loadGoods,避免闭包取到旧状态
门店商品管理页编辑弹窗补充会员价字段
- 文件:
src/pages/store/goods/index.tsx - 问题: 编辑弹窗只有到手价和市场价,缺少会员价(dealerPrice)输入框
- 修复:
editFormstate 新增dealerPrice: ''openEditModal中填充dealerPrice: goods.dealerPrice || ''- 表单 UI 在市场价和库存之间新增会员价输入框
submitEdit提交时携带dealerPrice