陈昶聿
3 天以前 e444243ca81f28c69a5c0a79ec77689ce6f6ee52
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java
@@ -20,8 +20,7 @@
 * @author ruoyi
 */
@Service
public class UserDetailsServiceImpl implements UserDetailsService
{
public class UserDetailsServiceImpl implements UserDetailsService {
    private static final Logger log = LoggerFactory.getLogger(UserDetailsServiceImpl.class);
    @Autowired
@@ -34,27 +33,24 @@
    private SysPermissionService permissionService;
    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
    {
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        String[] split = username.split("&");
        SysUser user = userService.selectUserByUserName2(username);
        if (StringUtils.isNull(user))
        {
        if (StringUtils.isNull(user)) {
            log.info("登录用户:{} 不存在.", username);
            throw new ServiceException("登录用户:" + username + " 不存在");
        }
        else if (UserStatus.DELETED.getCode().equals(user.getDelFlag()))
        {
            throw new ServiceException("登录用户:" + split[0] + " 不存在,或机构不正确,请检查后重新登陆");
        } else if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) {
            log.info("登录用户:{} 已被删除.", username);
            throw new ServiceException("对不起,您的账号:" + username + " 已被删除");
        }
        else if (UserStatus.DISABLE.getCode().equals(user.getStatus()))
        {
            throw new ServiceException("对不起,您的账号:" + split[0] + " 已被删除");
        } else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) {
            log.info("登录用户:{} 已被停用.", username);
            throw new ServiceException("对不起,您的账号:" + username + " 已停用");
        }else if(!user.getOrgid().equals(split[1])){
            log.info("登录用户:{} 不是本院帐号:{}", username,split[1]);
            throw new ServiceException("对不起,您的账号:" + split[0] + " 不是本院的");
            throw new ServiceException("对不起,您的账号:" + split[0] + " 已停用");
        } else if (StringUtils.isEmpty(user.getOrgid()) || StringUtils.isEmpty(split[1]) || !user.getOrgid().trim().equals(split[1].trim())) {
            log.info("登录用户:{} 不是本医院帐号:{}", username, split[1]);
            throw new ServiceException("对不起,您的账号:" + split[0] + " 不是本医院的");
        } else if (StringUtils.isEmpty(user.getCampusid()) || StringUtils.isEmpty(split[2]) || !user.getCampusid().trim().equals(split[2].trim())) {
            log.info("登录用户:{} 不是本院区帐号:{}", username, split[1]);
            throw new ServiceException("对不起,您的账号:" + split[0] + " 不是本院区帐号");
        }
        passwordService.validate(user);
@@ -62,8 +58,7 @@
        return createLoginUser(user);
    }
    public UserDetails createLoginUser(SysUser user)
    {
    public UserDetails createLoginUser(SysUser user) {
        return new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user));
    }
}