AdminController.java 1.69 KB
package com.wondertek.controller;


import com.wondertek.entity.Admin;
import com.wondertek.util.ResultBean;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

@Slf4j
@RestController
@RequestMapping("crp/admin")
public class AdminController {

    @Resource
    private Admin admin;

    @PostMapping("/login")
    public ResultBean login(String username, String password, HttpServletRequest request) {
//        Admin admin = new Admin();
        if(admin.getUsername().equals(username) && admin.getPassword().equals(password)) {
            request.getSession().setAttribute("admin", admin.getUsername());
            Map<String, String> tokenMap = new HashMap<>();
            String token = getToken(admin);
            tokenMap.put("token", token);
            request.getSession().setAttribute("token", token);
            return ResultBean.ok(tokenMap);
        }
        return ResultBean.error("用户名或密码错误!");
    }

    @PostMapping("/logout")
    public ResultBean logout(HttpServletRequest request) {
        if(request.getSession().getAttribute("admin") == null) {
            return ResultBean.error("注销失败,当前并没有用户登录!");
        }
        request.getSession().setAttribute("admin", null);
        return ResultBean.ok("注销成功!");
    }

    private String getToken(Admin admin) {
        return UUID.randomUUID().toString();
    }
}