Commit 4d93da82 by 段启岩

获取认证信息列表

parent 67075a01
package cn.meteor.beyondclouds.modules.user.api; package cn.meteor.beyondclouds.modules.user.api;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
import cn.meteor.beyondclouds.core.authentication.Subject;
import cn.meteor.beyondclouds.modules.user.dto.AuthenticationResultDTO; import cn.meteor.beyondclouds.modules.user.dto.AuthenticationResultDTO;
import cn.meteor.beyondclouds.modules.user.dto.UserAuthDTO;
import cn.meteor.beyondclouds.modules.user.exception.AuthenticationServiceException; import cn.meteor.beyondclouds.modules.user.exception.AuthenticationServiceException;
import cn.meteor.beyondclouds.modules.user.exception.UserServiceException; import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
import cn.meteor.beyondclouds.modules.user.form.LocalAuthFrom; import cn.meteor.beyondclouds.modules.user.form.LocalAuthFrom;
...@@ -16,6 +19,7 @@ import org.springframework.validation.BindingResult; ...@@ -16,6 +19,7 @@ import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List;
/** /**
* @author meteor * @author meteor
...@@ -77,4 +81,11 @@ public class AuthenticationApi { ...@@ -77,4 +81,11 @@ public class AuthenticationApi {
return Response.error(e); return Response.error(e);
} }
} }
@ApiOperation(("获取我的认证列表"))
@GetMapping("/auths")
public Response<List<UserAuthDTO>> auths(@CurrentSubject Subject subject){
return Response.success(authenticationService.getAuths(String.valueOf(subject.getId())));
}
} }
...@@ -380,13 +380,6 @@ public class UserApi { ...@@ -380,13 +380,6 @@ public class UserApi {
} }
} }
@ApiOperation(("获取我的认证列表"))
@GetMapping("/auths")
public Response<List<UserAuthDTO>> auths(@CurrentSubject Subject subject){
return Response.success(userService.getAuths(String.valueOf(subject.getId())));
}
} }
...@@ -2,6 +2,10 @@ package cn.meteor.beyondclouds.modules.user.enums; ...@@ -2,6 +2,10 @@ package cn.meteor.beyondclouds.modules.user.enums;
import lombok.Getter; import lombok.Getter;
/**
* @author meteor
*/
@Getter @Getter
public enum AuthType { public enum AuthType {
......
package cn.meteor.beyondclouds.modules.user.service; package cn.meteor.beyondclouds.modules.user.service;
import cn.meteor.beyondclouds.modules.user.dto.AuthenticationResultDTO; import cn.meteor.beyondclouds.modules.user.dto.AuthenticationResultDTO;
import cn.meteor.beyondclouds.modules.user.dto.UserAuthDTO;
import cn.meteor.beyondclouds.modules.user.exception.AuthenticationServiceException; import cn.meteor.beyondclouds.modules.user.exception.AuthenticationServiceException;
import cn.meteor.beyondclouds.modules.user.exception.UserServiceException; import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
import java.util.List;
/** /**
* 认证服务 * 认证服务
* @author meteor * @author meteor
...@@ -32,4 +35,11 @@ public interface IAuthenticationService { ...@@ -32,4 +35,11 @@ public interface IAuthenticationService {
* @return * @return
*/ */
AuthenticationResultDTO smsAuthentication(String mobile, String verifyCode) throws UserServiceException, AuthenticationServiceException; AuthenticationResultDTO smsAuthentication(String mobile, String verifyCode) throws UserServiceException, AuthenticationServiceException;
/**
* 获取我的认证列表
* @param userId
* @return
*/
List<UserAuthDTO> getAuths(String userId);
} }
...@@ -99,10 +99,4 @@ public interface IUserService extends IService<User> { ...@@ -99,10 +99,4 @@ public interface IUserService extends IService<User> {
*/ */
UserInfoDTO getUserInfo(String userId, boolean updateVisited) throws UserServiceException; UserInfoDTO getUserInfo(String userId, boolean updateVisited) throws UserServiceException;
/**
* 获取我的认证列表
* @param userId
* @return
*/
List<UserAuthDTO> getAuths(String userId);
} }
...@@ -8,9 +8,11 @@ import cn.meteor.beyondclouds.core.queue.message.UserActionMessage; ...@@ -8,9 +8,11 @@ import cn.meteor.beyondclouds.core.queue.message.UserActionMessage;
import cn.meteor.beyondclouds.core.redis.RedisKey; import cn.meteor.beyondclouds.core.redis.RedisKey;
import cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService; import cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService;
import cn.meteor.beyondclouds.modules.user.dto.AuthenticationResultDTO; import cn.meteor.beyondclouds.modules.user.dto.AuthenticationResultDTO;
import cn.meteor.beyondclouds.modules.user.dto.UserAuthDTO;
import cn.meteor.beyondclouds.modules.user.entity.UserAuthApp; import cn.meteor.beyondclouds.modules.user.entity.UserAuthApp;
import cn.meteor.beyondclouds.modules.user.entity.UserAuthLocal; import cn.meteor.beyondclouds.modules.user.entity.UserAuthLocal;
import cn.meteor.beyondclouds.modules.user.enums.AuthStatus; import cn.meteor.beyondclouds.modules.user.enums.AuthStatus;
import cn.meteor.beyondclouds.modules.user.enums.AuthType;
import cn.meteor.beyondclouds.modules.user.enums.AuthenticationErrorCode; import cn.meteor.beyondclouds.modules.user.enums.AuthenticationErrorCode;
import cn.meteor.beyondclouds.modules.user.enums.UserErrorCode; import cn.meteor.beyondclouds.modules.user.enums.UserErrorCode;
import cn.meteor.beyondclouds.modules.user.exception.AuthenticationServiceException; import cn.meteor.beyondclouds.modules.user.exception.AuthenticationServiceException;
...@@ -26,7 +28,9 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -26,7 +28,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -174,4 +178,43 @@ public class AuthenticationServiceImpl implements IAuthenticationService { ...@@ -174,4 +178,43 @@ public class AuthenticationServiceImpl implements IAuthenticationService {
messageQueueService.sendUserActionMessage(UserActionMessage.loginMessage(userId)); messageQueueService.sendUserActionMessage(UserActionMessage.loginMessage(userId));
} }
@Override
public List<UserAuthDTO> getAuths(String userId) {
List<UserAuthDTO> auths = new ArrayList<>();
//查询local表里的认证信息
QueryWrapper queryLocalAuths = new QueryWrapper();
queryLocalAuths.eq("user_id", userId);
List<UserAuthLocal> localAuths = userAuthLocalService.list(queryLocalAuths);
for (UserAuthLocal localAuth:localAuths
) {
UserAuthDTO auth = new UserAuthDTO();
auth.setAuthId(localAuth.getUaLocalId());
auth.setAuthType(AuthType.LOCAL.getType());
auth.setAccountType(localAuth.getAccountType());
auth.setAccount(localAuth.getAccount());
auth.setCreateTime(localAuth.getCreateTime());
auth.setUpdateTime(localAuth.getUpdateTime());
auths.add(auth);
}
//查询第三方表里的认证信息
QueryWrapper queryAppAuths = new QueryWrapper();
queryAppAuths.eq("user_id", userId);
List<UserAuthApp> appAuths = userAuthAppService.list(queryAppAuths);
for (UserAuthApp appAuth:appAuths
) {
UserAuthDTO auth = new UserAuthDTO();
auth.setAuthId(appAuth.getUaAppId());
auth.setAuthType(AuthType.APP.getType());
auth.setAccountType(appAuth.getAppType());
auth.setAccount(appAuth.getAppUserId());
auth.setCreateTime(appAuth.getCreateTime());
auth.setUpdateTime(appAuth.getUpdateTime());
auths.add(auth);
}
return auths;
}
} }
...@@ -2,20 +2,28 @@ package cn.meteor.beyondclouds.modules.user.service.impl; ...@@ -2,20 +2,28 @@ package cn.meteor.beyondclouds.modules.user.service.impl;
import cn.meteor.beyondclouds.common.dto.QQAuthResultDTO; import cn.meteor.beyondclouds.common.dto.QQAuthResultDTO;
import cn.meteor.beyondclouds.common.helper.IRedisHelper; import cn.meteor.beyondclouds.common.helper.IRedisHelper;
import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage;
import cn.meteor.beyondclouds.core.queue.message.DataItemType;
import cn.meteor.beyondclouds.core.redis.RedisKey; import cn.meteor.beyondclouds.core.redis.RedisKey;
import cn.meteor.beyondclouds.modules.mail.dto.EmailDTO; import cn.meteor.beyondclouds.modules.mail.dto.EmailDTO;
import cn.meteor.beyondclouds.modules.mail.service.IMailService; import cn.meteor.beyondclouds.modules.mail.service.IMailService;
import cn.meteor.beyondclouds.modules.mail.util.EmailUtils; import cn.meteor.beyondclouds.modules.mail.util.EmailUtils;
import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage;
import cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService; import cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService;
import cn.meteor.beyondclouds.core.queue.message.DataItemType;
import cn.meteor.beyondclouds.modules.user.dto.UserAuthDTO;
import cn.meteor.beyondclouds.modules.user.dto.UserInfoDTO; import cn.meteor.beyondclouds.modules.user.dto.UserInfoDTO;
import cn.meteor.beyondclouds.modules.user.entity.*; import cn.meteor.beyondclouds.modules.user.entity.User;
import cn.meteor.beyondclouds.modules.user.enums.*; import cn.meteor.beyondclouds.modules.user.entity.UserAuthApp;
import cn.meteor.beyondclouds.modules.user.entity.UserAuthLocal;
import cn.meteor.beyondclouds.modules.user.entity.UserStatistics;
import cn.meteor.beyondclouds.modules.user.enums.AccountType;
import cn.meteor.beyondclouds.modules.user.enums.AuthStatus;
import cn.meteor.beyondclouds.modules.user.enums.ThirdPartyAppType;
import cn.meteor.beyondclouds.modules.user.enums.UserErrorCode;
import cn.meteor.beyondclouds.modules.user.exception.UserServiceException; import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
import cn.meteor.beyondclouds.modules.user.mapper.UserMapper; import cn.meteor.beyondclouds.modules.user.mapper.UserMapper;
import cn.meteor.beyondclouds.modules.user.service.*; import cn.meteor.beyondclouds.modules.user.service.IUserAuthAppService;
import cn.meteor.beyondclouds.modules.user.service.IUserAuthLocalService;
import cn.meteor.beyondclouds.modules.user.service.IUserService;
import cn.meteor.beyondclouds.modules.user.service.IUserStatisticsService;
import cn.meteor.beyondclouds.util.Md5Utils; import cn.meteor.beyondclouds.util.Md5Utils;
import cn.meteor.beyondclouds.util.UUIDUtils; import cn.meteor.beyondclouds.util.UUIDUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -29,7 +37,6 @@ import org.springframework.util.Assert; ...@@ -29,7 +37,6 @@ import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -407,44 +414,4 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU ...@@ -407,44 +414,4 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
userInfoDTO.setStatistics(userStatistics); userInfoDTO.setStatistics(userStatistics);
return userInfoDTO; return userInfoDTO;
} }
@Override
public List<UserAuthDTO> getAuths(String userId) {
List<UserAuthDTO> auths = new ArrayList<>();
//查询local表里的认证信息
QueryWrapper queryLocalAuths = new QueryWrapper();
queryLocalAuths.eq("user_id", userId);
List<UserAuthLocal> localAuths = userAuthLocalService.list(queryLocalAuths);
for (UserAuthLocal localAuth:localAuths
) {
UserAuthDTO auth = new UserAuthDTO();
auth.setAuthId(localAuth.getUaLocalId());
auth.setAuthType(AuthType.LOCAL.getType());
auth.setAccountType(localAuth.getAccountType());
auth.setAccount(localAuth.getAccount());
auth.setCreateTime(localAuth.getCreateTime());
auth.setUpdateTime(localAuth.getUpdateTime());
auths.add(auth);
}
//查询第三方表里的认证信息
QueryWrapper queryAppAuths = new QueryWrapper();
queryAppAuths.eq("user_id", userId);
List<UserAuthApp> appAuths = userAuthAppService.list(queryAppAuths);
for (UserAuthApp appAuth:appAuths
) {
UserAuthDTO auth = new UserAuthDTO();
auth.setAuthId(appAuth.getUaAppId());
auth.setAuthType(AuthType.APP.getType());
auth.setAccountType(appAuth.getAppType());
auth.setAccount(appAuth.getAppUserId());
auth.setCreateTime(appAuth.getCreateTime());
auth.setUpdateTime(appAuth.getUpdateTime());
auths.add(auth);
}
return auths;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment