2021与蓝度共同重构项目,服务端
liuhaonan
2022-05-18 f03159b37465b246141abaa2fb2f1f725f398278
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
@@ -3,7 +3,7 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.map.MapBuilder;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.servlet.ServletUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.enums.AdminStatusStatus;
@@ -24,10 +24,14 @@
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.service.*;
import com.sandu.ximon.admin.utils.RedisUtils;
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.dao.bo.MenuNode;
import com.sandu.ximon.dao.domain.*;
import com.sandu.ximon.dao.enums.AdministratorEnums;
import com.sandu.ximon.dao.enums.MenuEnum;
import eu.bitwalker.useragentutils.Browser;
import eu.bitwalker.useragentutils.OperatingSystem;
import eu.bitwalker.useragentutils.UserAgent;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -121,6 +125,24 @@
            put("token", properties.getTokenStartWith() + token);
            put("user", admin);
        }};
        /**
         * 登录信息日志记录开始
         */
        UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
        Browser browser = userAgent.getBrowser();
        OperatingSystem os = userAgent.getOperatingSystem();
        String content = "用户ID:" + admin.getId()
                + ",用户名:" + admin.getUsername()
                + ",用户类型:管理员"
                + ",登录IP地址:" + ServletUtil.getClientIP(request)
                + ",操作系统:" + os
                + ",浏览器:" + browser;
        StoreOperationRecordsUtils.storeOperationLoginData(admin.getId(), admin.getUsername(), "管理员登录", content);
        /**
         * 登录信息日志记录结束
         */
        return ResponseUtil.success(authInfo);
    }
@@ -168,6 +190,8 @@
    @GetMapping(value = "/logout")
    public ResponseVO<Object> LogOut() {
        String content = "用户名:" + SecurityUtils.getUsername();
        StoreOperationRecordsUtils.storeOperationData(null, null, "用管理员退出登录", content);
        String key = String.format("%d_%d", SecurityUtils.getUserDetails().getUserId(), SecurityUtils.getUserDetails().getAdministratorType());
        redisService.set(key, null);
        return ResponseUtil.success("退出登录成功");