package com.example.demo.controller; import com.example.demo.Util.JWTUtil; import com.example.demo.Util.TokenPayload; import com.example.demo.domain.entity.Admin; import com.example.demo.domain.vo.Page; import com.example.demo.domain.vo.Result; import com.example.demo.sevice.AdminService; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/admin") @RequiredArgsConstructor @Slf4j @CrossOrigin public class AdminController { private final AdminService adminService; @PostMapping("/search") public Result search(@RequestBody Page page){ if(ObjectUtils.isEmpty(page.getPageNum())){ return Result.success(adminService.search(page.getAdmin())); } else { return Result.success(adminService.searchForPage(page.getPageNum(), page.getPageSize(), page.getAdmin())); } } @PostMapping("/login") public Result login(@RequestBody Admin admin){ if(ObjectUtils.isEmpty(admin)){ System.out.println("他是空"); } try { System.out.println(admin+"*-*-*-*-*-*-*-*-*-*-1"); admin = adminService.login(admin); System.out.println(admin+"*-*-*-*-*-*-*-*-*-*-"); String token = JWTUtil.createJWT(admin); System.out.println(token+"token----------------------------------------"); admin.setPassword(null); return Result.success(token,admin); } catch (Exception e) { e.printStackTrace(); log.error(e.getMessage()); return Result.error(e.getMessage()); } } @PostMapping("/userinfo") public UserDetails getUserInfo(@RequestBody String requestBody) { ObjectMapper objectMapper = new ObjectMapper(); TokenPayload token1; try { token1 = objectMapper.readValue(requestBody, TokenPayload.class); } catch (JsonProcessingException e) { throw new RuntimeException(e); } String token = token1.getToken(); System.out.println("1/*/*/*/*//*-*-*-*-*-*-1" +token); try { System.out.println("/+/+/+/+/+/+/+//" + JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class)); return JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class); } catch (Exception e) { throw new RuntimeException(e); } } }