From 47b901938213f609fc378d1e7666a516ff7c7ccf Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 26 九月 2025 14:35:36 +0800
Subject: [PATCH] 开发部分接口鉴权
---
ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java | 77 ++++++++++++++++++++++++++++++--------
1 files changed, 60 insertions(+), 17 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 f0fcdbe..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,16 +26,12 @@
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.poji.sys.SysOperLog;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
/**
* 操作日志记录处理
@@ -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