From 0bfd5e667b4dff3ce305912ea9b1c117442d39b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Fri, 24 Jul 2026 11:19:50 +0800 Subject: [PATCH] =?UTF-8?q?docs(shop):=20=E8=A1=A5=E5=85=85=E5=95=86?= =?UTF-8?q?=E5=93=81=E5=88=86=E7=B1=BB=E5=A4=9A=E7=BA=A7=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E8=B0=83=E7=A0=94=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 说明分类管理页支持多级层级及其实现方式 - 指出商品端选分类组件限制在2~3级的问题 - 提醒后端是否限制层级需查后端仓库确认 feat(shopGoods): 新增批量上架含图片商品SQL脚本 - 提供批量上架分类ID为10332且含有图片商品的SQL预览查询 - 包含更新商品状态为上架的SQL语句及执行说明 - 约定商品状态、图片判定及删除标记等业务规则 --- .workbuddy/memory/2026-07-24.md | 5 +++++ online-withimage-goods-10332.sql | 38 ++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 online-withimage-goods-10332.sql diff --git a/.workbuddy/memory/2026-07-24.md b/.workbuddy/memory/2026-07-24.md index 770ae53..ffc0585 100644 --- a/.workbuddy/memory/2026-07-24.md +++ b/.workbuddy/memory/2026-07-24.md @@ -30,3 +30,8 @@ - 原「市场价/价格/会员价」三列(字段 salePrice/price/dealerPrice)合并为单个「价格」列(`key: 'priceGroup'`,width 150)。 - 单元格内堆叠显示,顺序与命名对齐编辑弹窗(`shopGoodsEdit.vue` 基本信息 Tab):价格(price,加粗头条)→ 市场价(salePrice)→ 会员价(dealerPrice);空值显示 `-`。 - 列表展示用 priceGroup 自定义 `#bodyCell` 渲染;导出 Excel(`handleExport`)仍保留三列独立价格,未改动。 + +## 商品分类(ShopGoodsCategory)多级分类调研 +- 分类管理页 `/shop/shopGoodsCategory` 本身**支持**多级:模型有 parentId/children,编辑弹窗用 a-tree-select(toTreeData) 不限层级,列表 computeDepth 递归缩进。 +- 但商品端选分类的级联组件 `src/components/SelectGoodsCategory/index.vue` 的 formatData/filterData 只映射 2~3 级;shopGoodsEdit 的 `chooseGoodsCategory` 写死 `value[1].value`/`value[0].label`(仅 2 级),3 级及以上会选错/选不中。 +- 后端 `/shop/shop-goods-category` 是否限层级需查后端仓库确认(本仓库看不到)。 diff --git a/online-withimage-goods-10332.sql b/online-withimage-goods-10332.sql new file mode 100644 index 0000000..13b9949 --- /dev/null +++ b/online-withimage-goods-10332.sql @@ -0,0 +1,38 @@ +-- ============================================================ +-- 批量上架「分类ID = 10332 且 含有图片」的商品 +-- ------------------------------------------------------------ +-- 约定说明(依据本项目代码 /Users/gxwebsoft/VUE/guilixu-admin): +-- 1. 上架 = status = 0(项目约定:0 上架 / 1 下架,见 shopGoodsEdit.vue 状态 radio) +-- 2. 「含有图片」以封面图 image 是否非空判断(image IS NOT NULL AND image <> '') +-- 3. 已删除商品(deleted = 1)不参与,避免误改 +-- 4. 表名/字段名按 snake_case 约定(Node + TypeORM 常见); +-- 若你的库列名是驼峰(goodsId / categoryId),请自行替换 +-- 5. 分类 10332 若是父分类、需连同其子分类商品一起处理, +-- 请把 category_id = 10332 改为 category_id IN (10332, 子分类ID...) +-- ============================================================ + +-- 第一步:先预览,确认影响范围(务必先执行核对,再跑 UPDATE) +SELECT goods_id, + name, + image, + status +FROM shop_goods +WHERE category_id = 10332 + AND image IS NOT NULL + AND image <> '' + AND (deleted = 0 OR deleted IS NULL); + +-- 第二步:确认无误后执行上架 +UPDATE shop_goods +SET status = 0, + update_time = NOW() +WHERE category_id = 10332 + AND image IS NOT NULL + AND image <> '' + AND (deleted = 0 OR deleted IS NULL); + +-- ------------------------------------------------------------ +-- (可选)若只想把「当前已下架」的商品重新上架, +-- 而不动「待审核(2) / 审核不通过(3)」的商品,加上 status 条件: +-- AND status = 1 +-- ------------------------------------------------------------