datai/docs/archive/api-docs/file/SysFileInfoController/0006-remove.md

134 lines
2.6 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.

# 删除文件
## 接口信息
- **接口名称**: 删除文件
- **接口路径**: /file/info/{fileIds}
- **请求方法**: DELETE
- **模块归属**: file
- **版本号**: v1.0.0
- **创建日期**: 2026-01-18
- **最后更新**: 2026-01-18
## 功能描述
根据文件 ID 删除文件记录,支持批量删除。删除操作会将删除标志设置为 2而不是物理删除。
## 请求参数
### 路径参数
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|--------|------|------|------|------|
| fileIds | Long[] | 是 | 文件 ID 数组,多个 ID 用逗号分隔 | 1,2,3 |
## 响应数据
### 成功响应
**HTTP 状态码**: 200 OK
```json
{
"code": 200,
"msg": "操作成功",
"data": 3
}
```
| 字段名 | 类型 | 描述 | 示例 |
|--------|------|------|------|
| data | Integer | 影响的行数 | 3 |
### 失败响应
**HTTP 状态码**: 401 Unauthorized
```json
{
"code": 401,
"msg": "没有权限访问",
"data": null
}
```
**HTTP 状态码**: 404 Not Found
```json
{
"code": 404,
"msg": "文件不存在",
"data": null
}
```
**HTTP 状态码**: 500 Internal Server Error
```json
{
"code": 500,
"msg": "删除文件失败",
"data": null
}
```
## 接口示例
### 请求示例
**删除单个文件**:
```bash
curl -X DELETE "http://localhost:8080/file/info/1" \
-H "Authorization: Bearer [token]"
```
**批量删除文件**:
```bash
curl -X DELETE "http://localhost:8080/file/info/1,2,3" \
-H "Authorization: Bearer [token]"
```
### 响应示例
**成功**:
```json
{
"code": 200,
"msg": "操作成功",
"data": 3
}
```
## 错误处理
- 没有权限访问时返回 401 错误
- 文件不存在时返回 404 错误
- 参数错误时返回 400 错误
- 数据库操作失败时返回 500 错误
## 注意事项
- 需要权限system:file:remove
- 使用 `@Log` 注解记录操作日志
- 支持批量删除,多个 ID 用逗号分隔
- 删除操作会将删除标志设置为 2而不是物理删除
- 只能删除删除标志为 0 的文件(未删除的文件)
## 相关接口
- [查询文件列表](./0001-list.md) - 查询文件列表
- [获取文件详细信息](./0003-get-info.md) - 获取单个文件的详细信息
- [修改文件](./0005-edit.md) - 修改文件信息
## 实现细节
- 使用 `ISysFileInfoService.deleteSysFileInfoByFileIds()` 删除文件记录
- 使用 `@Log` 注解记录操作日志,业务类型为 DELETE
- 使用 `@PreAuthorize` 注解进行权限控制
- 继承 `BaseController` 获取基础功能
- 使用 `toAjax()` 方法封装响应
- 支持批量删除,传入 Long[] 数组