diff --git a/src/main/java/io/github/xxyopen/novel/controller/front/UserController.java b/src/main/java/io/github/xxyopen/novel/controller/front/UserController.java index dada485..6b78762 100644 --- a/src/main/java/io/github/xxyopen/novel/controller/front/UserController.java +++ b/src/main/java/io/github/xxyopen/novel/controller/front/UserController.java @@ -5,6 +5,7 @@ import io.github.xxyopen.novel.core.common.util.IpUtils; import io.github.xxyopen.novel.core.constant.ApiRouterConsts; import io.github.xxyopen.novel.core.constant.SystemConfigConsts; import io.github.xxyopen.novel.core.util.JwtUtils; +import io.github.xxyopen.novel.dto.req.UserInfoUptReqDto; import io.github.xxyopen.novel.dto.req.UserLoginReqDto; import io.github.xxyopen.novel.dto.req.UserRegisterReqDto; import io.github.xxyopen.novel.dto.resp.UserLoginRespDto; @@ -33,7 +34,7 @@ public class UserController { * 用户注册接口 */ @PostMapping("register") - public RestResp register(@Valid UserRegisterReqDto dto, HttpServletRequest request) { + public RestResp register(@Valid UserRegisterReqDto dto, HttpServletRequest request) { dto.setUserKey(IpUtils.getRealIp(request)); return userService.register(dto); } @@ -42,16 +43,26 @@ public class UserController { * 用户登录接口 */ @PostMapping("login") - public RestResp login(@Valid UserLoginReqDto dto) { + public RestResp login(@Valid UserLoginReqDto dto) { return userService.login(dto); } + + /** + * 用户信息修改接口 + */ + @PutMapping + public RestResp updateUserInfo(@Valid UserInfoUptReqDto dto, @RequestHeader("Authorization") String token) { + dto.setUserId(jwtUtils.parseToken(token, SystemConfigConsts.NOVEL_FRONT_KEY)); + return userService.updateUserInfo(dto); + } + /** * 用户反馈 */ @PostMapping("feedBack") - public RestResp submitFeedBack(String content,@RequestHeader("Authorization") String token) { - return userService.saveFeedBack(jwtUtils.parseToken(token, SystemConfigConsts.NOVEL_FRONT_KEY),content); + public RestResp submitFeedBack(String content, @RequestHeader("Authorization") String token) { + return userService.saveFeedBack(jwtUtils.parseToken(token, SystemConfigConsts.NOVEL_FRONT_KEY), content); } } diff --git a/src/main/java/io/github/xxyopen/novel/dto/req/UserInfoUptReqDto.java b/src/main/java/io/github/xxyopen/novel/dto/req/UserInfoUptReqDto.java new file mode 100644 index 0000000..95753b6 --- /dev/null +++ b/src/main/java/io/github/xxyopen/novel/dto/req/UserInfoUptReqDto.java @@ -0,0 +1,29 @@ +package io.github.xxyopen.novel.dto.req; + +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.Pattern; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 用户信息更新 请求DTO + * @author xiongxiaoyang + * @date 2022/5/17 + */ +@Data +public class UserInfoUptReqDto { + + private Long userId; + + @Length(min = 2,max = 10) + private String nickName; + + @Pattern(regexp="^/[^\s]{10,}\\.(png|jpg|jpeg|gif|bpm)$") + private String userPhoto; + + @Min(value = 0) + @Max(value = 1) + private Integer userSex; + +} diff --git a/src/main/java/io/github/xxyopen/novel/service/UserService.java b/src/main/java/io/github/xxyopen/novel/service/UserService.java index cbf1f5b..c3e0b86 100644 --- a/src/main/java/io/github/xxyopen/novel/service/UserService.java +++ b/src/main/java/io/github/xxyopen/novel/service/UserService.java @@ -1,6 +1,7 @@ package io.github.xxyopen.novel.service; import io.github.xxyopen.novel.core.common.resp.RestResp; +import io.github.xxyopen.novel.dto.req.UserInfoUptReqDto; import io.github.xxyopen.novel.dto.req.UserLoginReqDto; import io.github.xxyopen.novel.dto.req.UserRegisterReqDto; import io.github.xxyopen.novel.dto.resp.UserLoginRespDto; @@ -34,4 +35,11 @@ public interface UserService { * @return void * */ RestResp saveFeedBack(Long userId, String content); + + /** + * 用户信息修改 + * @param dto 用户信息 + * @return void + * */ + RestResp updateUserInfo(UserInfoUptReqDto dto); } diff --git a/src/main/java/io/github/xxyopen/novel/service/impl/UserServiceImpl.java b/src/main/java/io/github/xxyopen/novel/service/impl/UserServiceImpl.java index dd810a4..92cab2f 100644 --- a/src/main/java/io/github/xxyopen/novel/service/impl/UserServiceImpl.java +++ b/src/main/java/io/github/xxyopen/novel/service/impl/UserServiceImpl.java @@ -11,6 +11,7 @@ import io.github.xxyopen.novel.dao.entity.UserFeedback; import io.github.xxyopen.novel.dao.entity.UserInfo; import io.github.xxyopen.novel.dao.mapper.UserFeedbackMapper; import io.github.xxyopen.novel.dao.mapper.UserInfoMapper; +import io.github.xxyopen.novel.dto.req.UserInfoUptReqDto; import io.github.xxyopen.novel.dto.req.UserLoginReqDto; import io.github.xxyopen.novel.dto.req.UserRegisterReqDto; import io.github.xxyopen.novel.dto.resp.UserLoginRespDto; @@ -110,4 +111,15 @@ public class UserServiceImpl implements UserService { userFeedbackMapper.insert(userFeedback); return RestResp.ok(); } + + @Override + public RestResp updateUserInfo(UserInfoUptReqDto dto) { + UserInfo userInfo = new UserInfo(); + userInfo.setId(dto.getUserId()); + userInfo.setNickName(dto.getNickName()); + userInfo.setUserPhoto(dto.getUserPhoto()); + userInfo.setUserSex(dto.getUserSex()); + userInfoMapper.updateById(userInfo); + return RestResp.ok(); + } }