From 29ec339e8faef413832685837d353a0a6574712c Mon Sep 17 00:00:00 2001 From: wangsiyuan <2392948297@qq.com> Date: Thu, 18 Jan 2024 21:20:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20UserController.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../finalhw/controller/UserController.java | 49 +++++++++++++++++-- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gao/finalhw/controller/UserController.java b/src/main/java/com/gao/finalhw/controller/UserController.java index f01bda1..7ac72a8 100644 --- a/src/main/java/com/gao/finalhw/controller/UserController.java +++ b/src/main/java/com/gao/finalhw/controller/UserController.java @@ -1,12 +1,17 @@ package com.gao.finalhw.controller; +import com.gao.finalhw.model.PasswordData; import com.gao.finalhw.model.User; import com.gao.finalhw.pojo.LoginRequest; import com.gao.finalhw.response.ServerResponseEntity; import com.gao.finalhw.service.UserService; +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpSession; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -16,19 +21,55 @@ public class UserController { private final Logger logger = LoggerFactory.getLogger(UserController.class); @Autowired private UserService userService; + @PostMapping("/login") - public ServerResponseEntity login(@RequestBody LoginRequest loginRequest) { - logger.info("username: {},password: {}",loginRequest.getUsername(),loginRequest.getPassword()); + public ServerResponseEntity login(@RequestBody LoginRequest loginRequest, HttpSession session, HttpServletResponse response) { + logger.info("username: {},password: {}", loginRequest.getUsername(), loginRequest.getPassword()); User user = userService.getUserByUsernameAndPassword(loginRequest.getUsername(), loginRequest.getPassword()); - logger.info("user: {}",user.toString()); if (user != null) { + logger.info("user: {}", user); // 隐藏密码 user.setPassword("null"); + Cookie cookie = new Cookie("user_id", String.valueOf(user.getUserId())); + response.addCookie(cookie); + session.setAttribute("user", user); // 如果验证成功 - return ServerResponseEntity.success("1", user); + return ServerResponseEntity.success(0, user); } else { // 如果验证失败 return ServerResponseEntity.fail("username or password error."); } } + + @PostMapping("/register") + public ServerResponseEntity register(@RequestBody User user) { + if (userService.register(user)) { + return ServerResponseEntity.success(true); + } + return ServerResponseEntity.fail("register fail"); + } + + @PostMapping("/user/update") + public ServerResponseEntity updatePassword(@RequestBody PasswordData passwordData) { + if(passwordData != null){ + boolean isSuccess = userService.updateUserPasswordByUserId(passwordData); + if (isSuccess) { + return ServerResponseEntity.success(true); + } + return ServerResponseEntity.fail("update password fail"); + } + return ServerResponseEntity.fail("data error"); + } + + @GetMapping("/logout") + public ServerResponseEntity logout(HttpSession session) { + try { + session.removeAttribute("user"); + return ServerResponseEntity.success(true); + + } catch (Exception e) { + logger.error("server error", e); + return ServerResponseEntity.fail("server error"); + } + } }