Files
makemd/docs/01_Architecture/SERVICE_MAP.md
wurenzhi 0dac26d781 feat: 添加MSW模拟服务和数据源集成
refactor: 重构页面组件移除冗余Layout组件

feat: 实现WebSocket和事件总线系统

feat: 添加队列和调度系统

docs: 更新架构文档和服务映射

style: 清理重复接口定义使用数据源

chore: 更新依赖项配置

feat: 添加运行时系统和领域引导

ci: 配置ESLint边界检查规则

build: 添加Redis和WebSocket依赖

test: 添加MSW浏览器环境入口

perf: 优化数据获取逻辑使用统一数据源

fix: 修复类型定义和状态管理问题
2026-03-19 01:39:34 +08:00

183 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SERVICE_MAP服务编排总图
## 设计原则
### 核心原则(逻辑集中化)
> **所有业务逻辑必须集中在 Service 层,禁止分散在 Controller、前端或数据库操作中。**
### 强制约束
-**所有业务必须通过 Service 层**:禁止 Controller 直接操作数据库
-**Controller 职责明确**:只负责请求/响应和权限校验
-**一个业务 = 一条 Service Flow**:每个业务操作对应一个完整的服务流程
-**服务调用必须遵循 STATE_MACHINE**:状态流转必须符合状态机定义
-**涉及收费的业务必须接入 BILLING 系统**:支付、权限、账单必须闭环
-**所有接口必须经过权限校验**:使用 `authorize()` 中间件
### 禁止行为
-**Controller 中写业务逻辑**:业务决策、状态变化、数据校验必须在 Service 层
-**前端直接写业务规则**:复杂计算、权限判断、状态流转禁止在 React 组件中实现
-**数据库操作分散**:不同模块禁止直接调用数据库,必须通过 Service 层
-**脚本或工具处理逻辑**AI 任务或异步脚本必须通过 Service 层统一调用
### 服务层职责边界
#### Controller 层职责
- 接收 HTTP 请求和参数验证
- 调用 Service 层处理业务逻辑
- 返回响应给前端
- 权限校验(通过 `authorize()` 中间件)
#### Service 层职责(核心)
- 业务逻辑编排和状态流转
- 多模块协同和数据一致性保证
- 事务管理和异常处理
- 调用 Repository 层或外部 API
#### Repository 层职责
- 数据库 CRUD 操作
- 数据模型映射
- 查询优化
---
## 1. 功能开通闭环(收费核心)
Flow:
Frontend
→ FeatureController.openFeature
→ FeatureService.checkAccess
→ PaymentService.createPayment
→ PaymentCallbackService.confirm
→ FeatureService.activateFeature
→ PermissionService.grant
→ BillingService.record
→ Response
---
## 2. 多商户订单闭环
Flow:
Frontend
→ OrderController.create
→ OrderService.createOrder
→ OrderService.splitByMerchant
→ InventoryService.lockStock
→ OrderRepository.save
→ Response
---
## 3. 订单履约闭环
Flow:
OrderService.confirm
→ ShipmentService.createShipment
→ OrderService.updateStatus
→ NotificationService.send
---
## 4. 结算闭环
Flow:
Scheduler / Manual Trigger
→ SettlementService.calculate
→ SettlementService.generateBill
→ PaymentService.payout
→ BillingService.record
---
## 5. 权限校验闭环(所有接口必须经过)
Flow:
Request
→ AuthMiddleware
→ PermissionService.check
→ Controller
---
## 6. 商户管理闭环
Flow:
Frontend
→ MerchantController.create
→ MerchantService.register
→ VerificationService.verify
→ RBACService.assignRole
→ Response
---
## 7. 店铺管理闭环
Flow:
Frontend
→ StoreController.create
→ StoreService.createStore
→ ProductService.setupProducts
→ InventoryService.initializeInventory
→ Response
---
## 8. 商户数据与分析闭环
Flow:
Scheduler / Manual Trigger
→ AnalyticsService.collectData
→ ReportService.generateReport
→ NotificationService.sendReport
→ Response
---
## 9. 多商户库存同步闭环
Flow:
Merchant Portal
→ InventoryController.sync
→ InventorySyncService.syncMerchantInventory
→ InventoryService.updateStock
→ ProductService.updateProductStatus
→ Response
---
## 10. 自动选品闭环
Flow:
Frontend / Scheduler
→ ProductSelectionController.execute
→ ProductSelectionService.executeSelection
→ ProductSelectionService.calculateScore
→ ProductPoolRepository.save
→ AutoListingService.createListingTask
→ Response
---
## 11. 自动上架闭环
Flow:
Scheduler / Manual Trigger
→ AutoListingController.batchList
→ AutoListingService.batchListProducts
→ PlatformApiService.publishProduct
→ ListingTaskRepository.updateStatus
→ NotificationService.notifyListingResult
→ Response
---
## 12. 异常处理闭环
Flow:
Frontend / System
→ ExceptionController.handle
→ ExceptionService.process
→ NotificationService.alert
→ SettlementService.adjust
→ Response