Skip to content

6.5 职级管理 ​

概述

职级模块(goframe_level,租户级表)管理用户职级属性:标准 CRUD + 状态切换 + Excel 导入导出(与 user/example 并列的三个导入导出示范模块之一),列表带 user_count 引用统计。

接口清单 ​

方法路由权限说明
GET/api/level/pagesys:level:page分页
GET/api/level/listsys:level:list列表
GET/api/level/detail/:idsys:level:detail详情
POST/api/level/addsys:level:add新增
PUT/api/level/updatesys:level:update修改
PUT/api/level/statussys:level:status状态切换
DELETE/api/level/delete/:idsys:level:delete软删
DELETE/api/level/batchDeletesys:level:batchDelete批量删除
POST/api/level/importsys:level:importExcel 导入
GET/api/level/exportsys:level:exportExcel 导出

模块特征 ​

特征实现
导入导出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 引用;有引用先调整用户职级
  • 导入模板与导出列保持一致(表头=表单字段名);批量导入注意租户内唯一名称

小蚂蚁云团队 · 提供技术支持