From 6543203bc68d73f6a22c8cc63836f6ee4d7a0b1d Mon Sep 17 00:00:00 2001 From: chenxing Date: Mon, 17 Aug 2026 18:54:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A7=92=E8=89=B2=E9=94=99?= =?UTF-8?q?=E4=B9=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yunhai/userbase/service/impl/SysUserService.java | 6 +++--- src/main/java/com/yunhai/userbase/utils/OtherUtil.java | 8 +++++--- src/main/resources/sql/sys_user_init.sql | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/yunhai/userbase/service/impl/SysUserService.java b/src/main/java/com/yunhai/userbase/service/impl/SysUserService.java index 0a720b6..374512b 100644 --- a/src/main/java/com/yunhai/userbase/service/impl/SysUserService.java +++ b/src/main/java/com/yunhai/userbase/service/impl/SysUserService.java @@ -445,7 +445,7 @@ public class SysUserService implements ISysUserService { new ImportColumnDef("phone", "手机号(可选)", 16, false, null), new ImportColumnDef("email", "email(可选)", 24, false, null), new ImportColumnDef("nature", "用户性质\n(可选,默认普通用户\n组管理员2,\n普通用户0,\n导入不接受别的代码)", 24, false, "0"), - new ImportColumnDef("identity", "用户身份\n(1教师 2教职工 3学生 4家长)", 24, false, null), + new ImportColumnDef("identity", "用户身份\n(1教师 2校领导 3学生 4家长)", 24, false, null), new ImportColumnDef("gender", "性别(可选)", 12, false, null), new ImportColumnDef("birthday", "生日(yyyy-MM-dd)(可选)", 22, false, null) ); @@ -516,7 +516,7 @@ public class SysUserService implements ISysUserService { * - 组名 / 组id:取每个用户实际所属的主组(isMain=1),与导入模板的「参考」列保持一致;
* - 密码:数据库存的是 BCrypt 密文、不可逆,导出留空(再导入时退化为默认 Vzuk4Dp3);
* - 用户性质 nature:取 type 的 key(0普通 / 1超级管理员 / 2学校管理员);
- * - 用户身份 identity:取 roles 数组第一个元素(系统角色枚举 key:1管理员 2老师 3校领导 4局领导 5学生 6家长 7工作号)。 + * - 用户身份 identity:取 roles 数组第一个元素(系统角色枚举 SysRoleEnum key:1老师 2校领导 3学生 4家长 5局领导 6工作号 7管理员)。 */ @Override public void exportUsers(Integer groupId, Integer withSub, String name, HttpServletResponse response) throws IOException { @@ -839,7 +839,7 @@ public class SysUserService implements ISysUserService { /** * 根据模板中的用户性质与用户身份构建 roles 列表。 * - 用户性质:0普通用户(不加管理员),2组管理员(加 ADMIN=7);其他值视为非法。 - * - 用户身份:1教师->TEACHER(1),2教职工->SCHOOL_LEADER(2),3学生->STUDENT(3),4家长->PARENT(4)。 + * - 用户身份:1教师->TEACHER(1),2校领导->SCHOOL_LEADER(2),3学生->STUDENT(3),4家长->PARENT(4)。 */ private List buildImportRoles(Integer nature, Integer identity) { Set roleSet = new HashSet<>(); diff --git a/src/main/java/com/yunhai/userbase/utils/OtherUtil.java b/src/main/java/com/yunhai/userbase/utils/OtherUtil.java index f5b1598..0945eb2 100644 --- a/src/main/java/com/yunhai/userbase/utils/OtherUtil.java +++ b/src/main/java/com/yunhai/userbase/utils/OtherUtil.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONException; import com.alibaba.fastjson.JSONObject; import com.yunhai.platform.utils.exception.DException; +import com.yunhai.userbase.enums.SysRoleEnum; import java.util.Arrays; import java.util.List; @@ -81,10 +82,11 @@ public class OtherUtil { } /** - * 判断是否为校领导 - */ + * 判断角色是否为管理员(SysRoleEnum.ADMIN = 7)。 + * 注:方法名历史遗留为 isAdminById,语义即「是否具备管理员权限」。 + */ public final static Boolean isAdminById(Integer roleId){ - return Arrays.asList(2,5,7).contains(roleId); + return roleId != null && SysRoleEnum.ADMIN.getKey().equals(roleId); } diff --git a/src/main/resources/sql/sys_user_init.sql b/src/main/resources/sql/sys_user_init.sql index daf4e27..62499db 100644 --- a/src/main/resources/sql/sys_user_init.sql +++ b/src/main/resources/sql/sys_user_init.sql @@ -10,7 +10,7 @@ -- 2. 密码统一为 yunhai@1357,已使用 BCrypt(strength=10,前缀 $2a$,与后端 -- org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder 默认一致)加密后写入 password 列。 -- 3. 超级管理员角色由 roles 列承载:本系统角色枚举(SysRoleEnum)最高为 ADMIN(7), --- 应用内 isAdminById 对 {2,5,7} 返回 true,故赋予 [7] 即具备管理员权限。 +-- 应用内 isAdminById 仅对 SysRoleEnum.ADMIN(7) 返回 true,故赋予 [7] 即具备管理员权限。 -- 若需“全角色”超级权限,可将 '[7]' 改为 '[1,2,3,4,5,6,7]'。 -- 4. type 列(用户类型枚举 UserTypeEnum):0=普通用户,1=超级管理员,2=学校管理员。 -- 本脚本写入的 3 个种子账号均为 type=1(超级管理员);应用层在新增/编辑用户时会自动推导: