# 2026-07-06 工作日志 ## 修复收藏列表页面空白问题 - **文件**: `src/api/shop/shopGoodsFavorite/index.ts` - **问题**: `listShopGoodsFavorite` 和 `pageShopGoodsFavorite` 使用 `request.get`(默认 `returnRaw: true`),返回完整 `{ code, message, data }` 对象而非业务数据,页面拿到对象当数组用导致 `list.length` 为 `undefined`,始终显示空状态 - **修复**: 改为与同文件 `addShopGoodsFavorite` 等函数一致的模式 — 接收 `ApiResult`,检查 `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`(实际运行项目) - **修复内容**: 1. 更新后端实体类 `ShopCoupon.java`,补充 `receiveTarget`、`receiveUserIds`、`venueType`、`venueId`、`useCount`、`useDuration` 字段(源码之前缺失,与运行时版本对齐) 2. 将 `enabled` 字段从 `Boolean` 改为 `Integer`,解决 Jackson 反序列化 `"1"` 失败 3. 修正 `ShopCouponController.page()` 中 `expire_type` 查询条件:`0/1` 改为 `10/20`(与数据库实际枚举值一致) 4. 生成数据库迁移 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)输入框 - **修复**: 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` 增加可选参数 `categoryId`,`handleSelectCategory` 选择分类后直接把新的 `cat?.categoryId` 传入 `loadGoods`,避免闭包取到旧状态 ## 门店商品管理页编辑弹窗补充会员价字段 - **文件**: `src/pages/store/goods/index.tsx` - **问题**: 编辑弹窗只有到手价和市场价,缺少会员价(dealerPrice)输入框 - **修复**: 1. `editForm` state 新增 `dealerPrice: ''` 2. `openEditModal` 中填充 `dealerPrice: goods.dealerPrice || ''` 3. 表单 UI 在市场价和库存之间新增会员价输入框 4. `submitEdit` 提交时携带 `dealerPrice`