Files
hzdyjs/【立即执行】重启服务并测试.md
T
2025-10-14 16:41:19 +08:00

4.3 KiB
Raw Blame History

【立即执行】重启服务并测试

✅ 已完成的修复

项目 状态 说明
后端VO字段 ✅ 补充OSS ID等6个字段
Mapper XML ✅ 补充SQL查询OSS ID字段(关键修复)
后端编译 ✅ BUILD SUCCESS
前端接口 ✅ 补充TypeScript字段
下载功能 ✅ 使用request工具
调试日志 ✅ 输出字段详细信息

🔴 本次关键修复

问题根源:

  • Mapper XML的SQL查询中缺少 stamped_file_oss_id 和 party_retention_file_oss_id 字段
  • 导致API返回的OSS ID始终为null
  • 下载功能提示"文件OSS ID不存在,无法下载"

修复内容:

  • 已在 RsOverseasApplicationMapper.xml 中补充OSS ID字段查询
  • 后端已成功编译

🚀 立即执行(3步)

Step 1: 重启后端服务 ⏳

IDEA重启(推荐):

  1. 停止当前运行的 RuoYi-Admin 服务(点击红色停止按钮)
  2. 重新点击绿色运行按钮

或命令行重启:

# 1. 查找进程
ps aux | grep ruoyi-admin

# 2. 停止进程(替换<PID>为实际进程ID)
kill -9 <PID>

# 3. 重新启动
cd backend/ruoyi-admin
mvn spring-boot:run

Step 2: 刷新浏览器 ⏳

硬刷新(清除缓存):

  • Windows: 按 Ctrl + Shift + R
  • Mac: 按 Cmd + Shift + R

Step 3: 测试功能 ⏳

3.1 打开开发者工具

按 F12 → 点击 Console 标签

3.2 查看详情

  1. 在出国申请列表中找到有附件的申请
  2. 点击"查看详情"按钮

3.3 检查控制台日志

期望看到:

📄 [查看详情] 开始查看申请详情,申请ID: 1234567890
✅ [查看详情] 申请详情获取成功

🔍 [党籍附件] 检查党籍保留附件字段:
  - partyRetentionFileOssId: 1933084077469929474  ← ✅ 有数字,不是null!

🔍 [盖章文件] 检查盖章文件字段:
  - stampedFileOssId: 1933084077469929470         ← ✅ 有数字,不是null!

关键检查点:

  • ✅ stampedFileOssId 应该显示数字(如:1933084077469929470)
  • ❌ 不应该是 undefined 或 null

3.4 测试下载功能

  1. 点击"下载"按钮

    • 应该成功下载文件
    • ❌ 不再提示"文件OSS ID不存在"
  2. 验证文件

    • 下载的文件可以正常打开

✅ 成功标准

必须满足

  1. ✅ 控制台日志显示OSS ID为数字(不是undefined/null)
  2. ✅ 点击下载按钮文件开始下载
  3. ✅ 不再提示"文件OSS ID不存在"
  4. ✅ 下载的文件可以正常打开

❌ 如果仍有问题

问题1:OSS ID仍然是null

检查:

  1. 确认后端服务已重启
  2. 确认浏览器已硬刷新
  3. 查看后端日志是否有错误

排查SQL:

-- 检查数据库中的OSS ID字段是否有值
SELECT 
  application_id,
  stamped_file_oss_id,
  party_retention_file_oss_id
FROM rs_overseas_application
WHERE application_id = <您的申请ID>;

问题2:下载仍然失败

提供以下信息:

  1. 控制台日志截图(F12 → Console)
  2. Network标签截图(F12 → Network,点击下载按钮后)
  3. 具体错误信息

📋 完整修复链路

1. 后端VO字段       ✅ RsOverseasApplicationVo.java
                    ↓
2. Mapper XML查询   ✅ RsOverseasApplicationMapper.xml(本次关键修复)
                    ↓
3. 数据库字段       (检查是否有数据)
                    ↓
4. API响应          (包含OSS ID)
                    ↓
5. 前端接口         ✅ overseas.ts
                    ↓
6. 前端下载逻辑     ✅ index.vue(使用request工具)
                    ↓
7. 文件下载成功     ✅

💡 技术要点

MyBatis字段映射

重要:即使VO类中声明了字段,如果Mapper XML的SQL查询中没有包含该字段,查询结果中该字段仍然为null!

正确做法:

  1. ✅ VO类中声明字段
  2. ✅ Mapper XML的SELECT语句中包含该字段 ← 关键!
  3. ✅ MyBatis自动映射到VO对象

📞 联系方式

测试完成后,请反馈:

  • ✅ 测试通过
  • ❌ 仍有问题(提供日志截图)

修复完成时间:2025-10-11
关键修复:Mapper XML补充OSS ID字段查询
预计测试时间:5分钟