Commit dd3658ca by 段启岩

用户基本信息添加统计信息

parent bbced110
...@@ -6,6 +6,7 @@ import cn.meteor.beyondclouds.core.annotation.Anonymous; ...@@ -6,6 +6,7 @@ import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; 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.core.authentication.Subject;
import cn.meteor.beyondclouds.modules.user.dto.UserInfoDTO;
import cn.meteor.beyondclouds.modules.user.entity.User; import cn.meteor.beyondclouds.modules.user.entity.User;
import cn.meteor.beyondclouds.modules.user.entity.UserBlacklist; import cn.meteor.beyondclouds.modules.user.entity.UserBlacklist;
import cn.meteor.beyondclouds.modules.user.entity.UserFollow; import cn.meteor.beyondclouds.modules.user.entity.UserFollow;
...@@ -172,33 +173,30 @@ public class UserApi { ...@@ -172,33 +173,30 @@ public class UserApi {
public Response myBaseInfo(@CurrentSubject Subject subject){ public Response myBaseInfo(@CurrentSubject Subject subject){
// 获取用户信息 // 获取用户信息
User user = userService.getById(subject.getId()); try {
UserInfoDTO userInfoDTO = userService.getUserInfo((String) subject.getId());
UserInfoVO userInfoVO = new UserInfoVO(); // 返回结果
BeanUtils.copyProperties(user, userInfoVO); return Response.success(userInfoDTO);
} catch (UserServiceException e) {
// 返回结果 e.printStackTrace();
return Response.success(userInfoVO); return Response.error(e);
}
} }
@Anonymous @Anonymous
@ApiOperation(("获取他人基本信息")) @ApiOperation(("获取他人基本信息"))
@GetMapping("/user/{userId}/baseinfo") @GetMapping("/user/{userId}/baseinfo")
public Response<UserInfoVO> updateOtherBaseInfo(@PathVariable(name = "userId") String userId ){ public Response<UserInfoDTO> updateOtherBaseInfo(@PathVariable(name = "userId") String userId ){
// 获取用户信息 // 获取用户信息
User user = userService.getById(userId); try {
UserInfoDTO userInfoDTO = userService.getUserInfo(userId);
UserInfoVO userInfoVO = new UserInfoVO(); // 返回结果
BeanUtils.copyProperties(user, userInfoVO); return Response.success(userInfoDTO);
} catch (UserServiceException e) {
// 去掉敏感信息 e.printStackTrace();
userInfoVO.setMobile(null); return Response.error(e);
userInfoVO.setWxNumber(null); }
userInfoVO.setQqNumber(null);
// 返回结果
return Response.success(userInfoVO);
} }
@ApiOperation(("拉黑")) @ApiOperation(("拉黑"))
......
package cn.meteor.beyondclouds.modules.user.dto;
import cn.meteor.beyondclouds.modules.user.entity.UserStatistics;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author meteor
*/
@Data
public class UserInfoDTO {
private String userId;
@ApiModelProperty(value = "用户昵称")
private String nickName;
@ApiModelProperty(value = "用户头像")
private String userAvatar;
@ApiModelProperty(value = "性别")
private Integer gender;
@ApiModelProperty(value = "个性签名")
private String signature;
private UserStatistics statistics;
}
package cn.meteor.beyondclouds.modules.user.service; package cn.meteor.beyondclouds.modules.user.service;
import cn.meteor.beyondclouds.common.dto.QQAuthResultDTO; import cn.meteor.beyondclouds.common.dto.QQAuthResultDTO;
import cn.meteor.beyondclouds.modules.user.dto.UserInfoDTO;
import cn.meteor.beyondclouds.modules.user.entity.User; import cn.meteor.beyondclouds.modules.user.entity.User;
import cn.meteor.beyondclouds.modules.user.entity.UserStatistics; import cn.meteor.beyondclouds.modules.user.entity.UserStatistics;
import cn.meteor.beyondclouds.modules.user.exception.UserServiceException; import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
...@@ -86,4 +87,11 @@ public interface IUserService extends IService<User> { ...@@ -86,4 +87,11 @@ public interface IUserService extends IService<User> {
* @return * @return
*/ */
UserStatistics getStatistics(String userId, boolean viewSelf) throws UserServiceException; UserStatistics getStatistics(String userId, boolean viewSelf) throws UserServiceException;
/**
* 获取用户信息
* @param userId
* @return
*/
UserInfoDTO getUserInfo(String userId) throws UserServiceException;
} }
...@@ -9,6 +9,7 @@ import cn.meteor.beyondclouds.modules.mail.util.EmailUtils; ...@@ -9,6 +9,7 @@ import cn.meteor.beyondclouds.modules.mail.util.EmailUtils;
import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage; 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.core.queue.message.DataItemType;
import cn.meteor.beyondclouds.modules.user.dto.UserInfoDTO;
import cn.meteor.beyondclouds.modules.user.entity.*; import cn.meteor.beyondclouds.modules.user.entity.*;
import cn.meteor.beyondclouds.modules.user.enums.AccountType; import cn.meteor.beyondclouds.modules.user.enums.AccountType;
import cn.meteor.beyondclouds.modules.user.enums.AuthStatus; import cn.meteor.beyondclouds.modules.user.enums.AuthStatus;
...@@ -22,6 +23,7 @@ import cn.meteor.beyondclouds.util.UUIDUtils; ...@@ -22,6 +23,7 @@ import cn.meteor.beyondclouds.util.UUIDUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -382,4 +384,19 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU ...@@ -382,4 +384,19 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
return userStatistics; return userStatistics;
} }
@Override
public UserInfoDTO getUserInfo(String userId) throws UserServiceException {
User user = getById(userId);
if (null == user) {
throw new UserServiceException(UserErrorCode.USER_NOT_EXISTS);
}
UserStatistics userStatistics = userStatisticsService.getById(userId);
UserInfoDTO userInfoDTO = new UserInfoDTO();
BeanUtils.copyProperties(user, userInfoDTO);
userInfoDTO.setStatistics(userStatistics);
return userInfoDTO;
}
} }
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