Browse Source

平台商品类别管理

wwh 2 weeks ago
parent
commit
0bf22c17b7

+ 15 - 6
doc/农资商城web/商品管理/商品管理技术方案.md

@@ -1,7 +1,8 @@
1 1
 # 商品管理 — 技术方案
2 2
 
3 3
 > **依据:** 《商品管理功能需求.md》v1.3.3  
4
-> **关联:** 《商户管理》《店铺管理》《商品分类》《商品服务管理》功能需求 v1.3.1 / v1.3.2 / v1.3.1 / **v1.0.1**;**《店铺管理技术方案.md》v1.2.1**、《商户管理技术方案.md》v1.3、《商品分类技术方案.md》v1.1  
4
+> **关联:** 《商户管理》《店铺管理》《商品分类》《商品服务管理》功能需求 v1.3.1 / v1.3.4 / **v1.4** / **v1.0.1**;**《店铺管理技术方案.md》v1.2.4**、《商户管理技术方案.md》v1.3、《商品分类技术方案.md》**v1.2**  
5
+> **v1.3:** 同步《商品分类技术方案》v1.2 — 平台分类(`shop_id IS NULL`)与店铺分类同表;商品 **仅** 引用本店二级类。
5 6
 > **范围:** 商品模块库表;**平台端 + 商家端** 接口;分类 ER 引用;**商品服务快照**(P18~P21);C 端 `canPurchase`;商家端依赖店铺经营账号。  
6 7
 > **原则:** 不考虑会员;**首期单规格**(P16);分类仅二级;未上架不进平台列表;状态 **仅** 经 submit/audit/offShelf 变更(P17)。
7 8
 
@@ -36,7 +37,9 @@ ruoyi-agri
36 37
 ```text
37 38
 biz_goods_service(平台目录,商品服务模块)
38 39
     └── biz_goods_service_snapshot(商品保存时快照,本模块)
39
-biz_shop → biz_goods_category(二级)→ biz_goods → biz_order(《订单管理技术方案》v1.0)
40
+biz_shop → biz_goods_category(shop_id = 本店;二级)→ biz_goods → biz_order(《订单管理技术方案》v1.0)
41
+
42
+biz_goods_category(shop_id IS NULL)  ← 平台分类;**不** 作为 biz_goods.category_id
40 43
 ```
41 44
 
42 45
 ### 1.3 跨模块 Facade
@@ -72,7 +75,13 @@ biz_shop → biz_goods_category(二级)→ biz_goods → biz_order(《订
72 75
 
73 76
 ### 2.2 关联 `biz_goods_category`(ER)
74 77
 
75
-`category_id` 须为 `parent_id != 0` 的二级节点,且 `shop_id` = 商品 `shop_id`。
78
+| 维度 | 规则 |
79
+|------|------|
80
+| 店铺分类 | `category_id` 须为 `parent_id != 0` 的二级节点,且 `shop_id` = 商品 `shop_id` |
81
+| 平台分类 | `shop_id IS NULL`;由平台端 `/agri/category` 维护;**本期商品不引用** |
82
+| 可见性 | `ICategoryFacade.isCategoryVisible` 校验本店二级类 `status`;平台类与商品模块解耦 |
83
+
84
+详见《商品分类技术方案.md》v1.2。
76 85
 
77 86
 ### 2.3 `biz_goods` 字段摘要
78 87
 
@@ -439,8 +448,8 @@ CREATE TABLE `biz_goods_service_snapshot` (
439 448
 | 商品管理功能需求.md | **v1.3.3** |
440 449
 | 商品服务管理功能需求/技术方案 | v1.0.1 / v1.0.1 |
441 450
 | 商品管理测试用例.md | v1.0(P18~P21 用例待补) |
442
-| 店铺管理功能需求/技术方案 | v1.3.2 / v1.2.1 |
443
-| 商品分类功能需求/技术方案 | v1.3.1 / v1.1 |
451
+| 店铺管理功能需求/技术方案 | v1.3.4 / **v1.2.4** |
452
+| 商品分类功能需求/技术方案 | **v1.4** / **v1.2** |
444 453
 | 商户管理功能需求/技术方案 | v1.3.1 / v1.3 |
445 454
 
446 455
 ---
@@ -451,4 +460,4 @@ CREATE TABLE `biz_goods_service_snapshot` (
451 460
 
452 461
 ---
453 462
 
454
-*文档版本:v1.2 · MySQL 5.7.39 · RuoYi v3.9.2-springboot2 · 关联《商品管理功能需求.md》v1.3.3、《订单管理技术方案.md》v1.0、《商品服务管理功能需求.md》v1.0.1、《商品管理测试用例.md》v1.0*
463
+*文档版本:v1.3 · MySQL 5.7.39 · RuoYi v3.9.2-springboot2 · 关联《商品管理功能需求.md》v1.3.3、《商品分类技术方案.md》v1.2、《订单管理技术方案.md》v1.0、《商品服务管理功能需求.md》v1.0.1、《商品管理测试用例.md》v1.0*

+ 2 - 2
doc/农资商城web/文档索引.md

@@ -42,7 +42,7 @@ doc/农资商城web/
42 42
 | 模块 | 功能需求 | 技术方案 | 测试用例 | 说明 |
43 43
 |------|----------|----------|----------|------|
44 44
 | 商户管理 | [v1.4](组织管理/商户管理/商户管理功能需求.md) | [v1.4](组织管理/商户管理/商户管理技术方案.md) | [v1.2](组织管理/商户管理/商户管理测试用例.md) | 平台端 |
45
-| 店铺管理 | [v1.3.4](组织管理/店铺管理/店铺管理功能需求.md) | [v1.2.3](组织管理/店铺管理/店铺管理技术方案.md) | [v1.0](组织管理/店铺管理/店铺管理测试用例.md) | 平台 + 商家端店资料 |
45
+| 店铺管理 | [v1.3.4](组织管理/店铺管理/店铺管理功能需求.md) | [v1.2.4](组织管理/店铺管理/店铺管理技术方案.md) | [v1.0](组织管理/店铺管理/店铺管理测试用例.md) | 平台 + 商家端店资料 |
46 46
 | 店铺设置 | [v1.1](组织管理/店铺设置/店铺设置功能需求.md) | [v1.1.1](组织管理/店铺设置/店铺设置技术方案.md) | [v1.1](组织管理/店铺设置/店铺设置测试用例.md) | 全平台全局策略 |
47 47
 | 入驻审核 | [v1.0.2](组织管理/入驻审核/商户入驻审核功能需求.md) | [v1.0.2](组织管理/入驻审核/商户入驻审核技术方案.md) | [v1.0.2](组织管理/入驻审核/商户入驻审核测试用例.md) | C 端入驻 + 平台审核 |
48 48
 
@@ -50,7 +50,7 @@ doc/农资商城web/
50 50
 
51 51
 | 模块 | 功能需求 | 技术方案 | 测试用例 | 说明 |
52 52
 |------|----------|----------|----------|------|
53
-| 商品管理 | [v1.3.3](商品管理/商品管理功能需求.md) | [v1.2](商品管理/商品管理技术方案.md) | [v1.0](商品管理/商品管理测试用例.md) | 平台 + 商家端;P18~P21 |
53
+| 商品管理 | [v1.3.3](商品管理/商品管理功能需求.md) | [v1.3](商品管理/商品管理技术方案.md) | [v1.0](商品管理/商品管理测试用例.md) | 平台 + 商家端;P18~P21 |
54 54
 | 商品分类 | [v1.4](商品管理/商品分类/商品分类功能需求.md) | [v1.2](商品管理/商品分类/商品分类技术方案.md) | [v1.0](商品管理/商品分类/商品分类测试用例.md) | **平台 + 商家** |
55 55
 | 商品服务 | [v1.0.1](商品管理/商品服务/商品服务管理功能需求.md) | [v1.0.1](商品管理/商品服务/商品服务管理技术方案.md) | [v1.0](商品管理/商品服务/商品服务管理测试用例.md) | **平台端**;`biz_goods_service` |
56 56
 | 商品审核 | [v1.0](商品管理/商品审核/商品审核功能需求.md) | [v1.0](商品管理/商品审核/商品审核技术方案.md) | [v1.0](商品管理/商品审核/商品审核测试用例.md) | 平台审核/下架专册 |

+ 17 - 7
doc/农资商城web/组织管理/店铺管理/店铺管理技术方案.md

@@ -5,7 +5,7 @@
5 5
 > **范围:** 本文以 **店铺模块** 的数据库、接口为主;商品/分类/订单/商家端登录给出 **表关系、Facade、联动**;不展开商品/C 端完整设计。  
6 6
 > **原则:** **不考虑会员**;**店铺经营账号** 由本模块维护(平台账号体系,BCrypt 密码)。  
7 7
 > **v1.2.3:** 商家端 **`GET/PUT /agri/seller/shop`** 维护店资料,与平台列表 **同源** `biz_shop`。  
8
-> **v1.2.2:** `biz_shop` **移除** `default_audit_pass`、`max_sub_admin`;策略见 **店铺设置** 全局表
8
+> **v1.2.4:** 同步《商品分类技术方案》v1.2 — `biz_goods_category.shop_id` 可空(平台分类与店铺分类同表隔离)
9 9
 
10 10
 ---
11 11
 
@@ -35,9 +35,11 @@ baqing-shop
35 35
 biz_merchant
36 36
     └── biz_merchant_account(1 商户 1 套经营账号)
37 37
             └── biz_shop(1 商户多店,merchant_id 创建后不可改;本期不设店数上限)
38
-                    ├── biz_goods_category(shop_id)
39
-                    ├── biz_goods(shop_id;submit 读 **全局** default_audit_pass)
38
+                    ├── biz_goods_category(shop_id = 本店 ID;店铺维度二级分类
39
+                    ├── biz_goods(shop_id;category_id 指向本店二级类;submit 读 **全局** default_audit_pass)
40 40
                     └── biz_order(shop_id;删店校验)
41
+
42
+biz_goods_category(shop_id IS NULL)  ← 平台分类(与店铺无 FK;商品 **不** 引用)
41 43
 ```
42 44
 
43 45
 | 模块 | 核心表 | 与店铺关系 |
@@ -45,7 +47,7 @@ biz_merchant
45 47
 | 商户管理 | `biz_merchant` | 上游;`shop_count` 回写 |
46 48
 | **店铺管理** | `biz_shop`;`biz_merchant_account`(表归商户维度,**本模块维护**) | **本文** |
47 49
 | 商品管理 | `biz_goods` | 删店前置:无出售中/待审核 |
48
-| 商品分类 | `biz_goods_category` | 归属 `shop_id` |
50
+| 商品分类 | `biz_goods_category` | **店铺行** `shop_id = 本店`;平台行 `shop_id IS NULL`(商品模块不引用);删店后本店分类 **不可再维护** |
49 51
 | 订单 | `biz_order` | 删店校验 `IOrderFacade.hasUnfinishedOrdersByShop`(见《订单管理技术方案》v1.0) |
50 52
 | 商家端 | `biz_shop` 资料 | `SellerShopController`;`X-Shop-Id` 上下文;改资料后平台 list **同源** |
51 53
 
@@ -372,7 +374,7 @@ biz_goods.shop_id       → biz_shop.shop_id
372 374
373 375
 GET /agri/merchant/selectList → POST /agri/shop(账号+店)
374 376
375
-商家端:经营账号登录 → 选当前 shop_id → 分类/商品
377
+商家端:经营账号登录 → 选当前 shop_id → **本店** 分类/商品
376 378
377 379
 上架:按 **全局** default_audit_pass 进待审核或出售中
378 380
 ```
@@ -528,7 +530,7 @@ deleteShop()  → 预检 → del_flag=2 → decrementShopCount(账号行不删
528 530
 | 店铺管理测试用例.md | v1.0(表名已同步为 `biz_merchant_account`) |
529 531
 | 商户管理功能需求/技术方案 | v1.3.1 / v1.3 |
530 532
 | 商品管理功能需求/技术方案 | v1.3.3 / v1.2 |
531
-| 商品分类功能需求/技术方案 | v1.3.1 / v1.1 |
533
+| 商品分类功能需求/技术方案 | v1.4 / v1.2 |
532 534
 
533 535
 ---
534 536
 
@@ -538,6 +540,14 @@ deleteShop()  → 预检 → del_flag=2 → decrementShopCount(账号行不删
538 540
 
539 541
 ---
540 542
 
543
+## 13. v1.2.4 修订摘要
544
+
545
+| 项 | 内容 |
546
+|----|------|
547
+| `biz_goods_category` | `shop_id` **可空**;NULL=平台分类;非空=店铺分类 |
548
+| 与店铺关系 | 商品/订单仍经 `biz_shop.shop_id`;平台分类与店铺 **无直接 FK** |
549
+| 维护边界 | 店铺模块 **不** CRUD 分类;平台/商家在商品分类模块分别维护 |
550
+
541 551
 ## 12. v1.2.1 修订摘要
542 552
 
543 553
 | 项 | 内容 |
@@ -548,4 +558,4 @@ deleteShop()  → 预检 → del_flag=2 → decrementShopCount(账号行不删
548 558
 
549 559
 ---
550 560
 
551
-*文档版本:v1.2.1 · MySQL 5.7.39 · RuoYi v3.9.2-springboot2 · 关联《店铺管理功能需求.md》v1.3.2、《店铺管理测试用例.md》v1.0*
561
+*文档版本:v1.2.4 · MySQL 5.7.39 · RuoYi v3.9.2-springboot2 · 关联《店铺管理功能需求.md》v1.3.4、《商品分类技术方案.md》v1.2*