外观
下载中心
下载中心为用户提供统一的文件记录列表。例如,报表导出服务生成文件后,登记文件名称、地址、大小和归属用户,用户随后在下载中心查询进度、打开下载地址或移除记录。
模块保存的是下载记录。文件生成、上传、存储访问和任务执行由接入应用负责;下载中心不提供文件流下载接口,也不会根据记录状态自动执行导出任务。
从哪里开始
- 首次接入:阅读快速开始,登记一个示例 CSV,并以当前用户查询和下载。
- 对接已有导出任务:阅读记录写入与状态维护,在任务开始、完成或失败时维护记录。
- 开发下载列表或后台管理页:阅读查询与删除,了解接口、筛选条件、用户范围和删除确认。
选择接入方式
以下 JAR 的 groupId 均为 com.own.business,由 com.own:springboot-business-dependencies 管理版本。
| 需要的能力 | 引入的 artifactId | 说明 |
|---|---|---|
| 当前用户下载列表、详情、删除 | springboot-business-download-center-controller-app | 自动传递依赖 Business 和 Common;接口按会话用户限定记录 |
| 管理端查询、详情、删除 | springboot-business-download-center-controller-admin | 自动传递依赖 Business 和 Common;声明管理操作权限,不自动按用户过滤 |
| 在应用内部登记文件或维护状态 | springboot-business-download-center-business | 提供 DownloadCenterService,可不引入 Controller |
App 和管理端可以同时引入。springboot-business-download-center 是聚合及依赖管理 POM,不是包含全部接口的运行时 JAR;common 提供 DTO、VO、Query 等公共模型。
能力与边界
| 能力 | 当前行为 |
|---|---|
| 记录存储 | 使用 MyBatis-Plus 操作 own_download_center;提供 MySQL 首次建表脚本 |
| 记录写入 | Java Service 继承通用新增、更新能力;没有 HTTP 新增或修改接口 |
| 状态与进度 | 保存 status 与 progress,由调用方维护;没有状态机、重试或进度推送 |
| 用户范围 | App 查询和删除使用当前登录用户;没有工作空间字段或空间隔离 |
| 记录删除 | 逻辑删除记录,不删除磁盘或对象存储中的文件 |
| 实际下载 | 返回已保存的 filePath;访问鉴权、签名续期及失效处理由应用或存储服务负责 |
下载中心无需依赖 Resource 资源模块,也没有独立的 own.download-center.* 配置开关。应用可以沿用已有文件存储能力,将可供前端使用的地址登记到记录中。若使用 Resource 上传,应用需自行把资源地址及归属用户写入下载中心,两者没有自动同步关系。
按文件查阅方法
重点文件与方法逐项说明核心类、接口和方法重载的用途、参数、返回值、调用示例与注意事项,并链接到公开仓库对应源码。