靓号-退出登录-抽离单独查找方法兼容靓号
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user