Commit dd3658ca by 段启岩

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

parent bbced110
......@@ -6,6 +6,7 @@ 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.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.UserBlacklist;
import cn.meteor.beyondclouds.modules.user.entity.UserFollow;
......@@ -172,33 +173,30 @@ public class UserApi {
public Response myBaseInfo(@CurrentSubject Subject subject){
// 获取用户信息
User user = userService.getById(subject.getId());
UserInfoVO userInfoVO = new UserInfoVO();
BeanUtils.copyProperties(user, userInfoVO);
try {
UserInfoDTO userInfoDTO = userService.getUserInfo((String) subject.getId());
// 返回结果
return Response.success(userInfoVO);
return Response.success(userInfoDTO);
} catch (UserServiceException e) {
e.printStackTrace();
return Response.error(e);
}
}
@Anonymous
@ApiOperation(("获取他人基本信息"))
@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);
UserInfoVO userInfoVO = new UserInfoVO();
BeanUtils.copyProperties(user, userInfoVO);
// 去掉敏感信息
userInfoVO.setMobile(null);
userInfoVO.setWxNumber(null);
userInfoVO.setQqNumber(null);
try {
UserInfoDTO userInfoDTO = userService.getUserInfo(userId);
// 返回结果
return Response.success(userInfoVO);
return Response.success(userInfoDTO);
} catch (UserServiceException e) {
e.printStackTrace();
return Response.error(e);
}
}
@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;
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.UserStatistics;
import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
......@@ -86,4 +87,11 @@ public interface IUserService extends IService<User> {
* @return
*/
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;
import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage;
import cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService;
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.enums.AccountType;
import cn.meteor.beyondclouds.modules.user.enums.AuthStatus;
......@@ -22,6 +23,7 @@ import cn.meteor.beyondclouds.util.UUIDUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -382,4 +384,19 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
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