# 代码审查修复任务 ## 任务列表 | Task ID | 闭环关联 | 任务描述 | 输入 | 输出 | 触发条件 | 状态 | 优先级 | 依赖 | 预计耗时 | 负责人 | 完成时间 | | ------- | ---------- | ---------- | ----- | ---- | -------- | ---- | --- | --- | ---- | -------- | -------- | | BE-CR001 | 代码质量闭环 | 修复 TypeScript 编译错误(400+) | 错误列表 | 编译通过 | 代码审查 | ✅ completed | P0 | - | 16h | AI-Backend-1 | 2026-03-22 | | BE-CR002 | 代码质量闭环 | 修复金额字段类型(51 处 float/double → decimal) | 违规文件列表 | 数据库表更新 | 代码审查 | ✅ completed | P0 | - | 4h | AI-Backend-1 | 2026-03-20 | | BE-CR003 | 安全闭环 | 移除 VaultCrypto 默认密钥硬编码 | VaultCrypto.ts | 安全密钥管理 | 代码审查 | ✅ completed | P0 | - | 1h | AI-Backend-1 | 2026-03-20 | | BE-CR004 | 功能闭环 | 完成核心 TODO 项(商品/订单同步) | TODO 列表 | 功能实现 | 代码审查 | ✅ completed | P1 | - | 8h | AI-Backend-1 | 2026-03-25 | | BE-CR005 | 类型安全闭环 | 减少 `any` 类型使用(43 处) | 违规文件列表 | 类型定义完善 | 代码审查 | 🔒 claimed | P1 | - | 6h | AI-Backend-1 | 2026-03-25 | | BE-CR006 | 日志规范闭环 | 统一 logger 使用(86 处 console.log) | 违规文件列表 | 日志统一 | 代码审查 | 🔒 claimed | P1 | - | 3h | AI-Backend-1 | 2026-03-24 | | BE-CR007 | 输入验证闭环 | 完善输入参数验证 | API 路由列表 | Zod 验证 | 代码审查 | 🔒 claimed | P2 | - | 12h | AI-Backend-1 | 2026-04-10 | | BE-CR008 | 性能优化闭环 | 优化数据库查询索引 | 慢查询日志 | 索引优化 | 性能监控 | 🔒 claimed | P2 | - | 8h | AI-Backend-1 | 2026-04-15 | | BE-CR009 | 测试覆盖闭环 | 补充单元测试覆盖率 | 测试报告 | 测试用例 | 代码审查 | 🔒 claimed | P2 | - | 20h | AI-Backend-1 | 2026-04-20 | ## 相关闭环 - 代码质量闭环 - 安全闭环 - 功能闭环 - 类型安全闭环 - 日志规范闭环 - 输入验证闭环 - 性能优化闭环 - 测试覆盖闭环 ## 依赖关系 - BE-CR001 是基础任务,无依赖 - BE-CR002 无依赖 - BE-CR003 无依赖 - BE-CR004 无依赖 - BE-CR005 无依赖 - BE-CR006 无依赖 - BE-CR007 依赖 BE-CR001 - BE-CR008 依赖 BE-CR001 - BE-CR009 依赖 BE-CR001 ## 任务详情 ### BE-CR001: 修复 TypeScript 编译错误 **问题描述**: Server 模块存在 400+ 个 TypeScript 编译错误,导致项目无法正常构建。 **影响文件**: - `src/services/*.ts` (100+ 文件) - `src/domains/**/*.ts` (50+ 文件) - `src/core/**/*.ts` (30+ 文件) **错误类型分布**: - 类型不匹配错误: ~40% - 缺少类型声明: ~30% - 导入/导出错误: ~20% - 其他语法错误: ~10% **验收标准**: - ✅ 运行 `npm run check` 无错误 - ✅ 项目能够成功编译 - ✅ 无 TypeScript 类型错误 - ✅ 所有导入导出正确 **实施步骤**: 1. 运行 `npm run check` 获取完整错误列表 2. 按模块分批修复,优先修复核心服务(Trade/Billing/Arbitrage) 3. 添加缺失的类型声明文件 4. 统一模块导入规范 --- ### BE-CR002: 修复金额字段类型 **问题描述**: 根据项目规则 1.1,金额字段必须使用 `decimal(10,2)`,但发现多处使用 `float`/`double`。 **违规文件列表**: | 文件路径 | 行号 | 违规代码 | |----------|------|----------| | `src/services/ProductService.ts` | 53 | `table.double('rating')` | | `src/core/runtime/LegacyTableInitializer.ts` | 321-322 | `table.float('daily_budget')` | | `src/domains/Arbitrage/ArbitrageService.ts` | 98-99 | `table.float('initial_profit_rate')` | | `src/domains/Billing/SLAGovernanceService.ts` | 108 | `table.float('p95_latency_ms')` | | `src/services/FXHedgingService.ts` | 40 | `table.float('volatility')` | **验收标准**: - ✅ 所有金额字段使用 `decimal(10,2)` - ✅ 数据库表结构更新完成 - ✅ 迁移脚本执行成功 - ✅ 无数据丢失 **实施步骤**: 1. 识别所有使用 float/double 的金额字段 2. 创建数据库迁移脚本 3. 更新表结构定义 4. 执行迁移并验证数据完整性 --- ### BE-CR003: 移除 VaultCrypto 默认密钥硬编码 **问题描述**: `VaultCrypto.ts` 中存在默认主密钥硬编码,如果环境变量未设置,将使用可预测的默认密钥,严重危及凭证安全。 **文件**: `server/src/utils/VaultCrypto.ts` **行号**: 9 **验收标准**: - ✅ 移除默认密钥硬编码 - ✅ 环境变量缺失时抛出明确错误 - ✅ 添加密钥验证逻辑 - ✅ 通过安全测试 **实施步骤**: 1. 修改 `MASTER_KEY` 获取逻辑 2. 添加环境变量验证 3. 更新相关文档 4. 测试密钥管理流程 --- ### BE-CR004: 完成核心 TODO 项 **问题描述**: 发现 30 个 TODO/FIXME 注释,部分涉及核心功能缺失。 **关键遗留项**: | 文件 | 行号 | 描述 | 优先级 | |------|------|------|--------| | `OperationAgentService.ts` | 118 | 商品同步到数据库 | P0 | | `OperationAgentService.ts` | 167 | 订单同步到数据库 | P0 | | `PlatformApiService.ts` | 204-214 | Amazon SP-API 同步 | P1 | | `dynamicPricing.ts` | 261 | analyzeCompetitorPrices 方法 | P1 | | `SummaryAggregationService.ts` | 125-126 | 真实成本/利润接入 | P1 | **验收标准**: - ✅ 所有 P0 级别 TODO 完成 - ✅ 商品同步功能实现 - ✅ 订单同步功能实现 - ✅ 核心功能测试通过 --- ### BE-CR005: 减少 `any` 类型使用 **问题描述**: Dashboard 模块中存在 43 处 `any` 类型使用,削弱了 TypeScript 的类型安全。 **验收标准**: - ✅ 减少 `any` 类型使用至 10 处以下 - ✅ 定义明确的接口类型 - ✅ 通过 TypeScript 严格检查 - ✅ 类型覆盖率 > 95% --- ### BE-CR006: 统一 logger 使用 **问题描述**: 86 个文件混合使用 `console.log/warn/error`,与统一的 logger 服务并存。 **验收标准**: - ✅ 所有 console.log 替换为 logger - ✅ 日志格式统一 - ✅ 日志级别正确使用 - ✅ 日志输出可配置 --- ### BE-CR007: 完善输入参数验证 **问题描述**: 部分 API 缺少输入参数校验,建议统一使用 Zod 进行参数验证。 **验收标准**: - ✅ 所有 API 路由添加参数验证 - ✅ 使用 Zod 统一验证 - ✅ 错误提示清晰 - ✅ 通过安全测试 --- ### BE-CR008: 优化数据库查询索引 **问题描述**: 复杂查询需通过 `EXPLAIN` 校验索引,批量操作建议分批处理。 **验收标准**: - ✅ 所有慢查询优化 - ✅ 索引合理配置 - ✅ 查询性能提升 > 50% - ✅ 通过性能测试 --- ### BE-CR009: 补充单元测试覆盖率 **问题描述**: 核心服务缺少单元测试,需要补充测试用例。 **验收标准**: - ✅ 核心服务测试覆盖率 > 80% - ✅ 关键业务逻辑测试完整 - ✅ 所有测试通过 - ✅ CI/CD 集成测试