peixue-dev/Archive/[一次性]审核状态功能修复完成-2026-01-28.md

4.1 KiB
Raw Permalink Blame History

审核状态功能修复完成

问题描述

小程序显示"未知状态"和"未找到申请信息",无法查看审核状态。

根本原因

  1. 前端问题: 审核状态页面从本地存储读取数据,而不是从后端API获取
  2. 后端问题: 缺少获取申请状态的API接口
  3. 数据库问题: user 表的 audit_status 字段已存在,但User实体类中没有对应字段

已完成的修复

1. 数据库修改

文件: Archive/[一次性]添加user表audit_status字段-2026-01-28.sql

  • 确认 audit_status 字段已存在
  • 更新现有用户的审核状态为"已通过"
  • 使用正确的字段名 user_type 而不是 role
UPDATE `user` 
SET `audit_status` = 1 
WHERE `status` = 1 AND `user_type` IN ('teacher', 'manager');

2. User实体类修改

文件: peidu/backend/src/main/java/com/peidu/entity/User.java

添加了 auditStatus 字段:

@TableField("audit_status")
private Integer auditStatus; // 审核状态0=待审核, 1=已通过, 2=未通过

3. 后端接口添加

文件: peidu/backend/src/main/java/com/peidu/controller/TeacherController.java

添加了获取陪伴员申请状态的接口:

@ApiOperation("获取陪伴员申请状态")
@GetMapping("/application/status")
public Result<Map<String, Object>> getApplicationStatus(HttpServletRequest request)

返回数据:

{
  "code": 200,
  "data": {
    "auditStatus": 1,
    "status": 1,
    "phone": "13800138000",
    "createTime": "2026-01-28 10:00:00",
    "updateTime": "2026-01-28 10:00:00",
    "applyTime": "2026-01-28 10:00:00",
    "approveTime": "2026-01-28 10:00:00"
  }
}

4. 前端修改

文件: peidu/uniapp/src/common-package/pages/auth/application-status.vue

修改了 loadApplication() 方法:

  • 旧方法: 从本地存储读取 uni.getStorageSync()
  • 新方法: 从后端API获取 this.$http.get(apiUrl)

添加了状态映射方法:

mapStatus(auditStatus) {
  // 后端: 0=待审核, 1=已通过, 2=未通过
  // 前端: pending, approved, rejected
  const statusMap = {
    0: 'pending',
    1: 'approved',
    2: 'rejected'
  }
  return statusMap[auditStatus] || 'pending'
}

📋 审核状态说明

数据库状态值

  • 0 = 待审核
  • 1 = 已通过
  • 2 = 未通过

前端显示

  • pending = 审核中 (黄色,图标)
  • approved = 审核通过 (绿色,图标)
  • rejected = 审核未通过 (红色,图标)

🔄 完整流程

1. 用户注册陪伴员
   ↓
   POST /api/auth/register
   参数: { userType: "teacher" }
   ↓
2. 保存到user表
   user_type = "teacher"
   audit_status = 0 (待审核)
   ↓
3. 小程序查看审核状态
   GET /api/teacher/application/status
   ↓
4. 返回审核状态
   { auditStatus: 0, status: 0, ... }
   ↓
5. 前端显示
   "审核中" + 进度条

🚀 测试步骤

1. 重启后端

cd peidu/backend
# 停止当前服务
# 重新启动
mvn spring-boot:run

2. 重新编译前端

前端会自动检测文件变化并重新编译

3. 测试审核状态页面

  1. 在小程序中注册陪伴员
  2. 提交申请后,点击"查看审核状态"
  3. 应该能看到:
    • 状态图标和标题
    • 申请信息(角色、时间、电话)
    • 进度条(如果是待审核状态)

⚠️ 注意事项

  1. 后端必须重启: 修改了实体类和Controller,必须重启后端
  2. 前端自动编译: 保存文件后会自动重新编译
  3. 数据库已更新: audit_status 字段已存在,现有用户已设置为"已通过"
  4. 字段名称: 数据库使用 user_type 而不是 role

📝 待完成的工作

其他角色的接口

还需要为以下角色添加类似的接口:

  • 管理师: /api/manager/application/status
  • 分销员: /api/distributor/application/status
  • 服务商: /api/provider/application/status

实现方式与陪伴员接口类似,只需要:

  1. 在对应的Controller中添加接口
  2. 查询对应的表(user表或专门的申请表)
  3. 返回审核状态数据

创建时间

2026-01-28

创建人员

Kiro AI Assistant