Files
hzdyjs/出国申请附件功能-快速部署指南.md
T
2025-10-14 16:41:19 +08:00

147 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 出国申请附件功能-快速部署指南
## 🚀 快速部署(3步完成)
### 第1步:执行数据库脚本(1分钟)
```bash
# 使用MySQL客户端执行
mysql -h 主机地址 -u 用户名 -p 数据库名 < docs/设计文档/database/rs_overseas_application_attachment.sql
```
或者在数据库管理工具中执行该SQL文件。
**验证**:检查是否创建了表 `rs_overseas_application_attachment`
---
### 第2步:重启后端服务(2-3分钟)
```bash
cd backend
mvn clean install -DskipTests
./start-all.sh
```
**验证**:访问 http://localhost:8080 确认服务启动成功
---
### 第3步:重新构建前端(2-3分钟)
```bash
cd web
npm run build:prod
```
**验证**:检查 `web/dist` 目录是否生成新的文件
---
## ✅ 功能测试(5分钟)
### 测试1:新增申请并上传附件
1. 登录系统
2. 进入【出国管理】-【出国申请】
3. 点击"新增申请"
4. 阅读文件通知(30秒)
5. 填写申请表单
6. 滚动到底部,点击"添加附件"
7. 填写附件标题(如:"护照复印件")
8. 填写附件说明(选填,如:"护照信息页")
9. 选择文件上传
10. 点击"确认上传"
11. 验证附件列表显示新上传的文件
12. 点击"提交"保存申请
### 测试2:查看详情中显示附件
1. 在申请列表中找到刚才的申请
2. 点击"查看详情"
3. 滚动到底部查看"申请附件"区域
4. 验证显示附件标题、内容、文件名等信息
5. 点击"下载"按钮测试下载功能
---
## 📁 关键文件清单
### 数据库
- `docs/设计文档/database/rs_overseas_application_attachment.sql` - 附件表SQL脚本
### 后端(7个文件)
- `backend/ruoyi-modules/ruoyi-rs/src/main/java/org/dromara/rs/domain/RsOverseasApplicationAttachment.java` - Entity
- `backend/ruoyi-modules/ruoyi-rs/src/main/java/org/dromara/rs/domain/vo/RsOverseasApplicationAttachmentVo.java` - VO
- `backend/ruoyi-modules/ruoyi-rs/src/main/java/org/dromara/rs/domain/bo/RsOverseasApplicationAttachmentBo.java` - BO
- `backend/ruoyi-modules/ruoyi-rs/src/main/java/org/dromara/rs/mapper/RsOverseasApplicationAttachmentMapper.java` - Mapper
- `backend/ruoyi-modules/ruoyi-rs/src/main/resources/mapper/rs/RsOverseasApplicationAttachmentMapper.xml` - Mapper XML
- `backend/ruoyi-modules/ruoyi-rs/src/main/java/org/dromara/rs/service/IRsOverseasApplicationAttachmentService.java` - Service接口
- `backend/ruoyi-modules/ruoyi-rs/src/main/java/org/dromara/rs/service/impl/RsOverseasApplicationAttachmentServiceImpl.java` - Service实现
- `backend/ruoyi-modules/ruoyi-rs/src/main/java/org/dromara/rs/controller/RsOverseasApplicationAttachmentController.java` - Controller
### 前端(2个文件)
- `web/src/api/rs/overseas.ts` - API接口定义
- `web/src/views/rs/overseas/index.vue` - 页面组件
---
## 🐛 常见问题排查
### 问题1:上传附件时提示"请先保存申请表单"
**原因**:申请还没有保存到数据库,没有applicationId
**解决**:需要先填写必填项并点击"提交"保存申请,再上传附件
### 问题2:上传失败,提示"文件上传失败"
**原因**:OSS配置不正确或网络问题
**解决**:
1. 检查OSS配置是否正确
2. 检查网络连接是否正常
3. 查看后端日志确认具体错误
### 问题3:查看详情时不显示附件
**原因**:前端没有正确调用附件列表API
**解决**:
1. 打开浏览器开发者工具
2. 查看Network标签,确认是否调用了 `/rs/overseas/attachment/list/{applicationId}` 接口
3. 检查接口返回数据是否正常
### 问题4:下载附件时无响应
**原因**:OSS URL不可访问或权限问题
**解决**:
1. 复制附件URL在浏览器中直接访问
2. 确认OSS bucket配置允许外部访问
3. 检查文件是否真实存在
---
## 📊 API接口列表
| 接口路径 | 方法 | 说明 |
|---------|------|------|
| `/rs/overseas/attachment/list/{applicationId}` | GET | 查询附件列表 |
| `/rs/overseas/attachment/{attachmentId}` | GET | 查询附件详情 |
| `/rs/overseas/attachment/upload` | POST | 上传附件 |
| `/rs/overseas/attachment` | PUT | 更新附件 |
| `/rs/overseas/attachment/{attachmentId}` | DELETE | 删除附件 |
| `/rs/overseas/attachment/batch` | DELETE | 批量删除 |
---
## 💡 使用技巧
1. **快速上传**:可以拖拽文件到上传区域
2. **批量管理**:在编辑页面可以一次性上传多个附件
3. **文件命名**:建议使用有意义的附件标题,方便查找
4. **内容说明**:详细的内容说明有助于审批人员快速了解附件内容
5. **格式选择**:推荐使用PDF格式,兼容性最好
---
**部署时间**:约5-10分钟
**测试时间**:约5分钟
**总计**:15分钟完成部署和测试
如有问题,请参考详细的《出国申请附件管理功能实现报告.md》文档。