package com.example.demo.controller.coin; import com.example.demo.Util.JWTUtil; import com.example.demo.domain.entity.Admin; import com.example.demo.domain.vo.coin.Password; import com.example.demo.domain.vo.coin.Result; import com.example.demo.mapper.coin.AdminMapper; import com.example.demo.service.coin.AdminService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.web.bind.annotation.*; /** * @program: GOLD * @ClassName AdminController * @description: * @author: huangqizhen * @create: 2025−07-01 10:39 * @Version 1.0 **/ @RestController @RequestMapping("/admin") @RequiredArgsConstructor @Slf4j @CrossOrigin public class AdminController { @Autowired private AdminService adminService; @Autowired private AdminMapper adminMapper; @PostMapping("/test") public void testGetAdmin() { Admin admin = adminMapper.getAdmin("14518"); System.out.println(admin.getMarkets()); // 应该输出 "马来西亚,新加坡,美国" } @PostMapping("/login") public Result login(@RequestBody Admin admin) { try { admin = adminService.login(admin); String token = JWTUtil.createJWT(admin); // System.out.println(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(@RequestHeader("token") String token1) { //String token = token1.getToken(); String token = token1; try { return JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class); } catch (Exception e) { throw new RuntimeException(e); } } //获取管理员ID @PostMapping("/adminId") public Result selectId(@RequestBody Admin admin) { try { String ID = adminService.getId(admin.getAccount()); return Result.success(ID); } catch (Exception e) { log.error(e.getMessage()); return Result.error(e.getMessage()); } } //更新用户密码 @PostMapping("/password") public Result updatePassword(@RequestBody Password password){ try { return adminService.updatePassword(password); } catch (Exception e) { return Result.error("服务器波动,请稍作等待"); } } //更新用户密码 @PostMapping("/reset") public Result resetPassword(@RequestBody Password password){ try { return adminService.resetPassword(password); } catch (Exception e) { return Result.error("重置失败"); } } }