From ae22a1db5308d6d7f5df7a66d273f3a5cf5e72a5 Mon Sep 17 00:00:00 2001 From: DC_DC Date: Tue, 23 Apr 2024 20:12:25 +0800 Subject: [PATCH] =?UTF-8?q?feat-=E5=AE=8C=E6=88=90=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=EF=BC=8C=E6=8E=A5=E4=B8=8B=E6=9D=A5=E5=87=86?= =?UTF-8?q?=E5=A4=87=E6=AD=A3=E5=BC=8F=E5=BC=80=E5=A7=8B=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 5 +++++ .../cn/dcsy/stsy/aspect/LoggingAspect.java | 2 +- .../stsy/controllers/BasicController.java | 21 +++++++++++++++---- .../dcsy/stsy/models/voData/BasicLoginVO.java | 18 ++++++++++++++++ .../cn/dcsy/stsy/service/UserService.java | 4 +++- .../stsy/service/impl/UserServiceImpl.java | 8 ++++--- 6 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 src/main/java/cn/dcsy/stsy/models/voData/BasicLoginVO.java diff --git a/pom.xml b/pom.xml index f4a6c7d..0b53d37 100644 --- a/pom.xml +++ b/pom.xml @@ -51,6 +51,11 @@ 24.1.0 compile + + jakarta.validation + jakarta.validation-api + 3.0.2 + diff --git a/src/main/java/cn/dcsy/stsy/aspect/LoggingAspect.java b/src/main/java/cn/dcsy/stsy/aspect/LoggingAspect.java index cb0b856..e3fd8f7 100644 --- a/src/main/java/cn/dcsy/stsy/aspect/LoggingAspect.java +++ b/src/main/java/cn/dcsy/stsy/aspect/LoggingAspect.java @@ -25,6 +25,6 @@ public class LoggingAspect { Object targetObject = joinPoint.getTarget(); Class targetClass = targetObject.getClass(); - log.info("[CONTROL] 获取 {} 类的 {} 方法", targetClass.getName(), methodName); + log.info("[CONTROLLER] 获取 {} 类的 {} 方法", targetClass.getName(), methodName); } } diff --git a/src/main/java/cn/dcsy/stsy/controllers/BasicController.java b/src/main/java/cn/dcsy/stsy/controllers/BasicController.java index 34ca68e..e328f5b 100644 --- a/src/main/java/cn/dcsy/stsy/controllers/BasicController.java +++ b/src/main/java/cn/dcsy/stsy/controllers/BasicController.java @@ -1,11 +1,17 @@ package cn.dcsy.stsy.controllers; +import cn.dcsy.stsy.models.voData.BasicLoginVO; import cn.dcsy.stsy.service.UserService; import cn.dcsy.stsy.utils.BaseResponse; +import cn.dcsy.stsy.utils.ErrorCode; import cn.dcsy.stsy.utils.ResultUtil; +import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.jetbrains.annotations.NotNull; import org.springframework.http.ResponseEntity; +import org.springframework.validation.BindingResult; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** @@ -31,13 +37,20 @@ public class BasicController { return ResultUtil.success("访问成功"); } - /* + /** * 用户登录 * */ @PostMapping("/login") - public ResponseEntity login(@RequestParam String username, @RequestParam String password) { - log.info("尝试登录 用户名: {}", username); - return userService.login(username, password); + public ResponseEntity login( + @RequestBody @Validated BasicLoginVO basicLoginVO, + @NotNull BindingResult bindingResult, + HttpServletRequest request + ) { + log.info("\t尝试登录 用户名: {}", basicLoginVO.getUsername()); + if (bindingResult.hasErrors()) { + return ResultUtil.error("RequestBodyError", ErrorCode.REQUEST_BODY_ERROR, bindingResult.getAllErrors()); + } + return userService.login(request, basicLoginVO); } @GetMapping("/user/{userId}") diff --git a/src/main/java/cn/dcsy/stsy/models/voData/BasicLoginVO.java b/src/main/java/cn/dcsy/stsy/models/voData/BasicLoginVO.java new file mode 100644 index 0000000..6fca81b --- /dev/null +++ b/src/main/java/cn/dcsy/stsy/models/voData/BasicLoginVO.java @@ -0,0 +1,18 @@ +package cn.dcsy.stsy.models.voData; + +import jakarta.validation.constraints.NotBlank; +import lombok.Getter; +import lombok.Setter; + +/** + * @author DC_DC + * Date: 2024/4/23/19:50 + */ +@Getter +@Setter +public class BasicLoginVO { + @NotBlank(message = "用户名不能为空") + private String username; + @NotBlank(message = "用户名不能为空") + private String password; +} diff --git a/src/main/java/cn/dcsy/stsy/service/UserService.java b/src/main/java/cn/dcsy/stsy/service/UserService.java index c887c70..1977cdb 100644 --- a/src/main/java/cn/dcsy/stsy/service/UserService.java +++ b/src/main/java/cn/dcsy/stsy/service/UserService.java @@ -1,6 +1,8 @@ package cn.dcsy.stsy.service; +import cn.dcsy.stsy.models.voData.BasicLoginVO; import cn.dcsy.stsy.utils.BaseResponse; +import jakarta.servlet.http.HttpServletRequest; import org.springframework.http.ResponseEntity; /** @@ -8,7 +10,7 @@ import org.springframework.http.ResponseEntity; * Date: 2024/4/16/21:51 */ public interface UserService { - ResponseEntity login(String username, String password); + ResponseEntity login(HttpServletRequest request, BasicLoginVO basicLoginVO); ResponseEntity getUserInfo(String userId); } diff --git a/src/main/java/cn/dcsy/stsy/service/impl/UserServiceImpl.java b/src/main/java/cn/dcsy/stsy/service/impl/UserServiceImpl.java index c79d8ec..ecda178 100644 --- a/src/main/java/cn/dcsy/stsy/service/impl/UserServiceImpl.java +++ b/src/main/java/cn/dcsy/stsy/service/impl/UserServiceImpl.java @@ -2,8 +2,10 @@ package cn.dcsy.stsy.service.impl; import cn.dcsy.stsy.dao.UserDAO; import cn.dcsy.stsy.models.doData.UserDemoDO; +import cn.dcsy.stsy.models.voData.BasicLoginVO; import cn.dcsy.stsy.service.UserService; import cn.dcsy.stsy.utils.BaseResponse; +import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; @@ -20,11 +22,11 @@ public class UserServiceImpl implements UserService { private final UserDAO userDAO; @Override - public ResponseEntity login(String username, String password) { - UserDemoDO userDemoDO = userDAO.getPasswordByUserName(username); + public ResponseEntity login(HttpServletRequest request, BasicLoginVO basicLoginVO) { + UserDemoDO userDemoDO = userDAO.getPasswordByUserName(basicLoginVO.getUsername()); if (userDemoDO != null){ log.info(userDemoDO.toString()); - if (userDemoDO.getPassword().equals(password)){ + if (userDemoDO.getPassword().equals(basicLoginVO.getPassword())){ BaseResponse response = new BaseResponse("登录成功", 200, "Success", userDemoDO); return ResponseEntity.ok(response); } else {