Files
shz-backend/docs/app-interview-delete-api.md

93 lines
2.4 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.

# 移动端面试邀约删除接口
## 1. 接口说明
求职者在移动端删除自己收到的面试邀约。接口同时支持单个删除和批量删除;服务端根据登录 Token 自动识别当前用户,客户端不需要也不能传递 `userId`
删除采用逻辑删除:记录会被标记为已删除,后续调用面试邀约列表接口时不会再返回该记录。
## 2. 接口地址
`DELETE /app/interview/{ids}`
## 3. 鉴权
请求头需携带已登录移动端用户的 Token
```http
Authorization: Bearer <移动端登录 Token>
```
未登录时,接口返回业务码 `500` 和提示信息“未登录”。
## 4. 路径参数
| 参数名 | 位置 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- | --- |
| ids | Path | Long / Long[] | 是 | 面试邀约 ID。单个 ID 直接传递;批量 ID 使用英文逗号 `,` 分隔。 |
## 5. 请求示例
### 5.1 删除单个面试邀约
```http
DELETE /app/interview/12
Authorization: Bearer <移动端登录 Token>
```
### 5.2 批量删除面试邀约
```http
DELETE /app/interview/12,13,14
Authorization: Bearer <移动端登录 Token>
```
### 5.3 cURL 示例
```bash
curl -X DELETE "https://<后端地址>/app/interview/12,13,14" \
-H "Authorization: Bearer <移动端登录 Token>"
```
## 6. 成功响应
`data` 为实际删除的面试邀约数量。
```json
{
"code": 200,
"msg": "操作成功",
"data": 3
}
```
## 7. 失败响应
### 7.1 未登录
```json
{
"code": 500,
"msg": "未登录"
}
```
### 7.2 没有可删除的邀约
当全部 ID 不存在、已删除,或均不属于当前登录用户时,实际删除数量为 `0`,接口返回:
```json
{
"code": 500,
"msg": "操作失败"
}
```
## 8. 删除规则
1. 服务端只会删除 `id` 在请求参数内且 `user_id` 等于当前登录用户 ID 的记录。
2. 传入他人的面试邀约 ID 不会删除他人的数据。
3. 批量请求中同时包含本人和他人的邀约时,仅删除本人的记录;成功响应中的 `data` 是实际删除数量,不会逐条返回未删除 ID 的原因。
4. 删除为逻辑删除,记录的 `del_flag` 更新为已删除标识,移动端列表 `GET /app/interview/list` 不再展示该记录。
5. 前端收到 `code: 200` 后应刷新面试邀约列表;若需要确保全部选中记录都已删除,可将响应中的 `data` 与本次提交的 ID 数量进行比较。