feat(user): 新增根据用户ID查询用户信息接口
- 新增 FindUserByIdReqDTO 请求参数类 - 新增 FindUserByIdRspDTO 响应结果类 - 在 UserController 中添加 findById 接口 - 在 UserService 中定义 findById 方法 - 在 UserServiceImpl 中实现 findById 逻辑 - 支持根据用户 ID 查询用户昵称和头像信息 - 添加用户不存在时的异常处理逻辑
This commit is contained in:
@@ -5,9 +5,11 @@ import com.hanserwei.framework.common.response.Response;
|
||||
import com.hanserwei.hannote.user.biz.model.vo.UpdateUserInfoReqVO;
|
||||
import com.hanserwei.hannote.user.biz.service.UserService;
|
||||
import com.hanserwei.hannote.user.dto.req.FindUserByEmailReqDTO;
|
||||
import com.hanserwei.hannote.user.dto.req.FindUserByIdReqDTO;
|
||||
import com.hanserwei.hannote.user.dto.req.RegisterUserReqDTO;
|
||||
import com.hanserwei.hannote.user.dto.req.UpdateUserPasswordReqDTO;
|
||||
import com.hanserwei.hannote.user.dto.resp.FindUserByEmailRspDTO;
|
||||
import com.hanserwei.hannote.user.dto.resp.FindUserByIdRspDTO;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.MediaType;
|
||||
@@ -27,7 +29,7 @@ public class UserController {
|
||||
|
||||
/**
|
||||
* 用户信息修改
|
||||
*
|
||||
*
|
||||
* @param updateUserInfoReqVO 修改信息请求
|
||||
* @return 响应
|
||||
*/
|
||||
@@ -55,4 +57,10 @@ public class UserController {
|
||||
return userService.updatePassword(updateUserPasswordReqDTO);
|
||||
}
|
||||
|
||||
@PostMapping("/findById")
|
||||
@ApiOperationLog(description = "查询用户信息")
|
||||
public Response<FindUserByIdRspDTO> findById(@Validated @RequestBody FindUserByIdReqDTO findUserByIdReqDTO) {
|
||||
return userService.findById(findUserByIdReqDTO);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,9 +5,11 @@ import com.hanserwei.framework.common.response.Response;
|
||||
import com.hanserwei.hannote.user.biz.domain.dataobject.UserDO;
|
||||
import com.hanserwei.hannote.user.biz.model.vo.UpdateUserInfoReqVO;
|
||||
import com.hanserwei.hannote.user.dto.req.FindUserByEmailReqDTO;
|
||||
import com.hanserwei.hannote.user.dto.req.FindUserByIdReqDTO;
|
||||
import com.hanserwei.hannote.user.dto.req.RegisterUserReqDTO;
|
||||
import com.hanserwei.hannote.user.dto.req.UpdateUserPasswordReqDTO;
|
||||
import com.hanserwei.hannote.user.dto.resp.FindUserByEmailRspDTO;
|
||||
import com.hanserwei.hannote.user.dto.resp.FindUserByIdRspDTO;
|
||||
|
||||
public interface UserService extends IService<UserDO> {
|
||||
|
||||
@@ -42,4 +44,12 @@ public interface UserService extends IService<UserDO> {
|
||||
* @return 响应结果
|
||||
*/
|
||||
Response<?> updatePassword(UpdateUserPasswordReqDTO updateUserPasswordReqDTO);
|
||||
|
||||
/**
|
||||
* 根据用户 ID 查询用户信息
|
||||
*
|
||||
* @param findUserByIdReqDTO 查询用户信息请求参数
|
||||
* @return 响应结果
|
||||
*/
|
||||
Response<FindUserByIdRspDTO> findById(FindUserByIdReqDTO findUserByIdReqDTO);
|
||||
}
|
||||
@@ -25,9 +25,11 @@ import com.hanserwei.hannote.user.biz.rpc.DistributedIdGeneratorRpcService;
|
||||
import com.hanserwei.hannote.user.biz.rpc.OssRpcService;
|
||||
import com.hanserwei.hannote.user.biz.service.UserService;
|
||||
import com.hanserwei.hannote.user.dto.req.FindUserByEmailReqDTO;
|
||||
import com.hanserwei.hannote.user.dto.req.FindUserByIdReqDTO;
|
||||
import com.hanserwei.hannote.user.dto.req.RegisterUserReqDTO;
|
||||
import com.hanserwei.hannote.user.dto.req.UpdateUserPasswordReqDTO;
|
||||
import com.hanserwei.hannote.user.dto.resp.FindUserByEmailRspDTO;
|
||||
import com.hanserwei.hannote.user.dto.resp.FindUserByIdRspDTO;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -204,7 +206,7 @@ public class UserServiceImpl extends ServiceImpl<UserDOMapper, UserDO> implement
|
||||
public Response<FindUserByEmailRspDTO> findByEmail(FindUserByEmailReqDTO findUserByEmailReqDTO) {
|
||||
String email = findUserByEmailReqDTO.getEmail();
|
||||
UserDO userDO = this.getOne(new QueryWrapper<UserDO>().eq("email", email));
|
||||
if (Objects.isNull(userDO)){
|
||||
if (Objects.isNull(userDO)) {
|
||||
throw new ApiException(ResponseCodeEnum.USER_NOT_FOUND);
|
||||
}
|
||||
// 构建返参
|
||||
@@ -229,5 +231,23 @@ public class UserServiceImpl extends ServiceImpl<UserDOMapper, UserDO> implement
|
||||
// 更新用户密码
|
||||
return updateById(userDO) ? Response.success() : Response.fail();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Response<FindUserByIdRspDTO> findById(FindUserByIdReqDTO findUserByIdReqDTO) {
|
||||
Long userId = findUserByIdReqDTO.getId();
|
||||
UserDO userDO = this.getOne(new QueryWrapper<UserDO>().eq("id", userId));
|
||||
|
||||
// 判空
|
||||
if (Objects.isNull(userDO)) {
|
||||
throw new ApiException(ResponseCodeEnum.USER_NOT_FOUND);
|
||||
}
|
||||
// 构建返参
|
||||
FindUserByIdRspDTO findUserByIdRspDTO = FindUserByIdRspDTO.builder()
|
||||
.id(userDO.getId())
|
||||
.nickName(userDO.getNickname())
|
||||
.avatar(userDO.getAvatar())
|
||||
.build();
|
||||
return Response.success(findUserByIdRspDTO);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user