From afa0dbb4f54e7244835dd67ec33c3e545f122f71 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 17 一月 2025 16:40:43 +0800 Subject: [PATCH] bug修改 --- ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java | 79 ++++++++++++++++++++++++++++++--------- 1 files changed, 61 insertions(+), 18 deletions(-) diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java index e4f2dd0..9b060f6 100644 --- a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java +++ b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java @@ -1,9 +1,17 @@ package com.ruoyi.common.log.aspect; -import java.util.Collection; -import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import com.alibaba.fastjson2.JSON; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.ruoyi.common.core.utils.ServletUtils; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.ip.IpUtils; +import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessStatus; +import com.ruoyi.common.log.filter.PropertyPreExcludeFilter; +import com.ruoyi.common.log.service.AsyncLogService; +import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.system.api.domain.poji.sys.SysOperLog; import org.apache.commons.lang3.ArrayUtils; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; @@ -18,21 +26,17 @@ import org.springframework.stereotype.Component; import org.springframework.validation.BindingResult; import org.springframework.web.multipart.MultipartFile; -import com.alibaba.fastjson2.JSON; -import com.ruoyi.common.core.utils.ServletUtils; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.common.core.utils.ip.IpUtils; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessStatus; -import com.ruoyi.common.log.filter.PropertyPreExcludeFilter; -import com.ruoyi.common.log.service.AsyncLogService; -import com.ruoyi.common.security.utils.SecurityUtils; -import com.ruoyi.system.api.domain.SysOperLog; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; /** * 操作日志记录处理 * - * @author ruoyi + * @author jqs */ @Aspect @Component @@ -113,13 +117,14 @@ getControllerMethodDescription(joinPoint, controllerLog, operLog, jsonResult); // 设置消耗时间 operLog.setCostTime(System.currentTimeMillis() - TIME_THREADLOCAL.get()); + log.info("日志打印"+operLog.toString()); // 保存数据库 asyncLogService.saveSysLog(operLog); } catch (Exception exp) { // 记录本地异常日志 - log.error("异常信息:{}", exp.getMessage()); + log.error("日志异常信息:{}", exp.getMessage()); exp.printStackTrace(); } finally @@ -141,6 +146,8 @@ operLog.setBusinessType(log.businessType().ordinal()); // 设置标题 operLog.setTitle(log.title()); + //设置操作内容 + operLog.setOperContent(log.operContent()); // 设置操作人类别 operLog.setOperatorType(log.operatorType().ordinal()); // 是否需要保存request,参数和值 @@ -152,7 +159,7 @@ // 是否需要保存response,参数和值 if (log.isSaveResponseData() && StringUtils.isNotNull(jsonResult)) { - operLog.setJsonResult(StringUtils.substring(JSON.toJSONString(jsonResult), 0, 2000)); + operLog.setJsonResult(StringUtils.substring(JSON.toJSONString(jsonResult), 0, 5000)); } } @@ -170,7 +177,43 @@ && (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))) { String params = argsArrayToString(joinPoint.getArgs(), excludeParamNames); - operLog.setOperParam(StringUtils.substring(params, 0, 2000)); + if(operLog.getOperContent().equals("编辑商户")){ + // 将JSON字符串转换为Map + ObjectMapper objectMapper = new ObjectMapper(); + Map<String, String> jsonMap = new HashMap<>(); + try { + jsonMap = objectMapper.readValue(params, HashMap.class); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + // 从Map中删除指定的元素 + jsonMap.remove("shopDetail"); + // 将Map转换回JSON字符串 + try { + params = objectMapper.writeValueAsString(jsonMap); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + } + if(operLog.getOperContent().equals("编辑商品")){ + // 将JSON字符串转换为Map + ObjectMapper objectMapper = new ObjectMapper(); + Map<String, String> jsonMap = new HashMap<>(); + try { + jsonMap = objectMapper.readValue(params, HashMap.class); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + // 从Map中删除指定的元素 + jsonMap.remove("goodsDetail"); + // 将Map转换回JSON字符串 + try { + params = objectMapper.writeValueAsString(jsonMap); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + } + operLog.setOperParam(StringUtils.substring(params, 0, 5000)); } else { -- Gitblit v1.7.1