Files
easygoadmin-wiki/EasyGoAdmin_GoFrame_EleVue/zh/modules/level.md
T
2026-10-20 21:19:44 +08:00

55 lines
2.3 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.
# 6.5 职级管理
:::tip 概述
职级模块(goframe_level,租户级表)管理用户职级属性:标准 CRUD + 状态切换 + Excel 导入导出(与 user/example 并列的三个导入导出示范模块之一),列表带 user_count 引用统计。
:::
## 接口清单
| 方法 | 路由 | 权限 | 说明 |
|------|------|------|------|
| GET | /api/level/page | sys:level:page | 分页 |
| GET | /api/level/list | sys:level:list | 列表 |
| GET | /api/level/detail/:id | sys:level:detail | 详情 |
| POST | /api/level/add | sys:level:add | 新增 |
| PUT | /api/level/update | sys:level:update | 修改 |
| PUT | /api/level/status | sys:level:status | 状态切换 |
| DELETE | /api/level/delete/:id | sys:level:delete | 软删 |
| DELETE | /api/level/batchDelete | sys:level:batchDelete | 批量删除 |
| POST | /api/level/import | sys:level:import | Excel 导入 |
| GET | /api/level/export | sys:level:export | Excel 导出 |
## 模块特征
| 特征 | 实现 |
|------|------|
| 导入导出 | excel.ReadSheet / WriteSheet + ChunkQuery 分批导出 |
| 引用统计 | fillUserCount:按 level_id 统计引用用户数(base.go 共享能力,level/position 复用) |
| 唯一性 | 租户内名称唯一(uk_tenant_name);未声明预检,1062 兜底 |
| 字典 | status → 字典驱动 {field}Text |
## 与其他模块的关系
```text
user.level_id → level.id 用户归属职级(用户表单职级选择)
fillUserCount 列表/详情展示 user_count(该职级下用户数)
—— 删除前可据此判断是否被引用
```
## 导入导出模式(与 user/example 同款)
```text
Import:multipart file(*ghttp.UploadFile + p:"file")
→ excel.ReadSheet(首行表头,全单元格字符串,空行跳过)
→ 逐行映射/校验(唯一、字典值)→ 批量 Insert → 返回导入统计
Export:与列表同筛选 → ChunkQuery 分批(默认 500/页,防 OOM)
→ excel.WriteSheet 写临时文件 → 返回文件 URL(/upload/temp/...)
```
## 管理建议
+ 职级是租户级数据——各租户独立维护自己的职级体系
+ 删除前查 user_count 引用;有引用先调整用户职级
+ 导入模板与导出列保持一致(表头=表单字段名);批量导入注意租户内唯一名称