79 lines
2.7 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.Page;
  6. import com.example.demo.domain.vo.Result;
  7. import com.example.demo.sevice.AdminService;
  8. import com.fasterxml.jackson.core.JsonProcessingException;
  9. import com.fasterxml.jackson.databind.ObjectMapper;
  10. import lombok.RequiredArgsConstructor;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.springframework.security.core.userdetails.UserDetails;
  13. import org.springframework.util.ObjectUtils;
  14. import org.springframework.web.bind.annotation.*;
  15. @RestController
  16. @RequestMapping("/admin")
  17. @RequiredArgsConstructor
  18. @Slf4j
  19. @CrossOrigin
  20. public class AdminController {
  21. private final AdminService adminService;
  22. @PostMapping("/search")
  23. public Result search(@RequestBody Page page){
  24. if(ObjectUtils.isEmpty(page.getPageNum())){
  25. return Result.success(adminService.search(page.getAdmin()));
  26. }
  27. else {
  28. return Result.success(adminService.searchForPage(page.getPageNum(), page.getPageSize(), page.getAdmin()));
  29. }
  30. }
  31. @PostMapping("/login")
  32. public Result login(@RequestBody Admin admin){
  33. if(ObjectUtils.isEmpty(admin)){
  34. System.out.println("他是空");
  35. }
  36. try {
  37. System.out.println(admin+"*-*-*-*-*-*-*-*-*-*-1");
  38. admin = adminService.login(admin);
  39. System.out.println(admin+"*-*-*-*-*-*-*-*-*-*-");
  40. String token = JWTUtil.createJWT(admin);
  41. System.out.println(token+"token----------------------------------------");
  42. admin.setPassword(null);
  43. return Result.success(token,admin);
  44. } catch (Exception e) {
  45. e.printStackTrace();
  46. log.error(e.getMessage());
  47. return Result.error(e.getMessage());
  48. }
  49. }
  50. @PostMapping("/userinfo")
  51. public UserDetails getUserInfo(@RequestBody String requestBody) {
  52. ObjectMapper objectMapper = new ObjectMapper();
  53. TokenPayload token1;
  54. try {
  55. token1 = objectMapper.readValue(requestBody, TokenPayload.class);
  56. } catch (JsonProcessingException e) {
  57. throw new RuntimeException(e);
  58. }
  59. String token = token1.getToken();
  60. System.out.println("1/*/*/*/*//*-*-*-*-*-*-1" +token);
  61. try {
  62. System.out.println("/+/+/+/+/+/+/+//" + JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class));
  63. return JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
  64. } catch (Exception e) {
  65. throw new RuntimeException(e);
  66. }
  67. }
  68. }