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 6175bbc..dada485 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 @@ -3,6 +3,8 @@ package io.github.xxyopen.novel.controller.front; import io.github.xxyopen.novel.core.common.resp.RestResp; 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.UserLoginReqDto; import io.github.xxyopen.novel.dto.req.UserRegisterReqDto; import io.github.xxyopen.novel.dto.resp.UserLoginRespDto; @@ -10,10 +12,7 @@ import io.github.xxyopen.novel.service.UserService; import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** * 会员模块相关 控制器 @@ -28,6 +27,8 @@ public class UserController { private final UserService userService; + private final JwtUtils jwtUtils; + /** * 用户注册接口 */ @@ -40,9 +41,17 @@ public class UserController { /** * 用户登录接口 */ - @GetMapping("login") + @PostMapping("login") public RestResp login(@Valid UserLoginReqDto dto) { return userService.login(dto); } + /** + * 用户反馈 + */ + @PostMapping("feedBack") + 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/service/UserService.java b/src/main/java/io/github/xxyopen/novel/service/UserService.java index aff38f6..cbf1f5b 100644 --- a/src/main/java/io/github/xxyopen/novel/service/UserService.java +++ b/src/main/java/io/github/xxyopen/novel/service/UserService.java @@ -26,4 +26,12 @@ public interface UserService { * @return JWT + 昵称 * */ RestResp login(UserLoginReqDto dto); + + /** + * 用户反馈 + * @param userId 反馈用户ID + * @param content 反馈内容 + * @return void + * */ + RestResp saveFeedBack(Long userId, String content); } 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 74f7511..dd810a4 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 @@ -7,7 +7,9 @@ import io.github.xxyopen.novel.core.common.resp.RestResp; import io.github.xxyopen.novel.core.constant.DatabaseConsts; import io.github.xxyopen.novel.core.constant.SystemConfigConsts; import io.github.xxyopen.novel.core.util.JwtUtils; +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.UserLoginReqDto; import io.github.xxyopen.novel.dto.req.UserRegisterReqDto; @@ -36,6 +38,8 @@ public class UserServiceImpl implements UserService { private final VerifyCodeManager verifyCodeManager; + private final UserFeedbackMapper userFeedbackMapper; + private final JwtUtils jwtUtils; @Override @@ -95,4 +99,15 @@ public class UserServiceImpl implements UserService { .jwt(jwtUtils.generateToken(userInfo.getId(), SystemConfigConsts.NOVEL_FRONT_KEY)) .nickName(userInfo.getNickName()).build()); } + + @Override + public RestResp saveFeedBack(Long userId, String content) { + UserFeedback userFeedback = new UserFeedback(); + userFeedback.setUserId(userId); + userFeedback.setContent(content); + userFeedback.setCreateTime(LocalDateTime.now()); + userFeedback.setUpdateTime(LocalDateTime.now()); + userFeedbackMapper.insert(userFeedback); + return RestResp.ok(); + } }