靓号-处理换靓号后不能退出登录

This commit is contained in:
khalil
2024-09-10 15:21:40 +08:00
parent 02582b3485
commit 7fccf6b529

View File

@@ -10,7 +10,9 @@ import com.accompany.common.utils.CommonUtil;
import com.accompany.core.exception.ServiceException;
import com.accompany.core.model.Account;
import com.accompany.core.model.AccountLoginRecord;
import com.accompany.core.model.PrettyNumber;
import com.accompany.core.model.Users;
import com.accompany.core.mybatismapper.PrettyNumberMapper;
import com.accompany.core.service.SysConfService;
import com.accompany.core.service.account.AccountService;
import com.accompany.core.service.account.LoginRecordService;
@@ -26,6 +28,8 @@ import com.accompany.core.service.account.AccountBlockCheckService;
import com.accompany.oauth2.service.account.AccountManageService;
import com.accompany.oauth2.util.RequestContextHolderUtils;
import com.accompany.sms.service.SmsService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.UserDetails;
@@ -69,6 +73,8 @@ public class MyUserDetailsServiceImpl implements MyUserDetailsService {
private PhoneBlackService phoneBlackService;
@Autowired
private RegionService regionService;
@Autowired
private PrettyNumberMapper prettyNumberMapper;
/**
* 不允许登录的用户账号类型
@@ -83,6 +89,16 @@ public class MyUserDetailsServiceImpl implements MyUserDetailsService {
account = accountService.getAccountByPhone(username);
} else if (CommonUtil.checkNumberOnly(username)) {
account = accountService.getAccountByErBanNo(Long.valueOf(username));
//检查是否绑定了靓号
if (null == account){
LambdaQueryWrapper<PrettyNumber> queryWrapper = Wrappers.<PrettyNumber>lambdaQuery()
.eq(PrettyNumber::getUseErbanNo, username)
.eq(PrettyNumber::getStatus, Constant.status.valid);
PrettyNumber prettyNumber = prettyNumberMapper.selectOne(queryWrapper);
if (null != prettyNumber){
account = accountService.getAccountByErBanNo(prettyNumber.getPrettyNo());
}
}
}
if (account == null) {
throw new CustomOAuth2Exception(CustomOAuth2Exception.USER_NOT_EXISTED,