peixue-dev/Archive/[重要]项目待完善功能清单.md

539 lines
12 KiB
Markdown
Raw Permalink Normal View History

2026-02-28 17:26:03 +08:00
# 习正陪伴项目 - 待完善功能清单
> 创建时间2026-01-27
> 分析范围后端Java代码 + 前端Vue代码
> 优先级P0紧急、P1重要、P2一般、P3优化
---
## 📋 目录
1. [核心业务流程问题](#核心业务流程问题)
2. [功能未实现](#功能未实现)
3. [代码质量问题](#代码质量问题)
4. [第三方集成缺失](#第三方集成缺失)
5. [权限和安全问题](#权限和安全问题)
---
## 🔴 一、核心业务流程问题
### P0 - 工单系统未完整实现
**问题描述:**
- `WorkOrderServiceImpl` 只是一个空实现,没有任何业务逻辑
- 工单创建、更新、状态流转等核心功能缺失
- 前端调用工单接口,但后端没有对应的业务处理
**影响范围:**
- 管理师无法通过工单系统管理订单
- 派单流程依赖工单系统,但工单系统不完整
**代码位置:**
```java
// peidu/backend/src/main/java/com/peidu/service/impl/WorkOrderServiceImpl.java
@Service
public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder>
implements WorkOrderService {
// 空实现,没有任何业务逻辑
}
```
**建议修复:**
1. 实现工单创建逻辑(从订单自动创建工单)
2. 实现工单状态流转(待处理→处理中→已完成)
3. 实现工单分配(分配给管理师)
4. 实现工单补充反馈功能
---
### P0 - 派单后订单状态不一致
**问题描述:**
- 管理师派单后,订单状态应该从 `status=0`(待派单)变为 `status=1`(待接单)
- 但代码中派单逻辑直接更新 `teacherId`,状态流转不清晰
- 前端和后端对订单状态的理解不一致
**影响范围:**
- 陪伴员看不到待接单订单
- 管理师统计数据不准确
- 订单状态混乱
**代码位置:**
```java
// peidu/backend/src/main/java/com/peidu/controller/ManagerController.java
// 派单接口
@PostMapping("/assign")
public Result<Boolean> assignOrder(@RequestBody Map<String, Object> requestParams) {
// ...
updateWrapper.set(Order::getTeacherId, teacherId)
.set(Order::getStatus, 1); // 1-已派单/待接单
// ...
}
```
**建议修复:**
1. 明确订单状态定义和流转规则
2. 派单时同时更新 `teacherId``status`
3. 添加状态流转验证
4. 统一前后端状态定义
---
### P1 - 订单状态定义混乱
**问题描述:**
- 代码中存在多种订单状态定义,不统一
- 前端显示的状态文本与后端状态值不匹配
- 注释中的状态说明与实际代码不一致
**状态定义冲突:**
**方案A支付后派单**
```
0 - 待支付
0 - 待派单(已支付)
1 - 待接单(已派单)
2 - 待服务(已接单)
3 - 服务中
4 - 已完成
```
**方案B派单后支付**
```
0 - 待支付
1 - 待派单
2 - 待服务
3 - 服务中
4 - 已完成
```
**影响范围:**
- 前端显示错误的状态文本
- 统计数据不准确
- 业务逻辑混乱
**建议修复:**
1. 统一订单状态定义建议使用方案A
2. 更新所有相关代码和注释
3. 创建状态常量类,避免硬编码
4. 添加状态流转文档
---
## 🟡 二、功能未实现TODO标记
### P1 - 微信支付未集成
**问题描述:**
- 微信支付接口只有空实现没有实际调用微信API
- 支付回调、退款等功能未实现
**代码位置:**
```java
// peidu/backend/src/main/java/com/peidu/util/WxPayUtil.java
public Map<String, String> unifiedOrder(...) {
// TODO: 调用微信支付统一下单接口
// 这里需要集成微信支付SDK
return new HashMap<>();
}
```
**建议修复:**
1. 集成微信支付SDK
2. 实现统一下单接口
3. 实现支付回调处理
4. 实现退款接口
---
### P1 - 支付宝支付未实现
**问题描述:**
- 支付宝支付接口只有占位代码,未实际实现
**代码位置:**
```java
// peidu/backend/src/main/java/com/peidu/service/impl/PaymentServiceImpl.java
else if ("alipay".equals(paymentMethod)) {
// TODO: 实现支付宝支付
result.put("paymentNo", record.getPaymentNo());
result.put("payUrl", "alipay://...");
}
```
**建议修复:**
1. 集成支付宝SDK
2. 实现支付接口
3. 实现回调处理
---
### P2 - 短信验证码未实现
**问题描述:**
- 手机号绑定、注册等功能需要短信验证码
- 但验证码发送和验证逻辑未实现
**代码位置:**
```java
// peidu/backend/src/main/java/com/peidu/service/impl/UserServiceImpl.java
public boolean bindPhone(Long userId, String phone, String code) {
// TODO: 验证短信验证码(生产环境需要实现)
// 测试环境可以跳过验证
return true;
}
```
**建议修复:**
1. 集成阿里云短信服务
2. 实现验证码发送
3. 实现验证码验证
4. 添加验证码过期机制
---
### P2 - 分销海报生成未实现
**问题描述:**
- 分销员推广需要生成专属海报
- 但海报生成功能未实现
**代码位置:**
```java
// peidu/backend/src/main/java/com/peidu/service/impl/DistributorServiceImpl.java
public Map<String, Object> generatePoster(Long distributorId, Map<String, Object> params) {
// TODO: 实现海报生成逻辑
Map<String, Object> result = new HashMap<>();
result.put("posterUrl", "https://example.com/poster/123456.jpg");
return result;
}
```
**建议修复:**
1. 使用图片处理库Thumbnailator
2. 设计海报模板
3. 生成带二维码的海报
4. 上传到OSS存储
---
### P2 - 成长记录导出未实现
**问题描述:**
- 家长需要导出学生成长记录
- 但Excel导出功能未实现
**代码位置:**
```java
// peidu/backend/src/main/java/com/peidu/service/impl/GrowthRecordServiceImpl.java
public byte[] exportReport(Long teacherId, Long studentId) {
// TODO: 实现Excel导出功能
// 1. 查询符合条件的记录
// 2. 使用POI或EasyExcel生成Excel文件
return new byte[0];
}
```
**建议修复:**
1. 使用EasyExcel库
2. 设计导出模板
3. 实现数据导出
4. 支持PDF导出
---
### P3 - 定时任务未实现
**问题描述:**
- 系统需要定时任务处理过期订单、优惠券等
- 但定时任务执行逻辑未实现
**代码位置:**
```java
// peidu/backend/src/main/java/com/peidu/service/impl/ScheduledTaskServiceImpl.java
public void executeTask(Long taskId) {
// TODO: 实现任务执行逻辑
log.info("执行定时任务: {}", task.getName());
}
```
**建议修复:**
1. 使用Spring @Scheduled注解
2. 实现订单超时取消
3. 实现优惠券过期处理
4. 实现数据统计任务
---
## 🟢 三、代码质量问题
### P1 - 缺少事务管理
**问题描述:**
- 部分涉及多表操作的方法没有添加 `@Transactional` 注解
- 可能导致数据不一致
**影响范围:**
- 支付流程
- 订单完成流程
- 分销佣金结算
**建议修复:**
1. 为关键业务方法添加事务注解
2. 设置合适的事务传播级别
3. 添加异常回滚机制
---
### P2 - 硬编码过多
**问题描述:**
- 代码中存在大量魔法数字和硬编码字符串
- 不利于维护和修改
**示例:**
```java
// 硬编码状态值
if (order.getStatus() == 0) { ... }
// 硬编码比例
BigDecimal teacherRate = new BigDecimal("0.70");
// 硬编码用户ID
order.setUserId(1L);
```
**建议修复:**
1. 创建常量类定义状态值
2. 将配置项移到配置文件
3. 使用枚举类型
4. 避免硬编码用户ID
---
### P2 - 缺少参数验证
**问题描述:**
- 很多Controller方法缺少参数验证
- 可能导致空指针异常
**建议修复:**
1. 使用 `@Valid` 注解验证DTO
2. 添加非空检查
3. 添加参数范围检查
4. 统一异常处理
---
### P3 - 日志不规范
**问题描述:**
- 部分代码使用 `System.out.println` 而不是日志框架
- 日志级别使用不当
**建议修复:**
1. 统一使用 `@Slf4j` 日志
2. 规范日志级别debug/info/warn/error
3. 添加关键业务日志
4. 移除调试用的 `System.out`
---
## 🔵 四、第三方集成缺失
### P1 - OSS文件存储未配置
**问题描述:**
- 图片、视频上传需要OSS存储
- 但OSS配置和上传逻辑可能不完整
**建议修复:**
1. 配置阿里云OSS
2. 实现文件上传接口
3. 实现文件删除接口
4. 添加文件大小和类型限制
---
### P2 - 微信模板消息未实现
**问题描述:**
- 通知系统需要发送微信模板消息
- 但微信API调用未实现
**代码位置:**
```java
// peidu/backend/src/main/java/com/peidu/service/impl/NotificationConfigServiceImpl.java
public boolean syncWechatTemplates() {
// TODO: 实现微信模板同步逻辑
return true;
}
```
**建议修复:**
1. 集成微信公众号SDK
2. 配置模板消息
3. 实现消息发送
4. 处理发送失败重试
---
### P3 - 地图服务未集成
**问题描述:**
- 签到签退需要GPS定位
- 但地图服务(腾讯地图/高德地图)未完全集成
**建议修复:**
1. 集成地图SDK
2. 实现地址解析
3. 实现距离计算
4. 实现地图展示
---
## 🟣 五、权限和安全问题
### P0 - 缺少权限验证
**问题描述:**
- 很多接口缺少权限验证
- 用户可能访问不属于自己的数据
**示例:**
```java
// 缺少权限验证
public GrowthRecord getDetail(Long id) {
// TODO: 添加家长权限验证
return growthRecordService.getById(id);
}
```
**建议修复:**
1. 添加用户身份验证
2. 添加数据权限验证
3. 实现角色权限控制
4. 添加操作日志
---
### P1 - Token验证不完整
**问题描述:**
- 部分接口使用临时用户ID`userId = 1L`
- Token验证和用户信息获取不完整
**建议修复:**
1. 完善JWT Token验证
2. 从Token中获取用户信息
3. 添加Token过期处理
4. 实现Token刷新机制
---
### P2 - 敏感信息未加密
**问题描述:**
- 用户手机号、身份证等敏感信息未加密存储
- 可能存在信息泄露风险
**建议修复:**
1. 敏感字段加密存储
2. 日志中脱敏处理
3. 接口返回数据脱敏
4. 添加数据访问审计
---
## 📊 六、统计汇总
### 问题分布
| 优先级 | 数量 | 占比 |
|--------|------|------|
| P0紧急 | 4 | 16% |
| P1重要 | 8 | 32% |
| P2一般 | 9 | 36% |
| P3优化 | 4 | 16% |
| **总计** | **25** | **100%** |
### 问题分类
| 类别 | 数量 |
|------|------|
| 核心业务流程 | 4 |
| 功能未实现 | 7 |
| 代码质量 | 4 |
| 第三方集成 | 3 |
| 权限安全 | 3 |
| 其他 | 4 |
---
## 🎯 七、修复建议优先级
### 第一阶段1-2周- 核心功能
1.**修复工单系统**P0
- 实现工单创建、更新、状态流转
- 完善派单流程
2.**统一订单状态定义**P0
- 明确状态流转规则
- 更新所有相关代码
3.**完善权限验证**P0
- 添加用户身份验证
- 添加数据权限验证
4.**集成微信支付**P1
- 实现支付接口
- 实现回调处理
### 第二阶段2-3周- 支撑功能
5.**实现短信验证码**P2
6.**完善事务管理**P1
7.**实现文件上传**P1
8.**集成微信模板消息**P2
### 第三阶段3-4周- 优化完善
9.**代码重构**P2-P3
- 消除硬编码
- 规范日志
- 优化代码结构
10.**实现其他功能**P2-P3
- 海报生成
- 数据导出
- 定时任务
---
## 📝 八、备注
1. **优先级说明**
- P0影响核心业务必须立即修复
- P1影响重要功能需要尽快修复
- P2影响一般功能可以计划修复
- P3优化项可以后续迭代
2. **修复原则**
- 先修复核心业务流程
- 再完善支撑功能
- 最后进行代码优化
3. **测试要求**
- 每个修复都要编写测试用例
- 回归测试确保不影响现有功能
- 性能测试确保系统稳定
---
**文档结束**
> 本文档列出了项目中所有待完善的功能和问题,建议按优先级逐步修复。
> 每完成一项修复,请在对应项目前打勾标记。