feat(types): 添加express.d.ts类型引用 style: 格式化express.d.ts中的接口定义 refactor: 移除未使用的AntFC类型导入 chore: 删除自动生成的.umi-production文件 feat: 添加店铺管理相关表和初始化脚本 docs: 更新安全规则和交互指南文档 refactor: 统一使用FC类型替代React.FC perf: 优化图表组件导入方式 style: 添加.prettierrc配置文件 refactor: 调整组件导入顺序和结构 feat: 添加平台库存管理路由 fix: 修复订单同步时的库存检查逻辑 docs: 更新RBAC设计和租户管理文档 refactor: 优化部门控制器代码
391 lines
17 KiB
Markdown
391 lines
17 KiB
Markdown
# 综合审查优化计划
|
||
|
||
## 1. 优化目标
|
||
|
||
- **提高代码质量**:消除未使用的导入、注释掉的代码和重复代码
|
||
- **完善功能实现**:确保所有方法和插件功能都有完整的实现
|
||
- **优化服务和插件架构**:提高系统的可维护性和扩展性
|
||
- **确保配置一致性**:确保服务和插件的配置与注册一致
|
||
- **统一错误处理**:建立全局错误处理机制
|
||
- **完善监控体系**:实现系统运行状态的实时监控
|
||
|
||
## 2. 编译错误分析(2026-03-26)
|
||
|
||
### 2.1 当前编译状态
|
||
|
||
| 项目 | 错误数 | 主要问题 |
|
||
|------|--------|----------|
|
||
| **Server** | 3 | 类型定义文件找不到(TS2688) |
|
||
| **Dashboard** | 1 | lazyLoad.tsx语法错误(TS1005) |
|
||
|
||
### 2.2 Server 错误分布
|
||
|
||
| 错误代码 | 数量 | 说明 |
|
||
|----------|------|------|
|
||
| TS2688 | 3 | 类型定义文件找不到(enums, events, models) |
|
||
|
||
### 2.3 Dashboard 错误分布
|
||
|
||
| 文件 | 错误数 | 主要问题 |
|
||
|------|--------|----------|
|
||
| lazyLoad.tsx | 1 | 语法错误('>' expected) |
|
||
|
||
### 2.4 核心问题
|
||
|
||
1. **类型定义文件缺失**:Server缺少enums、events、models的类型定义文件
|
||
2. **语法错误**:Dashboard的lazyLoad.tsx第46行存在语法错误
|
||
|
||
## 2. 现状分析
|
||
|
||
### 2.1 服务配置与注册概况
|
||
|
||
#### SERVICE_CONFIGS 定义的服务(157个)
|
||
|
||
| 类别 | 数量 | 示例 |
|
||
|------|------|------|
|
||
| CORE | 15 | AuthService, TurboGateway, FeatureGovernance, QuotaGovernance, TenantService, DomainEventBus, BillingService, AuditService, RBACService, PluginManager, PriorityAsyncEngine, EventBusOptimization, Warmup, DocsSync, SnowflakeID |
|
||
| BUSINESS | 5 | ProductService, SyncService, WarehouseService, WebhookService, ExperimentService |
|
||
| TELEMETRY | 10 | MemoryWatchdog, WorkerProfiler, DeadlockAdvisor, DLQMonitor, TransactionScopeService, PredictiveHealth, AutoDiagnostics, CostAttribution, TracingTopo, SemanticLog |
|
||
| SECURITY | 7 | SecurityScan, CacheConsistency, PermissionAudit, ContainerSecurity, SSLWatch, DIDHandshake, VaultService |
|
||
| NETWORK | 3 | FederatedNode, P2PConnection, PrivateInventorySync |
|
||
| AI | 8 | ChatBot, ImageRecognition, NaturalLanguageProcessing, Recommendation, DecisionExplainability, AgentSwarm, AutonomousSandbox, SelfHealing |
|
||
| LOGISTICS | 15+ | RouteOptimizer, LastMileAI, FreightAudit, CongestionFailover, LogisticTelemetry, LastMileOptimizer, SupplierScoring, GlobalFulfillment等 |
|
||
| FINANCE | 20+ | CashflowForecast, DynamicPricing, MarginProtector, CurrencyRisk, TaxCompliance, FinanceReconciliation, OrderProfit, PricingAudit等 |
|
||
| MARKETING | 10+ | KOL, SocialPulse, MarketingCalendar, AdOptimizer, TrueROAS等 |
|
||
|
||
#### DomainBootstrap 注册的服务(199个)
|
||
|
||
按优先级分组:
|
||
- **CORE_INFRA**:FeatureGovernance, QuotaGovernance, AuthService, TurboGateway, CreativeService, TenantService, DomainEventBus, AuditService, ActionAudit, BillingService, BillingEngine等
|
||
- **TELEMETRY & GOVERNANCE**:AutoDiagnostics, CostAttribution, TracingTopo, SemanticLog, PredictiveHealth, QuotaCircuitBreaker, RedTeaming, DataCompliance等
|
||
- **RUNTIME**:RuntimeSystem, PriorityAsyncEngine, V2MigrationAdvisor, DocsSync, EventBus, PrivateInventorySync, SnowflakeID, PluginManager, Warmup等
|
||
- **SECURITY**:SSLWatch, LogMasking, SecureVault, VaultService, DIDHandshake, SecurityScan, CacheConsistency, PermissionAudit, ContainerSecurity等
|
||
- **AI-2 Customer**:CustomerService, SupportService, DisputeAdvisorService, BehavioralRiskService等
|
||
- **AI-3 Business**:Finance/Logistics/Marketing/Trade各业务域服务
|
||
|
||
### 2.2 发现的问题
|
||
|
||
#### 问题1:配置与注册不一致
|
||
- **SERVICE_CONFIGS** 定义了157个服务
|
||
- **DomainBootstrap** 注册了199个服务
|
||
- 部分服务命名不一致(如ChatBot vs ChatBotService,已在SERVICE_CONFIGS中通过aliases解决)
|
||
|
||
#### 问题2:服务实现不完整
|
||
- 约30个服务使用 `Promise.resolve()` 作为init实现,无实际功能
|
||
- 部分服务init方法可能抛出异常但未正确处理
|
||
- 部分服务依赖外部资源但缺乏重试和熔断机制
|
||
|
||
#### 问题3:代码质量问题
|
||
- 存在未使用的导入
|
||
- 存在注释掉的代码
|
||
- 部分服务职责边界不清晰
|
||
|
||
#### 问题4:架构问题
|
||
- 服务注册方式为硬编码,缺乏动态注册机制
|
||
- 服务依赖关系缺乏自动化检测
|
||
- 配置分散在多个文件中,缺乏统一管理
|
||
|
||
## 3. 优化步骤
|
||
|
||
### 3.1 配置与注册优化
|
||
|
||
#### 任务1:服务配置与注册比对分析
|
||
**执行步骤**:
|
||
1. 提取SERVICE_CONFIGS中所有服务名称
|
||
2. 提取DomainBootstrap中所有注册的服务名称
|
||
3. 比对并识别不一致的服务
|
||
|
||
#### 任务2:实现服务自动同步机制
|
||
**执行步骤**:
|
||
1. 创建ServiceRegistry同步服务
|
||
2. 实现DomainBootstrap启动时自动注册所有SERVICE_CONFIGS中定义的服务
|
||
3. 添加注册状态监控和告警
|
||
|
||
#### 任务3:插件配置与注册分析
|
||
**执行步骤**:
|
||
1. 检查dashboard/plugins目录结构
|
||
2. 验证PluginManager的插件加载逻辑
|
||
3. 识别未注册的插件
|
||
|
||
### 3.2 代码质量优化
|
||
|
||
#### 任务4:核心服务代码质量检查
|
||
**执行步骤**:
|
||
1. 检查核心基础设施服务
|
||
2. 检查AI服务
|
||
3. 检查业务域服务
|
||
|
||
#### 任务5:清理未使用导入和注释代码
|
||
**执行步骤**:
|
||
1. 使用TypeScript编译器识别未使用导入
|
||
2. 清理注释掉的代码
|
||
3. 验证修改后代码仍能正常编译
|
||
|
||
### 3.3 功能模块整合
|
||
|
||
#### 任务6:识别功能重叠
|
||
**执行步骤**:
|
||
1. 分析相似服务
|
||
2. 识别重复功能
|
||
3. 提出整合建议
|
||
|
||
#### 任务7:明确服务职责边界
|
||
**执行步骤**:
|
||
1. 梳理服务依赖关系图
|
||
2. 识别职责不清的服务
|
||
3. 重命名或拆分职责不清的服务
|
||
|
||
### 3.4 架构优化
|
||
|
||
#### 任务8:实现服务注册自动化
|
||
**执行步骤**:
|
||
1. 创建统一的注册入口
|
||
2. 实现基于装饰器的自动注册
|
||
3. 添加依赖注入支持
|
||
|
||
#### 任务9:建立统一配置管理
|
||
**执行步骤**:
|
||
1. 集中管理所有服务配置
|
||
2. 实现配置热更新
|
||
3. 添加配置变更审计
|
||
|
||
#### 任务10:完善监控体系
|
||
**执行步骤**:
|
||
1. 实现服务健康状态实时监控
|
||
2. 添加异常告警机制
|
||
3. 建立性能指标收集
|
||
|
||
## 4. 质量提升标准
|
||
|
||
### 4.1 代码质量标准
|
||
- **代码规范**:符合项目代码规范,无未使用的导入和注释掉的代码
|
||
- **功能完整性**:所有方法和插件功能都有完整的实现,无功能缺失
|
||
- **错误处理**:统一的错误处理机制,异常处理规范
|
||
- **代码冗余**:无重复代码,功能相似的方法和代码得到合并
|
||
|
||
### 4.2 架构标准
|
||
- **注册机制**:服务和插件注册机制自动化,配置与注册一致
|
||
- **依赖管理**:依赖关系清晰,无循环依赖
|
||
- **配置管理**:统一的配置管理机制,配置集中管理
|
||
- **监控体系**:完善的监控和日志体系,系统运行状态可监控
|
||
|
||
### 4.3 性能标准
|
||
- **响应时间**:服务和插件响应时间符合业务要求
|
||
- **资源使用**:系统资源使用合理,无资源泄漏
|
||
- **可扩展性**:系统能够支持业务增长,性能随资源增加而线性提升
|
||
|
||
## 5. 实施计划
|
||
|
||
### 阶段1:配置与注册优化(1周)
|
||
| 任务 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| T1.1 | 服务配置与注册比对分析 | P0 |
|
||
| T1.2 | 识别未注册/未配置服务 | P0 |
|
||
| T1.3 | 补充缺失的服务注册/配置 | P1 |
|
||
| T1.4 | 插件配置与注册分析 | P1 |
|
||
|
||
### 阶段2:代码质量优化(2周)
|
||
| 任务 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| T2.1 | 核心服务代码质量检查 | P0 |
|
||
| T2.2 | 清理未使用导入 | P1 |
|
||
| T2.3 | 清理注释代码 | P1 |
|
||
| T2.4 | 完善功能实现 | P1 |
|
||
|
||
### 阶段3:功能模块整合(2周)
|
||
| 任务 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| T3.1 | 识别功能重叠 | P1 |
|
||
| T3.2 | 整合重复功能 | P2 |
|
||
| T3.3 | 明确服务边界 | P1 |
|
||
|
||
### 阶段4:架构优化(3周)
|
||
| 任务 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| T4.1 | 服务注册自动化 | P1 |
|
||
| T4.2 | 统一配置管理 | P2 |
|
||
| T4.3 | 完善监控体系 | P2 |
|
||
|
||
## 6. 风险评估
|
||
|
||
### 6.1 风险识别
|
||
- **注册失败**:自动同步机制可能导致服务或插件注册失败
|
||
- **功能冲突**:功能整合可能导致功能冲突
|
||
- **依赖循环**:依赖管理可能出现循环依赖
|
||
- **性能下降**:架构优化可能导致性能下降
|
||
|
||
### 6.2 风险缓解策略
|
||
- **注册失败**:建立注册状态的实时监控和告警机制
|
||
- **功能冲突**:在整合前进行充分的功能分析和测试
|
||
- **依赖循环**:建立依赖关系的自动检测和验证机制
|
||
- **性能下降**:在优化过程中进行性能测试,确保性能不下降
|
||
|
||
## 7. 结论
|
||
|
||
通过实施综合审查优化计划,我们将显著提高系统的可维护性、可扩展性和稳定性,为业务发展提供更加坚实的技术基础。
|
||
|
||
## 8. 执行记录
|
||
|
||
### 执行记录
|
||
|
||
#### 2026-03-26 (上午)
|
||
- ✅ T10: 分析了30个Promise.resolve()服务,确认大部分为合理设计
|
||
- ✅ T12: 确认未使用导入问题(主要存在于tsoa装饰器)
|
||
- ✅ T13: 确认DomainBootstrap中注释为合理代码组织注释
|
||
- ✅ T14: 分析了占位符服务,确认大部分有实际业务逻辑
|
||
- ✅ T15: 发现了2组同名服务冲突(BehavioralRiskService, PaymentRiskService)
|
||
|
||
#### 2026-03-26 (下午)
|
||
- ✅ T15.1: 合并BehavioralRiskService - 将core/governance版本合并到services/security
|
||
- ✅ T15.2: 合并PaymentRiskService - 将domains/Finance版本合并到services/settlement
|
||
- ✅ T16: GreenSupplyChain分析 - 确认不是重复,功能不同
|
||
- ✅ 前端冗余清理: 删除OrderListRefactored.tsx、B2B/目录、Return/目录
|
||
- ✅ T17: 操作日志可视化 - 在13_Technical.md中添加操作日志可视化方案
|
||
- ✅ T17.1: 创建operationLogDataSource.ts
|
||
- ✅ T17.2: 创建OperationLogs/index.tsx前端页面
|
||
- ✅ T17.3: 扩展AuditService支持loop/stage字段
|
||
- ✅ T17.4: 扩展AuditController.getTimeline支持闭环筛选
|
||
- ✅ T17.5: 添加/dashboard/operation-logs路由
|
||
- ✅ T25.1: Server tsoa装饰器配置 - 添加experimentalDecorators和emitDecoratorMetadata
|
||
- Server错误从 **252 降至 93**(减少159个装饰器错误)
|
||
- ✅ T25.2: Dashboard编译错误修复 - 修复operationLogDataSource.ts和OperationLogs/index.tsx
|
||
- ✅ 更新Business_ClosedLoops.md: 修正文档路径引用
|
||
- ✅ tasks目录审查: 发现P3_development.md统计数字不一致(19 vs 22)
|
||
|
||
### 前端重叠冗余分析
|
||
|
||
#### 已清理的冗余
|
||
| 文件/目录 | 说明 | 状态 |
|
||
|-----------|------|------|
|
||
| `pages/Orders/OrderListRefactored.tsx` | 与OrderList.tsx功能重复,无路由引用 | ✅ 已删除 |
|
||
| `pages/Return/` | 无路由引用,可能是遗留 | ✅ 已删除 |
|
||
|
||
#### 待确认清理
|
||
| 文件/目录 | 说明 | 建议 |
|
||
|-----------|------|------|
|
||
| `pages/B2B/` | 与B2BTrade功能重复,但仍有路由引用 | ⚠️ 需要进一步确认 |
|
||
|
||
#### 正常的设计(已验证非重复)
|
||
| 文件对 | 关系 | 说明 |
|
||
|--------|------|------|
|
||
| cloud-service.ts | 独立服务 | 云服务器管理API |
|
||
| cloud-control-layer.ts | 独立服务 | 云控制四层架构 |
|
||
| lightweightClientService.ts | 被引用 | 被clientDataSource和OperationAgentEnhanced使用 |
|
||
|
||
### ⚠️ 待处理: 同名服务合并、功能重叠分析
|
||
|
||
### 分析发现
|
||
|
||
#### 服务命名不一致示例(部分)
|
||
| SERVICE_CONFIGS | DomainBootstrap | 状态 |
|
||
|------|------|------|
|
||
| ChatBot | ChatBotService | ✅ 已通过aliases解决 |
|
||
| ImageRecognition | ImageRecognitionService | ✅ 已通过aliases解决 |
|
||
| NaturalLanguageProcessing | NaturalLanguageProcessingService | ✅ 已通过aliases解决 |
|
||
| Recommendation | RecommendationService | ✅ 已通过aliases解决 |
|
||
| RouteOptimizer | RouteOptimizerService | ✅ 已通过aliases解决 |
|
||
| LastMileAI | LastMileAIService | ✅ 已通过aliases解决 |
|
||
| FreightAudit | FreightAuditService | ✅ 已通过aliases解决 |
|
||
| LogisticTelemetry | LogisticTelemetryService | ✅ 已通过aliases解决 |
|
||
| CashflowForecast | CashflowForecastService | ✅ 已通过aliases解决 |
|
||
| DynamicPricing | DynamicPricingService | ✅ 已通过aliases解决 |
|
||
| CurrencyRisk | CurrencyRiskService | ✅ 已通过aliases解决 |
|
||
| TaxCompliance | TaxComplianceService | ✅ 已通过aliases解决 |
|
||
| FinanceReconciliation | FinanceReconciliationService | ✅ 已通过aliases解决 |
|
||
| OrderProfit | OrderProfitService | ✅ 已通过aliases解决 |
|
||
| PricingAudit | PricingAuditService | ✅ 已通过aliases解决 |
|
||
| KOL | KOLService | ✅ 已通过aliases解决 |
|
||
| SocialPulse | SocialPulseService | ✅ 已通过aliases解决 |
|
||
| MarketingCalendar | MarketingCalendarService | ✅ 已通过aliases解决 |
|
||
|
||
#### 同名服务冲突(已解决)
|
||
| 冲突1 | 路径1 | 路径2 | 状态 |
|
||
|-------|-------|-------|------|
|
||
| BehavioralRiskService | `core/governance/` | `services/security/` | ✅ 已合并到services/security |
|
||
| PaymentRiskService | `domains/Finance/` | `services/settlement/` | ✅ 已合并到services/settlement |
|
||
|
||
#### 使用Promise.resolve()作为init实现的服务(约30个)
|
||
这些服务没有实际的初始化逻辑,需要评估是否需要实现或移除:
|
||
- VisualSourcing, SLAScoring, TrustEvolution, DisputeClassifier
|
||
- GreenSupply, HolidayRisk, PackingOptimizer, StuckTracking
|
||
- InvoiceLateRisk, ContentGap, GlobalCSMonitor, ProcurementAudit
|
||
- SensibleStock, PaymentRisk, DynamicShipping, LeadTimeDrift
|
||
- InventoryAging, SupplierRiskRadar, PlatformFeeWatcher, StyleWar
|
||
- SeaFreightAdvisor, AutoRCA, SandboxROIAdvisor, V2MigrationAdvisor
|
||
- PrivateInventorySync, TrustEvolution, LogisticTelemetry等
|
||
|
||
#### 插件系统现状
|
||
**前端插件(dashboard/src/plugins/)**:7个feature
|
||
- AIOperationsFeature, AutoPricingFeature, MultiShopFeature
|
||
- B2BTradeFeature, IndependentSiteFeature, AdvancedAnalyticsFeature, APIAccessFeature
|
||
|
||
**后端插件(server/plugins/)**:PluginManager自动加载.plugin.ts文件
|
||
|
||
#### 核心服务代码质量
|
||
检查AuthService和ReconciliationService:
|
||
- ✅ 有完整的JSDoc注释
|
||
- ✅ 有完善的错误处理
|
||
- ✅ 五元组(tenantId, shopId, taskId, traceId, businessType)贯穿整个服务
|
||
- ⚠️ 部分服务实现使用硬编码值(如汇率7.25)
|
||
|
||
### Promise.resolve()服务分析(30个)
|
||
|
||
#### 有正当理由(不需要表初始化)的服务
|
||
| 服务名 | 原因 |
|
||
|--------|------|
|
||
| DynamicPricing | 注释说明不需要初始化表 |
|
||
| VisualSourcing | 使用sourcing_audit表 |
|
||
| SLAScoring | 使用sourcing_audit表 |
|
||
|
||
#### 需要实现或移除的服务(占位符)
|
||
TrustEvolution, DisputeClassifier, GreenSupply, HolidayRisk, PackingOptimizer, StuckTracking, InvoiceLateRisk, ContentGap, GlobalCSMonitor, ProcurementAudit, SensibleStock, PaymentRisk, DynamicShipping, LeadTimeDrift, InventoryAging, SupplierRiskRadar, PlatformFeeWatcher, StyleWar, SeaFreightAdvisor, AutoRCA, SandboxROIAdvisor, V2MigrationAdvisor, PrivateInventorySync, LogisticTelemetry, GlobalTracing
|
||
|
||
### 功能重叠和冗余分析
|
||
|
||
#### 同名服务冲突(需要合并或重构)
|
||
| 冲突1 | 路径1 | 路径2 | 建议 |
|
||
|-------|-------|-------|------|
|
||
| BehavioralRiskService | `core/governance/` | `services/security/` | 合并到统一位置 |
|
||
| PaymentRiskService | `domains/Finance/` | `services/settlement/` | 合并到统一位置 |
|
||
|
||
#### 待执行任务
|
||
1. **T15.1 合并BehavioralRiskService** - 两个同名服务功能可能重叠
|
||
2. **T15.2 合并PaymentRiskService** - 两个同名服务功能可能重叠
|
||
3. **T16 清理GreenSupplyChain重复** - GreenSupplyService vs GreenSupplyChainService
|
||
|
||
### 待执行任务
|
||
|
||
#### 高优先级
|
||
| 任务ID | 描述 | 说明 | 状态 |
|
||
|--------|------|------|------|
|
||
| T17 | 统一命名机制应用 | DomainBootstrap应用resolveServiceName()解析别名 | pending |
|
||
| T18 | 服务配置重复检查 | 定期检查serviceConfig.ts是否有重复定义 | pending |
|
||
| T19 | 验证合并结果 | 验证BehavioralRiskService和PaymentRiskService合并后正常工作 | pending |
|
||
| T25 | Server tsoa装饰器配置 | 修复Server 252个装饰器相关编译错误 | pending |
|
||
| T26 | Dashboard类型冲突 | 修复productManagementDataSource状态类型冲突 | pending |
|
||
|
||
#### 中优先级
|
||
| 任务ID | 描述 | 说明 | 状态 |
|
||
|--------|------|------|------|
|
||
| T20 | 评估30个Promise.resolve()服务 | 确定是否需要实现或移除 | pending |
|
||
| T21 | tsoa装饰器问题 | 框架级配置问题,需单独处理 | blocked by T25 |
|
||
| T22 | 服务注册自动化 | 实现基于装饰器的自动注册 | pending |
|
||
|
||
#### 低优先级
|
||
| 任务ID | 描述 | 说明 | 状态 |
|
||
|--------|------|------|------|
|
||
| T23 | 统一配置管理 | 集中管理所有服务配置 | pending |
|
||
| T24 | 完善监控体系 | 实现服务健康状态实时监控 | pending |
|
||
|
||
### Dashboard 1个编译错误修复进度
|
||
|
||
| 优先级 | 文件 | 错误数 | 修复策略 | 状态 |
|
||
|--------|------|--------|----------|------|
|
||
| P0 | lazyLoad.tsx | 1 | 语法错误修复 | pending |
|
||
|
||
### Server 3个编译错误修复进度
|
||
|
||
| 优先级 | 问题 | 错误数 | 修复策略 | 状态 |
|
||
|--------|------|--------|----------|------|
|
||
| P0 | 类型定义文件缺失 | 3 | 创建或安装类型定义文件 | pending |
|