fix(person): 子账号继承主账号 role_type + Login 不再硬编 leader
问题: sponsor 主账号新建的子账号 role_type 没写入,
被 sys_user.role_type DEFAULT 'executor' 覆盖,
导致子账号进入 executor 视角;另外 Login.vue
autoRole/短信登录都硬编 'leader' 兜底, getInfo
失败时静默跳 /leader/home。
修复:
- BizPersonServiceImpl.insert 读主账号 SysUser,
把 mainUser.getRoleType() 写到新子账号
(SysUserMapper.xml insertUser 已支持 role_type 列)
- Login.vue: 短信登录 fallbackRole 改 '',
autoRole 不匹配返回 '', afterLogin 无 role 跳 /login
(不再 fallback /leader/home)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+6
@@ -73,6 +73,9 @@ public class BizPersonServiceImpl implements IBizPersonService
|
||||
}
|
||||
|
||||
// 1. 创建 sys_user 子账号
|
||||
// 继承主账号 role_type, 避免子账号被 sys_user.role_type DEFAULT 'executor' 覆盖
|
||||
// (之前不写 roleType 时, sponsor 主账号的子账号会被 DEFAULT 错位成 executor)
|
||||
SysUser mainUser = mainUserId == null ? null : sysUserMapper.selectUserById(mainUserId);
|
||||
SysUser newUser = new SysUser();
|
||||
newUser.setUserName(entity.getLoginUsername());
|
||||
newUser.setNickName(entity.getName());
|
||||
@@ -82,6 +85,9 @@ public class BizPersonServiceImpl implements IBizPersonService
|
||||
newUser.setParentUserId(mainUserId);
|
||||
newUser.setStatus("0");
|
||||
newUser.setDelFlag("0");
|
||||
if (mainUser != null && mainUser.getRoleType() != null) {
|
||||
newUser.setRoleType(mainUser.getRoleType());
|
||||
}
|
||||
newUser.setCreateBy(SecurityUtils.getUsername());
|
||||
// mybatis useGeneratedKeys 自动回填 userId
|
||||
sysUserMapper.insertUser(newUser);
|
||||
|
||||
Reference in New Issue
Block a user