| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package com.haha.admin.controller;
- import cn.dev33.satoken.annotation.SaIgnore;
- import cn.dev33.satoken.stp.StpUtil;
- import com.haha.admin.dto.AdminLoginDTO;
- import com.haha.admin.service.AdminLoginService;
- import com.haha.common.vo.LoginVO;
- import com.haha.common.vo.Result;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.util.Map;
- /**
- * 管理员登录控制器
- */
- @Slf4j
- @RestController
- @RequestMapping("/login")
- public class AdminLoginController {
-
- @Autowired
- private AdminLoginService adminLoginService;
-
- /**
- * 管理员登录
- * @param loginDTO 登录请求参数
- * @return 登录结果,包含token和用户信息
- */
- @SaIgnore
- @PostMapping
- public Result<LoginVO> login(@RequestBody AdminLoginDTO loginDTO) {
- log.info("收到登录请求: username={}", loginDTO.getUsername());
- return adminLoginService.login(loginDTO.getUsername(), loginDTO.getPassword());
- }
-
- /**
- * 退出登录
- * @return 退出结果
- */
- @PostMapping("/logout")
- public Result<Void> logout() {
- try {
- Object loginId = StpUtil.getLoginId();
- log.info("管理员退出登录: userId={}", loginId);
- StpUtil.logout();
- return Result.success("退出登录成功", null);
- } catch (Exception e) {
- log.error("退出登录异常: {}", e.getMessage(), e);
- return Result.error(500, "退出登录失败: " + e.getMessage());
- }
- }
-
- /**
- * 获取当前登录管理员信息
- * @return 管理员信息
- */
- @GetMapping("/info")
- public Result<Map<String, Object>> getInfo() {
- try {
- Object loginId = StpUtil.getLoginId();
- log.debug("获取管理员信息: userId={}", loginId);
- return adminLoginService.getAdminInfo(loginId.toString());
- } catch (Exception e) {
- log.error("获取管理员信息异常: {}", e.getMessage(), e);
- return Result.error(500, "获取信息失败: " + e.getMessage());
- }
- }
- }
|