Parcourir la source

新增responseCode和userId记录

周浩 il y a 9 ans
Parent
commit
2da464a17c

+ 7 - 0
hsweb-web-controller/src/main/java/org/hsweb/web/controller/AopAccessLoggerResolverConfiguration.java

@@ -4,10 +4,12 @@ import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.Around;
 import org.aspectj.lang.annotation.Aspect;
 import org.hsweb.web.bean.po.logger.LoggerInfo;
+import org.hsweb.web.bean.po.user.User;
 import org.hsweb.web.exception.BusinessException;
 import org.hsweb.web.logger.AccessLoggerPersisting;
 import org.hsweb.web.logger.AopAccessLoggerResolver;
 import org.hsweb.web.message.ResponseMessage;
+import org.hsweb.web.utils.WebUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.Ordered;
 import org.springframework.core.annotation.Order;
@@ -44,9 +46,14 @@ public class AopAccessLoggerResolverConfiguration extends AopAccessLoggerResolve
             throw e;
         } finally {
             long responseTime = System.currentTimeMillis();
+            User user = WebUtil.getLoginUser();
             loggerInfo.setRequest_time(requestTime);
             loggerInfo.setResponse_time(responseTime);
             loggerInfo.setResponse_content(fastJsonHttpMessageConverter.converter(result));
+            if (user != null)
+                loggerInfo.setUser_id(user.getU_id());
+            if (result instanceof ResponseMessage)
+                loggerInfo.setResponse_code(((ResponseMessage) result).getCode());
             if (accessLoggerPersisting != null) {
                 accessLoggerPersisting.forEach(loggerPersisting -> loggerPersisting.save(loggerInfo));
             }