AccountController.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package com.example.hotel.controller.user;
  2. import com.example.hotel.blImpl.user.AccountServiceImpl;
  3. import com.example.hotel.config.InterceptorConfiguration;
  4. import com.example.hotel.vo.UserForm;
  5. import com.example.hotel.vo.ResponseVO;
  6. import com.example.hotel.vo.UserVO;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.web.bind.annotation.PostMapping;
  9. import org.springframework.web.bind.annotation.RequestBody;
  10. import org.springframework.web.bind.annotation.RestController;
  11. import javax.servlet.http.HttpSession;
  12. @RestController()
  13. public class AccountController {
  14. private final static String ACCOUNT_INFO_ERROR="用户名或密码错误";
  15. @Autowired
  16. private AccountServiceImpl accountService;
  17. @PostMapping("/login")
  18. public ResponseVO login(@RequestBody UserForm userForm, HttpSession session){
  19. UserVO user = accountService.login(userForm);
  20. if(user==null){
  21. return ResponseVO.buildFailure(ACCOUNT_INFO_ERROR);
  22. }
  23. //注册session
  24. session.setAttribute(InterceptorConfiguration.SESSION_KEY,userForm);
  25. return ResponseVO.buildSuccess(user);
  26. }
  27. @PostMapping("/register")
  28. public ResponseVO registerAccount(@RequestBody UserForm userForm){
  29. return accountService.registerAccount(userForm);
  30. }
  31. @PostMapping("/logout")
  32. public String logOut(HttpSession session){
  33. session.removeAttribute(InterceptorConfiguration.SESSION_KEY);
  34. return "index";
  35. }
  36. }