peixue-dev/Archive/peidu-temp-files/docs/✅✅✅P0问题修复完成-管理师工单详情-2026-01-24.md

4.1 KiB

P0问题修复完成 - 管理师工单详情缺少家长学生信息

修复日期: 2026-01-24
问题级别: P0 - 影响核心业务
修复状态: 已完成


📋 问题描述

管理师查看工单详情时,页面显示了家长姓名、家长电话、学生姓名等字段,但后端接口未返回这些数据,导致管理师无法看到完整的订单信息。

影响范围:

  • 管理师端工单详情页面
  • 管理师派单决策
  • 客户服务质量

🔍 问题分析

前端页面需要的字段

manager-package/pages/manager/work-order-detail.vue 显示:

  • parentName - 家长姓名
  • parentPhone - 家长电话
  • studentName - 学生姓名
  • studentAge - 学生年龄
  • studentGrade - 学生年级

后端接口缺失

OrderDetailVO 原本只包含:

  • userId, userName, userPhone - 用户信息
  • studentId, studentName - 学生基本信息
  • 缺少: parentName, parentPhone

🔧 修复方案

1. 补充 OrderDetailVO 字段

文件: backend/src/main/java/com/peidu/vo/OrderDetailVO.java

// 🔥 家长信息(新增 2026-01-24)
private String parentName;
private String parentPhone;

2. 修改查询逻辑

文件: backend/src/main/java/com/peidu/service/impl/OrderServiceImpl.java

getOrderDetailFull 方法中,获取用户信息时同时设置家长信息:

// 4. 获取用户信息
if (order.getUserId() != null) {
    try {
        com.peidu.entity.User user = userService.getById(order.getUserId());
        if (user != null) {
            vo.setUserId(user.getId());
            vo.setUserName(user.getRealName() != null ? user.getRealName() : user.getNickname());
            vo.setUserPhone(user.getPhone());
            
            // 🔥 新增:设置家长信息(用户就是家长)
            vo.setParentName(user.getRealName() != null ? user.getRealName() : user.getNickname());
            vo.setParentPhone(user.getPhone());
        }
    } catch (Exception e) {
        System.err.println("获取用户信息失败: " + e.getMessage());
    }
}

📊 数据流说明

订单表(order)
  ├─ user_id → user表 → 家长信息
  │   ├─ real_name → parentName
  │   └─ phone → parentPhone
  │
  ├─ student_id → student表 → 学生信息
  │   ├─ name → studentName
  │   ├─ grade → studentGrade
  │   └─ age → studentAge
  │
  └─ teacher_id → teacher表 → 陪伴员信息
      ├─ teacher_name → teacherName
      └─ phone → teacherPhone

🧪 测试验证

1. 执行检查SQL

cd peidu/sql
执行检查工单详情.bat

2. 测试接口

GET /api/order/{id}

预期返回:

{
  "code": 200,
  "data": {
    "id": 1,
    "orderNo": "ORD20260124001",
    "parentName": "张三",
    "parentPhone": "13800138000",
    "studentName": "张小明",
    "studentGrade": "三年级",
    "teacherName": "李老师",
    "serviceName": "数学辅导",
    ...
  }
}

3. 前端测试

  1. 登录管理师端
  2. 进入工单管理
  3. 点击任意工单查看详情
  4. 验证显示:
    • 家长姓名
    • 家长电话
    • 学生姓名
    • 学生年级

📁 修改文件清单

  1. backend/src/main/java/com/peidu/vo/OrderDetailVO.java - 补充字段
  2. backend/src/main/java/com/peidu/service/impl/OrderServiceImpl.java - 修改查询逻辑
  3. sql/🔍检查工单详情数据-2026-01-24.sql - 验证SQL
  4. sql/执行检查工单详情.bat - 执行脚本

修复完成

修复内容:

  • OrderDetailVO 补充 parentName、parentPhone 字段
  • getOrderDetailFull 方法关联查询家长信息
  • 后端编译成功
  • 创建验证SQL脚本

下一步:

  • 重启后端服务
  • 执行验证SQL检查数据
  • 前端测试工单详情页面

🎯 业务价值

修复后,管理师可以:

  1. 查看完整的工单信息(家长+学生+陪伴员)
  2. 快速联系家长沟通订单问题
  3. 根据学生信息做出更好的派单决策
  4. 提升客户服务质量和效率