LoginController.java 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package ai.java.back.controller;
  2. import ai.java.back.model.LoginRequest;
  3. import ai.java.back.model.RegisterRequest;
  4. import ai.java.back.model.LoginResponseModel;
  5. import ai.java.back.service.LoginService;
  6. import ai.java.back.util.JwtUtil;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.http.ResponseEntity;
  9. import org.springframework.web.bind.annotation.*;
  10. @RestController
  11. @RequestMapping("/v1/auth")
  12. public class LoginController {
  13. @Autowired
  14. private LoginService loginService;
  15. @PostMapping("/login")
  16. public ResponseEntity<LoginResponseModel> login(@RequestBody LoginRequest loginRequest) {
  17. boolean success = loginService.login(loginRequest.getUsername(), loginRequest.getPassword(), loginRequest.getIp());
  18. if (success) {
  19. String token = JwtUtil.generateToken(loginRequest.getUsername());
  20. return ResponseEntity.ok(new LoginResponseModel("登录成功" , 200, token));
  21. } else {
  22. return ResponseEntity.status(401).body(new LoginResponseModel("用户名或密码错误", 401, null));
  23. }
  24. }
  25. @PostMapping("/register")
  26. public ResponseEntity<LoginResponseModel> register(@RequestBody RegisterRequest registerRequest) {
  27. boolean success = loginService.registerUser(registerRequest.getUsername(), registerRequest.getPassword(), registerRequest.getPhone());
  28. if (success) {
  29. return ResponseEntity.ok(new LoginResponseModel("注册成功", 200, null));
  30. } else {
  31. return ResponseEntity.status(400).body(new LoginResponseModel("用户名已存在", 400,null));
  32. }
  33. }
  34. }