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

12 KiB
Raw Blame History

习正陪伴项目 - 待完善功能清单

创建时间2026-01-27
分析范围后端Java代码 + 前端Vue代码
优先级P0紧急、P1重要、P2一般、P3优化


📋 目录

  1. 核心业务流程问题
  2. 功能未实现
  3. 代码质量问题
  4. 第三方集成缺失
  5. 权限和安全问题

🔴 一、核心业务流程问题

P0 - 工单系统未完整实现

问题描述:

  • WorkOrderServiceImpl 只是一个空实现,没有任何业务逻辑
  • 工单创建、更新、状态流转等核心功能缺失
  • 前端调用工单接口,但后端没有对应的业务处理

影响范围:

  • 管理师无法通过工单系统管理订单
  • 派单流程依赖工单系统,但工单系统不完整

代码位置:

// 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,状态流转不清晰
  • 前端和后端对订单状态的理解不一致

影响范围:

  • 陪伴员看不到待接单订单
  • 管理师统计数据不准确
  • 订单状态混乱

代码位置:

// 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. 派单时同时更新 teacherIdstatus
  3. 添加状态流转验证
  4. 统一前后端状态定义

P1 - 订单状态定义混乱

问题描述:

  • 代码中存在多种订单状态定义,不统一
  • 前端显示的状态文本与后端状态值不匹配
  • 注释中的状态说明与实际代码不一致

状态定义冲突:

方案A支付后派单

0 - 待支付
0 - 待派单(已支付)
1 - 待接单(已派单)
2 - 待服务(已接单)
3 - 服务中
4 - 已完成

方案B派单后支付

0 - 待支付
1 - 待派单
2 - 待服务
3 - 服务中
4 - 已完成

影响范围:

  • 前端显示错误的状态文本
  • 统计数据不准确
  • 业务逻辑混乱

建议修复:

  1. 统一订单状态定义建议使用方案A
  2. 更新所有相关代码和注释
  3. 创建状态常量类,避免硬编码
  4. 添加状态流转文档

🟡 二、功能未实现TODO标记

P1 - 微信支付未集成

问题描述:

  • 微信支付接口只有空实现没有实际调用微信API
  • 支付回调、退款等功能未实现

代码位置:

// 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 - 支付宝支付未实现

问题描述:

  • 支付宝支付接口只有占位代码,未实际实现

代码位置:

// 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 - 短信验证码未实现

问题描述:

  • 手机号绑定、注册等功能需要短信验证码
  • 但验证码发送和验证逻辑未实现

代码位置:

// 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 - 分销海报生成未实现

问题描述:

  • 分销员推广需要生成专属海报
  • 但海报生成功能未实现

代码位置:

// 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导出功能未实现

代码位置:

// 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 - 定时任务未实现

问题描述:

  • 系统需要定时任务处理过期订单、优惠券等
  • 但定时任务执行逻辑未实现

代码位置:

// 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 - 硬编码过多

问题描述:

  • 代码中存在大量魔法数字和硬编码字符串
  • 不利于维护和修改

示例:

// 硬编码状态值
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调用未实现

代码位置:

// 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 - 缺少权限验证

问题描述:

  • 很多接口缺少权限验证
  • 用户可能访问不属于自己的数据

示例:

// 缺少权限验证
public GrowthRecord getDetail(Long id) {
    // TODO: 添加家长权限验证
    return growthRecordService.getById(id);
}

建议修复:

  1. 添加用户身份验证
  2. 添加数据权限验证
  3. 实现角色权限控制
  4. 添加操作日志

P1 - Token验证不完整

问题描述:

  • 部分接口使用临时用户IDuserId = 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周- 支撑功能

  1. 实现短信验证码P2
  2. 完善事务管理P1
  3. 实现文件上传P1
  4. 集成微信模板消息P2

第三阶段3-4周- 优化完善

  1. 代码重构P2-P3

    • 消除硬编码
    • 规范日志
    • 优化代码结构
  2. 实现其他功能P2-P3

    • 海报生成
    • 数据导出
    • 定时任务

📝 八、备注

  1. 优先级说明

    • P0影响核心业务必须立即修复
    • P1影响重要功能需要尽快修复
    • P2影响一般功能可以计划修复
    • P3优化项可以后续迭代
  2. 修复原则

    • 先修复核心业务流程
    • 再完善支撑功能
    • 最后进行代码优化
  3. 测试要求

    • 每个修复都要编写测试用例
    • 回归测试确保不影响现有功能
    • 性能测试确保系统稳定

文档结束

本文档列出了项目中所有待完善的功能和问题,建议按优先级逐步修复。
每完成一项修复,请在对应项目前打勾标记。