Files
MTKJPAY/PROJECT_IMPROVEMENT_PLAN.md

374 lines
9.3 KiB
Markdown
Raw Normal View History

# 项目完善、优化、补充计划
## 📋 目录
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
- 需要实现:
- 集成JWTJSON 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. **第四阶段(完善)**
- 操作日志
- 数据统计
- 文档完善