From af69f416ff531ea7fd7a22e02885bf9d78536f41 Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期五, 05 七月 2024 08:38:31 +0800
Subject: [PATCH] add plan
---
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/LogAspect.java | 67 ++++++++++++++++++++++-----------
1 files changed, 45 insertions(+), 22 deletions(-)
diff --git a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/LogAspect.java b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/LogAspect.java
index db1e48e..636e66c 100644
--- a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/LogAspect.java
+++ b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/LogAspect.java
@@ -1,12 +1,14 @@
package com.dy.pmsGlobal.aop;
-import com.dy.common.util.ObjectToMapUtil;
+import com.alibaba.fastjson2.JSONObject;
import com.dy.common.webFilter.UserTokenContext;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.pmsGlobal.pojoBa.BaUser;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.mysql.cj.util.StringUtils;
import jakarta.servlet.http.HttpServletRequest;
+import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
@@ -23,8 +25,7 @@
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.util.UriComponentsBuilder;
-import java.util.Map;
-
+@Slf4j
@Aspect
@Component
public class LogAspect {
@@ -33,6 +34,8 @@
public String SsoCurUserUrl ;
private LogService logSv;
+ @Value("${pms.global.dev}")
+ public String isDevStage ;//鏄惁涓哄紑鍙戦樁娈�
@Autowired
public void setLogSv(LogService logSv){
this.logSv = logSv;
@@ -44,24 +47,26 @@
}
@AfterReturning(pointcut = "@annotation(com.dy.pmsGlobal.aop.Log)", returning = "result")
- public void logAfterReturning(JoinPoint joinPoint, Object result) {
- //缁撴灉
- BaseResponse res = (BaseResponse)result;
- res.isSuccess();
- // 鑾峰彇鐢ㄦ埛淇℃伅
- BaUser user = (BaUser)getCurUser(res);
- if(user!=null){
- Long operator = user.id;
- // 鑾峰彇鏂规硶鐨勪腑鏂囨弿杩�
- MethodSignature sign = (MethodSignature) joinPoint.getSignature();
- Log logDesc = sign.getMethod().getAnnotation(Log.class);
- String operationName = logDesc.value();
- // 鑾峰彇IP鍦板潃
- String ip = getRemoteHost();
- // 璁板綍鏃ュ織
- logSv.save(operator, operationName,ip);
+ public void logAfterReturning(JoinPoint joinPoint, BaseResponse result) {
+ if(isDevStage != null && !isDevStage.trim().equals("") && isDevStage.trim().equalsIgnoreCase("true")){
+ return;
}
-
+ try{
+ // 鑾峰彇鐢ㄦ埛淇℃伅
+ BaUser user = (BaUser)getCurUser(result);
+ if(user!=null && user.id !=null && !StringUtils.isNullOrEmpty(user.name)){
+ // 鑾峰彇鏂规硶鐨勪腑鏂囨弿杩�
+ MethodSignature sign = (MethodSignature) joinPoint.getSignature();
+ Log logDesc = sign.getMethod().getAnnotation(Log.class);
+ String operationName = logDesc.value();
+ // 鑾峰彇IP鍦板潃
+ String ip = getRemoteHost();
+ // 璁板綍鏃ュ織
+ logSv.save(user.id,user.name, operationName,ip,result.getCode(),result.getMsg());
+ }
+ }catch (Exception e){
+ log.error("璁板綍鏃ュ織寮傚父:"+e.getMessage());
+ }
}
/**
@@ -73,8 +78,10 @@
if(!StringUtils.isNullOrEmpty(SsoCurUserUrl)){
String token = UserTokenContext.get();
if(StringUtils.isNullOrEmpty(token)){
- Map<String,Object> resMap = ObjectToMapUtil.objectToMap(response.getContent());
- token =resMap.containsKey("token")?resMap.get("token").toString():"";
+ JSONObject res = objectToJson(response.getContent());
+ if(res!=null && res.containsKey("token")){
+ token = res.get("token").toString();
+ }
}
String url = UriComponentsBuilder.fromUriString(SsoCurUserUrl)
@@ -116,4 +123,20 @@
}
return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip;
}
+
+ /**
+ * 灏嗗璞¤浆鎹负JSONObject
+ * @param obj
+ * @return
+ */
+ public static JSONObject objectToJson(Object obj) {
+ ObjectMapper mapper = new ObjectMapper();
+ try {
+ JSONObject o = JSONObject.parseObject(mapper.writeValueAsString(obj));
+ return o;
+ } catch (Exception e) {
+ log.error("瀵硅薄杞崲涓篔SONObject澶辫触:"+e.getMessage());
+ return null;
+ }
+ }
}
--
Gitblit v1.8.0