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