feat: 完善照片更新和删除业务逻辑
Some checks failed
部署后端服务 / 🚀 构建并部署 (push) Has been cancelled
部署后端服务 / 🔄 回滚部署 (push) Has been cancelled
部署后端服务 / 🧪 测试后端 (push) Has been cancelled

- 实现照片更新功能 (updatePhotoLogic.go)
  - 支持部分字段更新 (title, description, category_id)
  - 添加用户权限验证,只能更新自己的照片
  - 添加分类存在性验证
  - 完善错误处理和响应格式

- 实现照片删除功能 (deletePhotoLogic.go)
  - 添加用户权限验证,只能删除自己的照片
  - 同时删除数据库记录和文件系统文件
  - 安全的文件删除处理

- 更新Handler使用统一响应格式
  - updatePhotoHandler.go: 使用response.Response统一处理
  - deletePhotoHandler.go: 使用response.Response统一处理

- 添加完整API测试用例 (test_photo_crud.http)
  - 涵盖正常场景和错误场景测试
  - 包含权限验证测试

- 更新项目进度 (TASK_PROGRESS.md)
  - 完成率从8%提升到12%
  - 更新API接口状态
  - 记录技术成果和里程碑
This commit is contained in:
xujiang
2025-07-10 18:08:22 +08:00
parent 317dc170f9
commit 35004f224e
6 changed files with 468 additions and 14 deletions

View File

@ -0,0 +1,94 @@
### 照片CRUD测试
### 1. 用户登录获取token
POST http://localhost:8888/api/v1/auth/login
Content-Type: application/json
{
"username": "admin",
"password": "123456"
}
### 设置变量
@token = {{login.response.body.data.token}}
### 2. 获取照片列表
GET http://localhost:8888/api/v1/photos?page=1&page_size=5
Authorization: Bearer {{token}}
### 3. 上传照片 (可选,用于创建测试数据)
POST http://localhost:8888/api/v1/photos
Authorization: Bearer {{token}}
Content-Type: multipart/form-data; boundary=boundary
--boundary
Content-Disposition: form-data; name="title"
测试照片更新删除
--boundary
Content-Disposition: form-data; name="description"
这是一张用于测试更新和删除功能的照片
--boundary
Content-Disposition: form-data; name="category_id"
1
--boundary
Content-Disposition: form-data; name="file"; filename="test.jpg"
Content-Type: image/jpeg
< ./test.jpg
--boundary--
### 4. 获取单个照片详情
GET http://localhost:8888/api/v1/photos/1
Authorization: Bearer {{token}}
### 5. 更新照片信息
PUT http://localhost:8888/api/v1/photos/1
Authorization: Bearer {{token}}
Content-Type: application/json
{
"title": "更新后的照片标题",
"description": "更新后的照片描述信息",
"category_id": 1
}
### 6. 再次获取照片详情验证更新
GET http://localhost:8888/api/v1/photos/1
Authorization: Bearer {{token}}
### 7. 删除照片
DELETE http://localhost:8888/api/v1/photos/1
Authorization: Bearer {{token}}
### 8. 验证删除应该返回404
GET http://localhost:8888/api/v1/photos/1
Authorization: Bearer {{token}}
### 错误场景测试
### 9. 尝试更新不存在的照片
PUT http://localhost:8888/api/v1/photos/999
Authorization: Bearer {{token}}
Content-Type: application/json
{
"title": "不存在的照片"
}
### 10. 尝试删除不存在的照片
DELETE http://localhost:8888/api/v1/photos/999
Authorization: Bearer {{token}}
### 11. 无认证更新照片
PUT http://localhost:8888/api/v1/photos/1
Content-Type: application/json
{
"title": "无认证更新"
}
### 12. 无认证删除照片
DELETE http://localhost:8888/api/v1/photos/1