You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
2.2 KiB

  1. package com.example.demo.controller;
  2. import com.example.demo.Util.JWTUtil;
  3. import com.example.demo.Util.TokenPayload;
  4. import com.example.demo.domain.entity.Admin;
  5. import com.example.demo.domain.vo.Result;
  6. import com.example.demo.service.AdminService;
  7. import com.fasterxml.jackson.core.JsonProcessingException;
  8. import com.fasterxml.jackson.databind.ObjectMapper;
  9. import lombok.RequiredArgsConstructor;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.security.core.userdetails.UserDetails;
  13. import org.springframework.web.bind.annotation.*;
  14. /**
  15. * @program: GOLD
  16. * @ClassName AdminController
  17. * @description:
  18. * @author: huangqizhen
  19. * @create: 202507-01 10:39
  20. * @Version 1.0
  21. **/
  22. @RestController
  23. @RequestMapping("/admin")
  24. @RequiredArgsConstructor
  25. @Slf4j
  26. @CrossOrigin
  27. public class AdminController {
  28. @Autowired
  29. private AdminService adminService;
  30. @PostMapping("/login")
  31. public Result login(@RequestBody Admin admin) {
  32. try {
  33. admin = adminService.login(admin);
  34. String token = JWTUtil.createJWT(admin);
  35. System.out.println( token);
  36. admin.setPassword(null);
  37. return Result.success(token,admin);
  38. } catch (Exception e) {
  39. e.printStackTrace();
  40. log.error(e.getMessage());
  41. return Result.error(e.getMessage());
  42. }
  43. }
  44. @PostMapping("/userinfo")
  45. public UserDetails getUserInfo(@RequestBody String requestBody) {
  46. ObjectMapper objectMapper = new ObjectMapper();
  47. TokenPayload token1;
  48. try {
  49. token1 = objectMapper.readValue(requestBody, TokenPayload.class);
  50. } catch (JsonProcessingException e) {
  51. throw new RuntimeException(e);
  52. }
  53. String token = token1.getToken();
  54. System.out.println("1/*/*/*/*//*-*-*-*-*-*-1" +token);
  55. try {
  56. System.out.println("/+/+/+/+/+/+/+//" + JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class));
  57. return JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
  58. } catch (Exception e) {
  59. throw new RuntimeException(e);
  60. }
  61. }
  62. }