diff --git a/src/main/java/com/bao/dating/controller/UserController.java b/src/main/java/com/bao/dating/controller/UserController.java index 2aae750..5c2f323 100644 --- a/src/main/java/com/bao/dating/controller/UserController.java +++ b/src/main/java/com/bao/dating/controller/UserController.java @@ -2,7 +2,10 @@ package com.bao.dating.controller; import com.bao.dating.common.Result; import com.bao.dating.common.ResultCode; +import com.bao.dating.context.UserContext; import com.bao.dating.pojo.dto.UserLoginDTO; +import com.bao.dating.pojo.entity.User; +import com.bao.dating.pojo.vo.UserInfoVO; import com.bao.dating.pojo.vo.UserLoginVO; import com.bao.dating.service.UserService; import org.springframework.beans.factory.annotation.Autowired; @@ -24,4 +27,11 @@ public class UserController { UserLoginVO userloginVO = userService.userLogin(userLoginDTO); return Result.success(ResultCode.SUCCESS, "登录成功", userloginVO); } + + @GetMapping("/info") + public Result getUserInfo() { + Long userId = UserContext.getUserId(); + UserInfoVO userInfoVO = userService.getUserInfo(userId); + return Result.success(ResultCode.SUCCESS, "获取用户信息成功", userInfoVO); + } } diff --git a/src/main/java/com/bao/dating/mapper/PostMapper.java b/src/main/java/com/bao/dating/mapper/PostMapper.java index 8cd4943..fd30d09 100644 --- a/src/main/java/com/bao/dating/mapper/PostMapper.java +++ b/src/main/java/com/bao/dating/mapper/PostMapper.java @@ -20,7 +20,7 @@ public interface PostMapper { * * @param postIds 动态ID */ - int deletePostByIds(@Param("postIds") List postIds); + int deletePostByIds(List postIds); /** * 根据ID查询动态 @@ -28,7 +28,7 @@ public interface PostMapper { * @param postId * @return */ - Post selectById(@Param("postId") Long postId); + Post selectById(Long postId); /** * 根据ID更新动态 diff --git a/src/main/java/com/bao/dating/mapper/UserMapper.java b/src/main/java/com/bao/dating/mapper/UserMapper.java index 89811e2..1e28552 100644 --- a/src/main/java/com/bao/dating/mapper/UserMapper.java +++ b/src/main/java/com/bao/dating/mapper/UserMapper.java @@ -2,6 +2,7 @@ package com.bao.dating.mapper; import com.bao.dating.pojo.entity.User; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; @Mapper public interface UserMapper { @@ -13,4 +14,12 @@ public interface UserMapper { * @return 用户 */ User getByUsername(String username); + + /** + * 根据用户id查询用户信息 + * + * @param userid 用户id + * @return 用户 + */ + User selectByUserId(Long userid); } diff --git a/src/main/java/com/bao/dating/pojo/vo/UserInfoVO.java b/src/main/java/com/bao/dating/pojo/vo/UserInfoVO.java new file mode 100644 index 0000000..1fcbf05 --- /dev/null +++ b/src/main/java/com/bao/dating/pojo/vo/UserInfoVO.java @@ -0,0 +1,23 @@ +package com.bao.dating.pojo.vo; + +import lombok.Data; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; + +/** + * 用户信息VO + */ +@Data +public class UserInfoVO { + private Long userId; + private String nickname; + private String avatarUrl; + private String backgroundUrl; + private Integer gender; + private LocalDate birthday; + private List hobbies; + private String signature; + private LocalDateTime createdAt; +} diff --git a/src/main/java/com/bao/dating/service/UserService.java b/src/main/java/com/bao/dating/service/UserService.java index 2c14fe4..01f4e41 100644 --- a/src/main/java/com/bao/dating/service/UserService.java +++ b/src/main/java/com/bao/dating/service/UserService.java @@ -1,6 +1,8 @@ package com.bao.dating.service; import com.bao.dating.pojo.dto.UserLoginDTO; +import com.bao.dating.pojo.vo.PostEditVO; +import com.bao.dating.pojo.vo.UserInfoVO; import com.bao.dating.pojo.vo.UserLoginVO; public interface UserService { @@ -10,4 +12,10 @@ public interface UserService { * @return 登录结果 */ UserLoginVO userLogin(UserLoginDTO userLoginDTO); + + /** + * 查询个人信息 + * @param userId 动态ID + */ + UserInfoVO getUserInfo(Long userId); } diff --git a/src/main/java/com/bao/dating/service/impl/PostServiceImpl.java b/src/main/java/com/bao/dating/service/impl/PostServiceImpl.java index bdbd921..c4b323b 100644 --- a/src/main/java/com/bao/dating/service/impl/PostServiceImpl.java +++ b/src/main/java/com/bao/dating/service/impl/PostServiceImpl.java @@ -188,7 +188,7 @@ public class PostServiceImpl implements PostService { * 查询动态详情(用于编辑) * * @param postId 动态ID - * @return + * @return 动态详情 */ @Override public PostEditVO getPostForEdit(Long postId) { @@ -210,7 +210,7 @@ public class PostServiceImpl implements PostService { * 修改动态 * @param postId 动态ID * @param postRequestDTO 修改的动态数据传输对象 - * @return + * @return 修改的动态对象 */ @Override public PostEditVO updatePost(Long postId, PostRequestDTO postRequestDTO) { diff --git a/src/main/java/com/bao/dating/service/impl/UserServiceImpl.java b/src/main/java/com/bao/dating/service/impl/UserServiceImpl.java index 59f77d6..43f854c 100644 --- a/src/main/java/com/bao/dating/service/impl/UserServiceImpl.java +++ b/src/main/java/com/bao/dating/service/impl/UserServiceImpl.java @@ -3,10 +3,12 @@ package com.bao.dating.service.impl; import com.bao.dating.mapper.UserMapper; import com.bao.dating.pojo.dto.UserLoginDTO; import com.bao.dating.pojo.entity.User; +import com.bao.dating.pojo.vo.UserInfoVO; import com.bao.dating.pojo.vo.UserLoginVO; import com.bao.dating.service.UserService; import com.bao.dating.util.JwtUtil; import com.bao.dating.util.MD5Util; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -16,6 +18,11 @@ public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; + /** + * 用户登录 + * @param userLoginDTO + * @return 登录信息 + */ @Override public UserLoginVO userLogin(UserLoginDTO userLoginDTO) { // 参数校验 @@ -45,4 +52,20 @@ public class UserServiceImpl implements UserService { userLoginVO.setToken(token); return userLoginVO; } + + /** + * 获取用户信息 + * @param userId + * @return 用户信息 + */ + @Override + public UserInfoVO getUserInfo(Long userId) { + User user = userMapper.selectByUserId(userId); + if (user == null){ + throw new RuntimeException("用户不存在"); + } + UserInfoVO userInfoVO = new UserInfoVO(); + BeanUtils.copyProperties(user, userInfoVO); + return userInfoVO; + } } diff --git a/src/main/resources/com/bao/dating/mapper/UserMapper.xml b/src/main/resources/com/bao/dating/mapper/UserMapper.xml index f2736cd..6d6343a 100644 --- a/src/main/resources/com/bao/dating/mapper/UserMapper.xml +++ b/src/main/resources/com/bao/dating/mapper/UserMapper.xml @@ -4,8 +4,43 @@ - + SELECT + user_id, + user_name, + password_hash, + salt, + nickname + FROM user WHERE user_name = #{userName} + + + + + + + + + + + + + + + + \ No newline at end of file