靓号-退出登录-抽离单独查找方法兼容靓号

This commit is contained in:
khalil
2024-10-11 18:52:15 +08:00
parent fb5e275b18
commit a8b7f8259f

View File

@@ -82,6 +82,20 @@ public class MyUserDetailsServiceImpl implements MyUserDetailsService {
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
Account account = null;
if (CommonUtil.checkValidPhone(username)) {
account = accountService.getAccountByPhone(username);
} else if (CommonUtil.checkNumberOnly(username)) {
account = accountService.getAccountByErBanNo(Long.valueOf(username));
}
if (account == null) {
throw new CustomOAuth2Exception(CustomOAuth2Exception.USER_NOT_EXISTED,
BusiStatus.USER_NOT_EXISTED.getReasonPhrase());
}
return new AccountDetails(account);
}
public UserDetails loadUserByUsernameWithPrettyNo(String username) throws UsernameNotFoundException {
Account account = null;
if (CommonUtil.checkValidPhone(username)) {
account = accountService.getAccountByPhone(username);
@@ -90,7 +104,7 @@ public class MyUserDetailsServiceImpl implements MyUserDetailsService {
//检查是否绑定了靓号
if (null == account){
LambdaQueryWrapper<PrettyNumberRecord> queryWrapper = Wrappers.<PrettyNumberRecord>lambdaQuery()
.eq(PrettyNumberRecord::getPrettyNo, Long.parseLong(username))
.eq(PrettyNumberRecord::getCurrentErbanNo, Long.parseLong(username))
.orderByDesc(PrettyNumberRecord::getId)
.last("limit 1");
PrettyNumberRecord prettyNumberRecord = prettyNumberRecordMapper.selectOne(queryWrapper);
@@ -233,7 +247,7 @@ public class MyUserDetailsServiceImpl implements MyUserDetailsService {
return Boolean.FALSE;
}
OAuth2Authentication authentication = tokenStore.readAuthentication(accessToken);
UserDetails userDetails = loadUserByUsername(authentication.getName());
UserDetails userDetails = loadUserByUsernameWithPrettyNo(authentication.getName());
AccountDetails accountDetails = userDetails instanceof AccountDetails ? (AccountDetails) userDetails : null;
if (accountDetails == null) {
return Boolean.FALSE;