refactor: new SQL and API
This commit is contained in:
@@ -17,15 +17,10 @@
|
||||
- /reset
|
||||
- /departments
|
||||
- /email
|
||||
- /evaluation-records
|
||||
- /finance
|
||||
- /items
|
||||
- /memos
|
||||
- /personnel
|
||||
- /project-groups
|
||||
- /proof-images
|
||||
- /usages
|
||||
- /users
|
||||
|
||||
## 预计完成的 API 列表
|
||||
|
||||
@@ -51,24 +46,6 @@
|
||||
|
||||
---
|
||||
|
||||
### 2. **人员管理 (Personnel)**
|
||||
|
||||
| 端点 | 方法 | 功能说明 |
|
||||
|---------------------------------|---------------------|----------------------------------|
|
||||
| `personnel/` | GET/POST/PUT/DELETE | 人员信息 CRUD 操作 |
|
||||
| `personnel/statistics/` | GET | 获取人员统计信息(按部门和职位) |
|
||||
| `personnel/{id}/set_inactive/` | POST | 设置人员为已卸任状态 |
|
||||
| `personnel/{id}/set_active/` | POST | 设置人员为在职状态 |
|
||||
| `personnel/{id}/` | DELETE | 删除人员(发送邮件通知) |
|
||||
| `personnel/check_expired/` | POST | 检查并更新已到期的人员状态 |
|
||||
| `project-groups/` | GET/POST/PUT/DELETE | 项目组 CRUD 操作 |
|
||||
| `project-groups/by_department/` | GET | 按部门获取项目组 |
|
||||
| `project-groups/{id}/` | DELETE | 删除项目组(发送邮件通知) |
|
||||
|
||||
**搜索/过滤字段**: `name`, `student_id`, `phone`, `email`, `grade_major`
|
||||
|
||||
---
|
||||
|
||||
### 3. **财务管理 (Finance)**
|
||||
|
||||
| 端点 | 方法 | 功能说明 |
|
||||
@@ -95,41 +72,7 @@
|
||||
|
||||
---
|
||||
|
||||
### 5. **备忘录 (Memo)**
|
||||
|
||||
| 端点 | 方法 | 功能说明 |
|
||||
|----------------------------|---------------------|------------------|
|
||||
| `memos/` | GET/POST/PUT/DELETE | 备忘录 CRUD 操作 |
|
||||
| `memos/{id}/upload_image/` | POST | 上传备忘录图片 |
|
||||
| `memos/{id}/delete_image/` | DELETE | 删除备忘录图片 |
|
||||
|
||||
**搜索字段**: `title`, `content`
|
||||
**默认排序**: 按更新时间倒序
|
||||
|
||||
---
|
||||
|
||||
### 6. **考评系统 (Evaluation)**
|
||||
|
||||
| 端点 | 方法 | 功能说明 |
|
||||
|-----------------------------------------|---------------------|--------------------------------------------|
|
||||
| `evaluation-records/` | GET/POST/PUT/DELETE | 考评记录 CRUD 操作 |
|
||||
| `evaluation-records/personnel-summary/` | GET | 获取人员考评汇总(按人员、部门、年级分组) |
|
||||
| `evaluation-records/personnel-records/` | GET | 获取某个人员的所有考评记录 |
|
||||
| `evaluation-records/delete-personnel/` | DELETE | 删除某个人员的所有考评记录 |
|
||||
| `evaluation-records/export/` | GET | 导出考评记录为 Excel(每个人一个表格) |
|
||||
| `evaluation-records/download-template/` | GET | 下载人员导入样表 |
|
||||
| `evaluation-records/import/` | POST | 导入考评记录(支持 Excel/CSV) |
|
||||
|
||||
**功能**:
|
||||
|
||||
- 支持批量导入和导出
|
||||
- 样表格式:只需部门、年级、姓名(初始分39分)
|
||||
- 完整格式:包含详细的加分/扣分记录
|
||||
- 所有操作发送邮件通知
|
||||
|
||||
---
|
||||
|
||||
### 7. **认证相关**
|
||||
### 5. **认证相关**
|
||||
|
||||
这是原先的 Django REST Framework JWT 认证端点,主要用于获取和刷新 JWT 令牌。
|
||||
现在改用 `/api/v1/auth/` 端点来处理登录、注册、重置密码等操作。
|
||||
@@ -154,33 +97,24 @@ Authorization: Bearer <token>
|
||||
|
||||
[schema.sql](./schema.sql)
|
||||
|
||||
- users (系统用户/认证信息)
|
||||
- users/account (系统用户/认证信息)
|
||||
- departments (组织/部门)
|
||||
- parent_id -> departments.id (自关联父级)
|
||||
- personnel (人员信息)
|
||||
- user_id -> users.id
|
||||
- department_id -> departments.id
|
||||
- categories (物品类别)
|
||||
- parent_id -> categories.id (自关联父级)
|
||||
- items (物品基本信息)
|
||||
- category_id -> categories.id
|
||||
- created_by -> personnel.id
|
||||
- created_by -> account.id
|
||||
- item_transactions (物品出入库流水)
|
||||
- item_id -> items.id (ON DELETE CASCADE)
|
||||
- operator_id -> personnel.id
|
||||
- operator_id -> account.id
|
||||
- borrow_records (借用/归还记录)
|
||||
- item_id -> items.id (ON DELETE CASCADE)
|
||||
- borrower_id -> personnel.id (ON DELETE CASCADE)
|
||||
- approver_id -> personnel.id
|
||||
- memos (备忘/备注)
|
||||
- author_id -> personnel.id
|
||||
- related_item_id -> items.id
|
||||
- borrower (借入人,字符串)
|
||||
- approver (借出/审批人,字符串)
|
||||
- finance_records (财务相关记录)
|
||||
- related_item_id -> items.id
|
||||
- recorded_by -> personnel.id
|
||||
- recorded_by -> account.id
|
||||
- email_notices (邮件通知规则/历史)
|
||||
- evaluations (物品/服务评价)
|
||||
- related_item_id -> items.id
|
||||
- evaluator_id -> personnel.id
|
||||
- attachments (文件附件存储索引表)
|
||||
- uploaded_by -> personnel.id
|
||||
- uploaded_by -> account.id
|
||||
|
||||
Reference in New Issue
Block a user