Files
easygoadmin-wiki/EasyGoAdmin_GoFrame_AntdVue/zh/modules/level.md
T
2026-10-20 21:53:26 +08:00

2.3 KiB
Raw Blame History

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

与其他模块的关系

user.level_id → level.id   用户归属职级(用户表单职级选择)
fillUserCount               列表/详情展示 user_count(该职级下用户数)
                             —— 删除前可据此判断是否被引用

导入导出模式(与 user/example 同款)

Import:multipart file(*ghttp.UploadFile + p:"file")
  → excel.ReadSheet(首行表头,全单元格字符串,空行跳过)
  → 逐行映射/校验(唯一、字典值)→ 批量 Insert → 返回导入统计

Export:与列表同筛选 → ChunkQuery 分批(默认 500/页,防 OOM)
  → excel.WriteSheet 写临时文件 → 返回文件 URL(/upload/temp/...)

管理建议

  • 职级是租户级数据——各租户独立维护自己的职级体系
  • 删除前查 user_count 引用;有引用先调整用户职级
  • 导入模板与导出列保持一致(表头=表单字段名);批量导入注意租户内唯一名称