From 4574296e4453f0cbb75a5fdb8bb39fa43c87297c Mon Sep 17 00:00:00 2001 From: Fancy <Fancy.fx@outlook.com> Date: 星期四, 15 八月 2024 15:07:26 +0800 Subject: [PATCH] @param --- pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/LogAspect.java | 71 ++++++++++++++++++++++++----------- 1 files changed, 48 insertions(+), 23 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 0902667..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 { @@ -32,9 +33,11 @@ @Value("${pms.sso.curUserUrl}") public String SsoCurUserUrl ; - private LogSv logSv; + private LogService logSv; + @Value("${pms.global.dev}") + public String isDevStage ;//鏄惁涓哄紑鍙戦樁娈� @Autowired - public void setLogSv(LogSv logSv){ + public void setLogSv(LogService logSv){ this.logSv = logSv; } private RestTemplate restTemplate; @@ -44,22 +47,26 @@ } @AfterReturning(pointcut = "@annotation(com.dy.pmsGlobal.aop.Log)", returning = "result") - public void logAfterReturning(JoinPoint joinPoint, Object result) { - // 鑾峰彇鏂规硶鐨勪腑鏂囨弿杩� - MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature(); - Log operationDescription = methodSignature.getMethod().getAnnotation(Log.class); - String operationName = operationDescription.value(); - //缁撴灉 - BaseResponse response = (BaseResponse)result; - response.isSuccess(); - // 鑾峰彇鐢ㄦ埛淇℃伅 - BaUser user = (BaUser)getCurUser(response); - Long operator = user!=null?user.id: 1l; - - // 鑾峰彇IP鍦板潃 - String ipAddress = getRemoteHost(); - // 璁板綍鏃ュ織 - logSv.save(operator, operationName,ipAddress); + 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()); + } } /** @@ -71,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) @@ -114,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