From 28f6317f7189d5c4a7e64f57dd6c7fc2011f8632 Mon Sep 17 00:00:00 2001 From: Fancy <Fancy.fx@outlook.com> Date: 星期二, 07 一月 2025 15:41:46 +0800 Subject: [PATCH] attend user --- pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/LogAspect.java | 71 ++++++++++++++++++++++++----------- 1 files changed, 49 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..fbe0486 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,30 @@ } @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(); + // 璁板綍鏃ュ織 + //msg 鏂规硶鍚� + 鍙傛暟鍊� + 杩斿洖鍊� +// Stream.of(joinPoint.getArgs()).forEach(System.out::println); +// String args = JSONObject.toJSONString(joinPoint.getArgs()); + //String args1 = Arrays.toString(joinPoint.getArgs()); + logSv.save(user.id,user.name, operationName,ip,result.getCode(),result.getMsg()); + } + }catch (Exception e){ + log.error("璁板綍鏃ュ織寮傚父:"+e.getMessage()); + } } /** @@ -73,8 +82,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 +127,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