374 lines
9.3 KiB
Markdown
374 lines
9.3 KiB
Markdown
|
|
# 项目完善、优化、补充计划
|
|||
|
|
|
|||
|
|
## 📋 目录
|
|||
|
|
1. [功能完善](#功能完善)
|
|||
|
|
2. [性能优化](#性能优化)
|
|||
|
|
3. [安全性增强](#安全性增强)
|
|||
|
|
4. [代码质量](#代码质量)
|
|||
|
|
5. [数据完整性](#数据完整性)
|
|||
|
|
6. [监控和日志](#监控和日志)
|
|||
|
|
7. [部署和运维](#部署和运维)
|
|||
|
|
8. [用户体验](#用户体验)
|
|||
|
|
9. [文档完善](#文档完善)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 1. 功能完善
|
|||
|
|
|
|||
|
|
### 1.1 商品管理功能
|
|||
|
|
- [ ] **商品编辑功能** ⚠️ 高优先级
|
|||
|
|
- 当前状态:`ProductManage.vue` 中有 TODO 标记,点击编辑只显示提示
|
|||
|
|
- 需要实现:
|
|||
|
|
- 后端:`PUT /api/product/{id}` 更新商品接口
|
|||
|
|
- 后端:`ProductService.updateProduct()` 方法
|
|||
|
|
- 前端:`/manage/product/edit/:id` 编辑页面
|
|||
|
|
- 支持修改商品名称、价格、主图、SKU信息等
|
|||
|
|
|
|||
|
|
- [ ] **商品上架功能**
|
|||
|
|
- 当前状态:只有下架功能,没有上架功能
|
|||
|
|
- 需要实现:
|
|||
|
|
- 后端:`PUT /api/product/{id}/on-shelf` 上架接口
|
|||
|
|
- 上架时恢复SKU库存(需要记录下架前的库存)
|
|||
|
|
|
|||
|
|
- [ ] **商品批量操作**
|
|||
|
|
- 批量上架/下架
|
|||
|
|
- 批量删除(软删除)
|
|||
|
|
|
|||
|
|
### 1.2 订单管理功能
|
|||
|
|
- [ ] **订单列表查询** ⚠️ 高优先级
|
|||
|
|
- 当前状态:只有单个订单查询(`OrderQuery.vue`),没有列表
|
|||
|
|
- 需要实现:
|
|||
|
|
- 后端:`GET /api/order/list` 订单列表接口(支持分页、筛选)
|
|||
|
|
- 前端:订单管理页面,支持按状态、时间、订单号等查询
|
|||
|
|
- 支持订单状态筛选(待支付、已支付、已发货、已完成、已取消)
|
|||
|
|
|
|||
|
|
- [ ] **订单状态管理**
|
|||
|
|
- 订单发货功能(更新状态为 SHIPPED)
|
|||
|
|
- 订单完成功能(更新状态为 COMPLETED)
|
|||
|
|
- 订单取消功能(更新状态为 CANCELLED,恢复库存)
|
|||
|
|
|
|||
|
|
- [ ] **订单详情查看**
|
|||
|
|
- 在订单列表中点击查看详情
|
|||
|
|
- 显示完整的订单信息、支付信息、收货地址等
|
|||
|
|
|
|||
|
|
### 1.3 库存管理
|
|||
|
|
- [ ] **库存扣减** ⚠️ 高优先级
|
|||
|
|
- 当前状态:创建订单时只验证库存,没有扣减
|
|||
|
|
- 需要实现:
|
|||
|
|
- 创建订单时扣减库存(使用数据库锁防止超卖)
|
|||
|
|
- 支付成功时确认扣减(如果创建时是预扣,支付时确认)
|
|||
|
|
- 订单取消时恢复库存
|
|||
|
|
|
|||
|
|
- [ ] **库存预警**
|
|||
|
|
- 库存低于阈值时提醒
|
|||
|
|
- 库存为0时自动下架商品(可选)
|
|||
|
|
|
|||
|
|
- [ ] **库存历史记录**
|
|||
|
|
- 记录库存变动历史(入库、出库、调整等)
|
|||
|
|
|
|||
|
|
### 1.4 数据统计
|
|||
|
|
- [ ] **销售统计**
|
|||
|
|
- 按时间段统计销售额
|
|||
|
|
- 按商品统计销量
|
|||
|
|
- 按地区统计销售情况
|
|||
|
|
|
|||
|
|
- [ ] **订单统计**
|
|||
|
|
- 订单数量统计
|
|||
|
|
- 订单状态分布
|
|||
|
|
- 支付成功率统计
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2. 性能优化
|
|||
|
|
|
|||
|
|
### 2.1 缓存机制
|
|||
|
|
- [ ] **引入Redis缓存** ⚠️ 中优先级
|
|||
|
|
- 当前状态:PayPal token和汇率使用内存缓存(单机可用,集群有问题)
|
|||
|
|
- 需要实现:
|
|||
|
|
- 集成Redis
|
|||
|
|
- PayPal token缓存到Redis
|
|||
|
|
- 汇率缓存到Redis
|
|||
|
|
- 商品详情缓存(热点商品)
|
|||
|
|
- 商品列表缓存(带过期时间)
|
|||
|
|
|
|||
|
|
- [ ] **数据库查询优化**
|
|||
|
|
- 检查慢查询日志
|
|||
|
|
- 优化复杂查询
|
|||
|
|
- 添加必要的数据库索引
|
|||
|
|
|
|||
|
|
### 2.2 前端优化
|
|||
|
|
- [ ] **移除console.log** ⚠️ 低优先级
|
|||
|
|
- 当前状态:前端代码中有多处 `console.log`、`console.error`
|
|||
|
|
- 需要实现:
|
|||
|
|
- 使用日志库(如 `winston` 或自定义日志工具)
|
|||
|
|
- 生产环境禁用console输出
|
|||
|
|
- 统一错误处理
|
|||
|
|
|
|||
|
|
- [ ] **代码分割和懒加载**
|
|||
|
|
- 路由懒加载(已部分实现)
|
|||
|
|
- 组件懒加载
|
|||
|
|
- 减少首屏加载时间
|
|||
|
|
|
|||
|
|
- [ ] **图片优化**
|
|||
|
|
- 图片懒加载
|
|||
|
|
- 图片压缩
|
|||
|
|
- CDN加速
|
|||
|
|
|
|||
|
|
### 2.3 数据库优化
|
|||
|
|
- [ ] **连接池优化**
|
|||
|
|
- 检查当前连接池配置是否合理
|
|||
|
|
- 根据实际负载调整参数
|
|||
|
|
|
|||
|
|
- [ ] **批量操作优化**
|
|||
|
|
- 商品创建已优化(批量插入SKU)
|
|||
|
|
- 其他批量操作也需要优化
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3. 安全性增强
|
|||
|
|
|
|||
|
|
### 3.1 密码安全
|
|||
|
|
- [ ] **密码加密升级** ⚠️ 高优先级
|
|||
|
|
- 当前状态:使用MD5加密(不安全)
|
|||
|
|
- 需要实现:
|
|||
|
|
- 使用BCrypt或Argon2加密
|
|||
|
|
- 密码强度验证
|
|||
|
|
- 密码历史记录(防止重复使用)
|
|||
|
|
|
|||
|
|
- [ ] **Token安全**
|
|||
|
|
- 当前状态:使用MD5+Base64(注释说生产环境建议使用JWT)
|
|||
|
|
- 需要实现:
|
|||
|
|
- 集成JWT(JSON Web Token)
|
|||
|
|
- Token刷新机制
|
|||
|
|
- Token黑名单(登出时)
|
|||
|
|
|
|||
|
|
### 3.2 权限控制
|
|||
|
|
- [ ] **角色权限系统** ⚠️ 中优先级
|
|||
|
|
- 当前状态:只有登录验证,没有角色权限
|
|||
|
|
- 需要实现:
|
|||
|
|
- 角色管理(管理员、普通用户等)
|
|||
|
|
- 权限管理(商品管理、订单管理、用户管理等)
|
|||
|
|
- 接口权限控制(`@PreAuthorize` 或自定义拦截器)
|
|||
|
|
|
|||
|
|
- [ ] **API访问控制**
|
|||
|
|
- 接口访问频率限制(防止暴力攻击)
|
|||
|
|
- IP白名单(可选,用于管理接口)
|
|||
|
|
|
|||
|
|
### 3.3 数据安全
|
|||
|
|
- [ ] **敏感数据加密**
|
|||
|
|
- 客户手机号、邮箱加密存储
|
|||
|
|
- 支付信息加密
|
|||
|
|
|
|||
|
|
- [ ] **SQL注入防护**
|
|||
|
|
- 检查是否所有查询都使用参数化查询(MyBatis-Plus已提供)
|
|||
|
|
|
|||
|
|
- [ ] **XSS防护**
|
|||
|
|
- 前端输入验证和转义
|
|||
|
|
- 后端输出转义
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 4. 代码质量
|
|||
|
|
|
|||
|
|
### 4.1 测试覆盖
|
|||
|
|
- [ ] **单元测试** ⚠️ 中优先级
|
|||
|
|
- 当前状态:没有单元测试
|
|||
|
|
- 需要实现:
|
|||
|
|
- Service层单元测试
|
|||
|
|
- Controller层单元测试
|
|||
|
|
- 工具类单元测试
|
|||
|
|
- 测试覆盖率目标:>70%
|
|||
|
|
|
|||
|
|
- [ ] **集成测试**
|
|||
|
|
- API接口测试
|
|||
|
|
- 数据库操作测试
|
|||
|
|
|
|||
|
|
- [ ] **前端测试**
|
|||
|
|
- 组件测试
|
|||
|
|
- E2E测试
|
|||
|
|
|
|||
|
|
### 4.2 代码规范
|
|||
|
|
- [ ] **代码审查**
|
|||
|
|
- 统一代码风格
|
|||
|
|
- 移除TODO标记(实现或记录到任务列表)
|
|||
|
|
- 代码注释完善
|
|||
|
|
|
|||
|
|
- [ ] **静态代码分析**
|
|||
|
|
- 集成SonarQube或类似工具
|
|||
|
|
- 修复代码质量问题
|
|||
|
|
|
|||
|
|
### 4.3 API文档
|
|||
|
|
- [ ] **Swagger/OpenAPI文档** ⚠️ 中优先级
|
|||
|
|
- 当前状态:只有部分API有Markdown文档
|
|||
|
|
- 需要实现:
|
|||
|
|
- 集成Swagger UI
|
|||
|
|
- 自动生成API文档
|
|||
|
|
- 接口参数和响应说明
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 5. 数据完整性
|
|||
|
|
|
|||
|
|
### 5.1 库存管理
|
|||
|
|
- [ ] **库存扣减逻辑** ⚠️ 高优先级
|
|||
|
|
- 创建订单时扣减库存
|
|||
|
|
- 支付成功时确认库存
|
|||
|
|
- 订单取消时恢复库存
|
|||
|
|
- 使用数据库锁(SELECT FOR UPDATE)防止超卖
|
|||
|
|
|
|||
|
|
- [ ] **库存一致性检查**
|
|||
|
|
- 定期检查库存数据一致性
|
|||
|
|
- 库存异常告警
|
|||
|
|
|
|||
|
|
### 5.2 订单状态流转
|
|||
|
|
- [ ] **订单状态机** ⚠️ 中优先级
|
|||
|
|
- 定义订单状态流转规则
|
|||
|
|
- 防止非法状态转换
|
|||
|
|
- 状态变更日志
|
|||
|
|
|
|||
|
|
### 5.3 数据备份
|
|||
|
|
- [ ] **数据库备份策略**
|
|||
|
|
- 定期自动备份
|
|||
|
|
- 备份恢复测试
|
|||
|
|
- 备份文件管理
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 6. 监控和日志
|
|||
|
|
|
|||
|
|
### 6.1 操作日志
|
|||
|
|
- [ ] **操作审计日志** ⚠️ 中优先级
|
|||
|
|
- 记录用户操作(商品创建、编辑、下架等)
|
|||
|
|
- 记录订单状态变更
|
|||
|
|
- 记录支付操作
|
|||
|
|
|
|||
|
|
- [ ] **日志查询功能**
|
|||
|
|
- 前端日志查询页面
|
|||
|
|
- 按时间、用户、操作类型筛选
|
|||
|
|
|
|||
|
|
### 6.2 性能监控
|
|||
|
|
- [ ] **性能指标监控**
|
|||
|
|
- API响应时间监控
|
|||
|
|
- 数据库查询性能监控
|
|||
|
|
- 系统资源监控(CPU、内存、磁盘)
|
|||
|
|
|
|||
|
|
- [ ] **告警机制**
|
|||
|
|
- 异常告警(错误率、响应时间)
|
|||
|
|
- 系统资源告警
|
|||
|
|
|
|||
|
|
### 6.3 错误追踪
|
|||
|
|
- [ ] **错误日志聚合**
|
|||
|
|
- 集成错误追踪服务(如Sentry)
|
|||
|
|
- 错误分类和统计
|
|||
|
|
- 错误通知
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 7. 部署和运维
|
|||
|
|
|
|||
|
|
### 7.1 数据库迁移
|
|||
|
|
- [ ] **数据库版本管理** ⚠️ 中优先级
|
|||
|
|
- 当前状态:只有SQL脚本,没有版本管理
|
|||
|
|
- 需要实现:
|
|||
|
|
- 集成Flyway或Liquibase
|
|||
|
|
- 数据库版本控制
|
|||
|
|
- 自动迁移脚本
|
|||
|
|
|
|||
|
|
### 7.2 配置管理
|
|||
|
|
- [ ] **环境配置优化**
|
|||
|
|
- 敏感信息加密(密码、密钥等)
|
|||
|
|
- 配置中心(可选)
|
|||
|
|
- 环境变量管理
|
|||
|
|
|
|||
|
|
### 7.3 部署文档
|
|||
|
|
- [ ] **部署指南**
|
|||
|
|
- 生产环境部署步骤
|
|||
|
|
- 环境要求说明
|
|||
|
|
- 故障排查指南
|
|||
|
|
|
|||
|
|
### 7.4 容器化
|
|||
|
|
- [ ] **Docker支持** ⚠️ 低优先级
|
|||
|
|
- Dockerfile编写
|
|||
|
|
- Docker Compose配置
|
|||
|
|
- 容器化部署文档
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 8. 用户体验
|
|||
|
|
|
|||
|
|
### 8.1 前端优化
|
|||
|
|
- [ ] **加载状态优化**
|
|||
|
|
- 骨架屏(Skeleton)
|
|||
|
|
- 加载动画优化
|
|||
|
|
|
|||
|
|
- [ ] **错误提示优化**
|
|||
|
|
- 友好的错误提示
|
|||
|
|
- 错误恢复建议
|
|||
|
|
|
|||
|
|
- [ ] **移动端优化**
|
|||
|
|
- 响应式设计检查
|
|||
|
|
- 移动端交互优化
|
|||
|
|
|
|||
|
|
### 8.2 功能完善
|
|||
|
|
- [ ] **订单导出**
|
|||
|
|
- 订单列表导出Excel
|
|||
|
|
- 支持筛选条件导出
|
|||
|
|
|
|||
|
|
- [ ] **数据统计可视化**
|
|||
|
|
- 销售图表
|
|||
|
|
- 订单趋势图
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 9. 文档完善
|
|||
|
|
|
|||
|
|
### 9.1 技术文档
|
|||
|
|
- [ ] **API文档**
|
|||
|
|
- 完整的API文档(Swagger)
|
|||
|
|
- 接口调用示例
|
|||
|
|
|
|||
|
|
- [ ] **数据库设计文档**
|
|||
|
|
- ER图
|
|||
|
|
- 表结构说明
|
|||
|
|
- 索引说明
|
|||
|
|
|
|||
|
|
### 9.2 用户文档
|
|||
|
|
- [ ] **用户手册**
|
|||
|
|
- 商品管理操作指南
|
|||
|
|
- 订单管理操作指南
|
|||
|
|
- 常见问题解答
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 优先级说明
|
|||
|
|
|
|||
|
|
- ⚠️ **高优先级**:影响核心功能或安全性,需要尽快实现
|
|||
|
|
- ⚠️ **中优先级**:提升系统质量和可维护性,建议实现
|
|||
|
|
- ⚠️ **低优先级**:优化和增强功能,可选择性实现
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 实施建议
|
|||
|
|
|
|||
|
|
1. **第一阶段(核心功能)**:
|
|||
|
|
- 商品编辑功能
|
|||
|
|
- 订单列表查询
|
|||
|
|
- 库存扣减逻辑
|
|||
|
|
- 密码加密升级
|
|||
|
|
|
|||
|
|
2. **第二阶段(安全性)**:
|
|||
|
|
- JWT Token
|
|||
|
|
- 角色权限系统
|
|||
|
|
- API访问控制
|
|||
|
|
|
|||
|
|
3. **第三阶段(优化)**:
|
|||
|
|
- Redis缓存
|
|||
|
|
- 性能监控
|
|||
|
|
- 单元测试
|
|||
|
|
|
|||
|
|
4. **第四阶段(完善)**:
|
|||
|
|
- 操作日志
|
|||
|
|
- 数据统计
|
|||
|
|
- 文档完善
|
|||
|
|
|