This commit is contained in:
caozehui
2025-02-24 10:00:58 +08:00
parent 913a86dcc7
commit 758b2a9033
2 changed files with 8 additions and 19 deletions

View File

@@ -2,14 +2,9 @@ package com.njcn.gather.system.log.aop;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson.JSONObject;
import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.njcn.common.bean.CustomCacheUtil;
import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.SecurityConstants;
import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.utils.JwtUtil;
import com.njcn.db.mybatisplus.constant.UserConstant; import com.njcn.db.mybatisplus.constant.UserConstant;
import com.njcn.gather.system.log.pojo.enums.LogLevelEnum; import com.njcn.gather.system.log.pojo.enums.LogLevelEnum;
import com.njcn.gather.system.log.pojo.enums.LogOperationTypeEnum; import com.njcn.gather.system.log.pojo.enums.LogOperationTypeEnum;
@@ -19,9 +14,9 @@ import com.njcn.gather.system.log.service.ISysLogAuditService;
import com.njcn.gather.user.user.pojo.po.SysUser; import com.njcn.gather.user.user.pojo.po.SysUser;
import com.njcn.gather.user.user.service.ISysUserService; import com.njcn.gather.user.user.service.ISysUserService;
import com.njcn.web.utils.HttpServletUtil; import com.njcn.web.utils.HttpServletUtil;
import com.njcn.web.utils.RequestUtil;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.logging.log4j.util.Strings;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Aspect;
@@ -35,7 +30,6 @@ import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Map;
import java.util.concurrent.*; import java.util.concurrent.*;
/** /**
@@ -61,14 +55,10 @@ public class LogAdvice implements ApplicationListener<ContextRefreshedEvent> {
@Around("logPointcut()") @Around("logPointcut()")
public Object around(ProceedingJoinPoint joinPoint) throws Throwable { public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
String username = ""; String username = "";
HttpServletRequest request = HttpServletUtil.getRequest(); String userId = RequestUtil.getUserId();
String authorization = request.getHeader(SecurityConstants.AUTHORIZATION_KEY); if (StrUtil.isNotBlank(userId)) {
if (StrUtil.isNotBlank(authorization)) { SysUser user = sysUserService.getById(RequestUtil.getUserId());
String tokenStr = authorization.replace(SecurityConstants.AUTHORIZATION_PREFIX, Strings.EMPTY); if (ObjectUtil.isNotNull(user)) {
Map<String, Object> map = JwtUtil.parseToken(tokenStr);
SysUser user = sysUserService.getById((String) map.get(SecurityConstants.USER_ID));
if(ObjectUtil.isNotNull(user)){
username = user.getName(); username = user.getName();
} }
} }
@@ -92,8 +82,7 @@ public class LogAdvice implements ApplicationListener<ContextRefreshedEvent> {
sysLogAudit.setWarn(warn); //0-未告警1-告警 sysLogAudit.setWarn(warn); //0-未告警1-告警
sysLogAudit.setCreateBy(username); sysLogAudit.setCreateBy(username);
HttpServletRequest request = HttpServletUtil.getRequest(); sysLogAudit.setIp(RequestUtil.getUserIp());
sysLogAudit.setIp(request.getRemoteAddr());
MethodSignature signature = (MethodSignature) joinPoint.getSignature(); MethodSignature signature = (MethodSignature) joinPoint.getSignature();
Method method = signature.getMethod(); Method method = signature.getMethod();

View File

@@ -17,6 +17,7 @@ import com.njcn.gather.user.user.pojo.po.SysUser;
import com.njcn.gather.user.user.service.ISysUserService; import com.njcn.gather.user.user.service.ISysUserService;
import com.njcn.web.factory.PageFactory; import com.njcn.web.factory.PageFactory;
import com.njcn.web.utils.HttpServletUtil; import com.njcn.web.utils.HttpServletUtil;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -99,8 +100,7 @@ public class SysLogAuditServiceImpl extends ServiceImpl<SysLogAuditMapper, SysLo
sysLogAudit.setOperateType(LogOperationTypeEnum.OPERATE.getMsg()); sysLogAudit.setOperateType(LogOperationTypeEnum.OPERATE.getMsg());
sysLogAudit.setLevel(LogLevelEnum.INFO.getCode()); sysLogAudit.setLevel(LogLevelEnum.INFO.getCode());
sysLogAudit.setWarn(0); sysLogAudit.setWarn(0);
HttpServletRequest request = HttpServletUtil.getRequest(); sysLogAudit.setIp(RequestUtil.getUserIp());
sysLogAudit.setIp(request.getRemoteAddr());
String typeStr = (type == 1 ? "登录" : "注销"); String typeStr = (type == 1 ? "登录" : "注销");
sysLogAudit.setResult(typeStr + "成功"); sysLogAudit.setResult(typeStr + "成功");
String now = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); String now = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));