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

539 lines
12 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 习正陪伴项目 - 待完善功能清单
> 创建时间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. **测试要求**
- 每个修复都要编写测试用例
- 回归测试确保不影响现有功能
- 性能测试确保系统稳定
---
**文档结束**
> 本文档列出了项目中所有待完善的功能和问题,建议按优先级逐步修复。
> 每完成一项修复,请在对应项目前打勾标记。