feat: 会议提交剩余时间+解冻 + 会务/劳务材料批量下载 + 多角色人员/账号模块完善
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+4
-3
@@ -148,9 +148,10 @@ public class SysLoginService
|
||||
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
|
||||
throw new UserPasswordNotMatchException();
|
||||
}
|
||||
// 用户名不在指定范围内 错误
|
||||
if (username.length() < UserConstants.USERNAME_MIN_LENGTH
|
||||
|| username.length() > UserConstants.USERNAME_MAX_LENGTH)
|
||||
// 用户名不在指定范围内 错误 (邮箱登录含 @ 不受 2-20 位限制)
|
||||
if (!username.contains("@")
|
||||
&& (username.length() < UserConstants.USERNAME_MIN_LENGTH
|
||||
|| username.length() > UserConstants.USERNAME_MAX_LENGTH))
|
||||
{
|
||||
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
|
||||
throw new UserPasswordNotMatchException();
|
||||
|
||||
+16
@@ -38,6 +38,11 @@ public class UserDetailsServiceImpl implements UserDetailsService
|
||||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
|
||||
{
|
||||
SysUser user = userService.selectUserByUserName(username);
|
||||
// 用户名查不到且输入含 @ → 视为邮箱登录 (邮箱+密码)
|
||||
if (StringUtils.isNull(user) && username.contains("@"))
|
||||
{
|
||||
user = userService.selectUserByEmail(username);
|
||||
}
|
||||
if (StringUtils.isNull(user))
|
||||
{
|
||||
log.info("登录用户:{} 不存在.", username);
|
||||
@@ -54,6 +59,17 @@ public class UserDetailsServiceImpl implements UserDetailsService
|
||||
throw new ServiceException(MessageUtils.message("user.blocked"));
|
||||
}
|
||||
|
||||
// 子账号专属: 主账号 (parent_user_id) 被禁用 → 拦截登录
|
||||
if (user.getParentUserId() != null)
|
||||
{
|
||||
SysUser parent = userService.selectUserById(user.getParentUserId());
|
||||
if (parent != null && UserStatus.DISABLE.getCode().equals(parent.getStatus()))
|
||||
{
|
||||
log.info("登录用户:{} 所属机构主账号已禁用.", username);
|
||||
throw new ServiceException("您所属的机构已禁用");
|
||||
}
|
||||
}
|
||||
|
||||
passwordService.validate(user);
|
||||
|
||||
return createLoginUser(user);
|
||||
|
||||
Reference in New Issue
Block a user