refactor(backend): 重构动物相关 API 接口

- 更新了动物数据结构和相关类型定义
- 优化了动物列表、详情、创建、更新和删除接口
- 新增了更新动物状态接口
- 移除了与认领记录相关的接口
-调整了 API 响应结构
This commit is contained in:
ylweng
2025-08-31 00:45:46 +08:00
parent 0cad74b06f
commit 8e5295b572
111 changed files with 15290 additions and 1972 deletions

View File

@@ -231,6 +231,123 @@ erDiagram
| created_at | DATETIME | NOT NULL | 创建时间 |
| updated_at | DATETIME | NOT NULL | 更新时间 |
### 管理员相关表
#### ROLES 表(角色表)
| 字段名 | 类型 | 约束 | 描述 |
|--------|------|------|------|
| id | INT | PRIMARY KEY, AUTO_INCREMENT | 角色ID |
| name | VARCHAR(50) | UNIQUE, NOT NULL | 角色名称 |
| description | TEXT | | 角色描述 |
| created_at | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | 创建时间 |
| updated_at | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP | 更新时间 |
**数据示例**:
- super_admin: 超级管理员,拥有系统所有权限
- admin: 普通管理员,拥有部分管理权限
- content_manager: 内容管理员,负责内容审核和管理
#### PERMISSIONS 表(权限表)
| 字段名 | 类型 | 约束 | 描述 |
|--------|------|------|------|
| id | INT | PRIMARY KEY, AUTO_INCREMENT | 权限ID |
| name | VARCHAR(100) | UNIQUE, NOT NULL | 权限名称 |
| description | TEXT | | 权限描述 |
| module | VARCHAR(50) | NOT NULL | 所属模块 |
| created_at | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | 创建时间 |
| updated_at | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP | 更新时间 |
**权限列表**:
- user:manage - 用户管理权限
- role:manage - 角色管理权限
- permission:manage - 权限管理权限
- content:review - 内容审核权限
- content:publish - 内容发布权限
- data:view - 数据查看权限
- data:export - 数据导出权限
- system:config - 系统配置权限
#### ROLE_PERMISSIONS 表(角色权限关联表)
| 字段名 | 类型 | 约束 | 描述 |
|--------|------|------|------|
| id | BIGINT | PRIMARY KEY, AUTO_INCREMENT | 关联ID |
| role_id | INT | FOREIGN KEY REFERENCES roles(id) | 角色ID |
| permission_id | INT | FOREIGN KEY REFERENCES permissions(id) | 权限ID |
| created_at | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | 创建时间 |
#### USER_ROLES 表(用户角色关联表)
| 字段名 | 类型 | 约束 | 描述 |
|--------|------|------|------|
| id | BIGINT | PRIMARY KEY, AUTO_INCREMENT | 关联ID |
| user_id | BIGINT | FOREIGN KEY REFERENCES users(id) | 用户ID |
| role_id | INT | FOREIGN KEY REFERENCES roles(id) | 角色ID |
| created_at | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | 创建时间 |
### 权限分配关系
```mermaid
erDiagram
USERS ||--o{ USER_ROLES : has
ROLES ||--o{ USER_ROLES : assigned_to
ROLES ||--o{ ROLE_PERMISSIONS : has
PERMISSIONS ||--o{ ROLE_PERMISSIONS : granted_to
USERS {
bigint id
varchar username
varchar email
enum status
timestamp created_at
}
ROLES {
int id
varchar name
text description
timestamp created_at
}
PERMISSIONS {
int id
varchar name
varchar module
text description
timestamp created_at
}
USER_ROLES {
bigint id
bigint user_id
int role_id
timestamp created_at
}
ROLE_PERMISSIONS {
bigint id
int role_id
int permission_id
timestamp created_at
}
```
### 管理员功能说明
1. **用户管理模块**: 查看用户列表、管理用户状态、用户数据分析
2. **内容管理模块**: 内容审核、内容发布管理、违规内容处理
3. **数据统计模块**: 系统数据查看、数据导出、运营报表生成
4. **权限管理模块**: 角色管理、权限分配、用户权限设置
### 安全设计
- 管理员登录采用JWT令牌认证
- 接口权限基于RBAC模型控制
- 敏感操作记录审计日志
- 密码采用bcrypt加密存储
#### 商家表 (merchants)
| 字段名 | 类型 | 约束 | 描述 |
|--------|------|------|------|
@@ -289,6 +406,49 @@ erDiagram
| claimed_at | DATETIME | NOT NULL | 认领时间 |
| ended_at | DATETIME | | 结束时间 |
#### 管理员操作日志表 (admin_operation_logs)
| 字段名 | 类型 | 约束 | 描述 |
|--------|------|------|------|
| id | BIGINT | PRIMARY KEY, AUTO_INCREMENT | 日志ID |
| admin_id | BIGINT | FOREIGN KEY REFERENCES users(id), NOT NULL | 管理员ID |
| admin_name | VARCHAR(50) | NOT NULL | 管理员姓名 |
| module | VARCHAR(50) | NOT NULL | 操作模块 |
| operation | VARCHAR(100) | NOT NULL | 操作类型 |
| target_id | VARCHAR(100) | | 目标对象ID |
| target_type | VARCHAR(50) | | 目标对象类型 |
| request_method | VARCHAR(10) | | 请求方法 |
| request_url | VARCHAR(500) | | 请求URL |
| request_params | TEXT | | 请求参数 |
| ip_address | VARCHAR(45) | | IP地址 |
| user_agent | VARCHAR(500) | | 用户代理 |
| status | ENUM('success', 'failed') | NOT NULL | 操作状态 |
| error_message | TEXT | | 错误信息 |
| execution_time | INT | | 执行时间(ms) |
| created_at | DATETIME | NOT NULL | 创建时间 |
**操作类型示例**:
- user:create - 创建用户
- user:update - 更新用户
- user:delete - 删除用户
- role:create - 创建角色
- role:update - 更新角色
- role:delete - 删除角色
- permission:assign - 分配权限
- content:review - 内容审核
- content:publish - 内容发布
- data:export - 数据导出
- system:config - 系统配置
**目标对象类型示例**:
- user - 用户
- role - 角色
- permission - 权限
- content - 内容
- merchant - 商家
- animal - 动物
- travel_plan - 旅行计划
- order - 订单
## 2. API设计
### 2.1 用户服务API