refactor(backend): 重构动物相关 API 接口
- 更新了动物数据结构和相关类型定义 - 优化了动物列表、详情、创建、更新和删除接口 - 新增了更新动物状态接口 - 移除了与认领记录相关的接口 -调整了 API 响应结构
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user