From eda58e0e6d4abdd2b060e28867d103045845aa69 Mon Sep 17 00:00:00 2001
From: 罗元桥 <2376770955@qq.com>
Date: 星期一, 30 八月 2021 13:13:18 +0800
Subject: [PATCH] Merge branch 'test' into 'yuyue_dev'
---
springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/aop/OperLogAspect.java | 168 +++++++++++++++++++++----------------------------------
1 files changed, 65 insertions(+), 103 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/aop/OperLogAspect.java b/springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/aop/OperLogAspect.java
index 9e46023..d7aed55 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/aop/OperLogAspect.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/aop/OperLogAspect.java
@@ -1,15 +1,16 @@
package com.panzhihua.serviceapi.aop;
-import com.alibaba.fastjson.JSONObject;
-import com.panzhihua.common.constants.Constants;
-import com.panzhihua.common.constants.TokenConstant;
-import com.panzhihua.common.interfaces.OperLog;
-import com.panzhihua.common.model.vos.LoginUserInfoVO;
-import com.panzhihua.common.model.vos.user.SysOperLogVO;
-import com.panzhihua.common.service.user.UserService;
-import com.panzhihua.common.utlis.AES;
-import com.panzhihua.common.utlis.IPUtil;
-import lombok.extern.slf4j.Slf4j;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
@@ -20,15 +21,17 @@
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
+import com.alibaba.fastjson.JSONObject;
+import com.panzhihua.common.constants.Constants;
+import com.panzhihua.common.constants.TokenConstant;
+import com.panzhihua.common.interfaces.OperLog;
+import com.panzhihua.common.model.vos.LoginUserInfoVO;
+import com.panzhihua.common.model.vos.user.SysOperLogVO;
+import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.common.utlis.AES;
+import com.panzhihua.common.utlis.IPUtil;
+
+import lombok.extern.slf4j.Slf4j;
/**
* 切面处理类,操作日志异常日志记录处理
@@ -48,21 +51,15 @@
* 设置操作日志切入点 记录操作日志 在注解的位置切入代码
*/
@Pointcut("@annotation(com.panzhihua.common.interfaces.OperLog)")
- public void operLogPoinCut() {
- }
-
-// /**
-// * 设置操作异常切入点记录异常日志 扫描所有controller包下操作
-// */
-// @Pointcut("execution(* com.hyd.zcar.cms.controller..*.*(..))")
-// public void operExceptionLogPoinCut() {
-// }
+ public void operLogPoinCut() {}
/**
* 正常返回通知,拦截用户操作日志,连接点正常执行完成后执行, 如果连接点抛出异常,则不会执行
*
- * @param joinPoint 切入点
- * @param keys 返回结果
+ * @param joinPoint
+ * 切入点
+ * @param keys
+ * 返回结果
*/
@AfterReturning(value = "operLogPoinCut()", returning = "keys")
public void saveOperLog(JoinPoint joinPoint, Object keys) {
@@ -70,25 +67,25 @@
// 获取RequestAttributes
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
// 从获取RequestAttributes中获取HttpServletRequest的信息
- HttpServletRequest request = (HttpServletRequest) requestAttributes
- .resolveReference(RequestAttributes.REFERENCE_REQUEST);
-// 登录对象信息
+ HttpServletRequest request =
+ (HttpServletRequest)requestAttributes.resolveReference(RequestAttributes.REFERENCE_REQUEST);
+ // 登录对象信息
String userInfo = request.getHeader(TokenConstant.TOKEN_USERINFO);
boolean empty = ObjectUtils.isEmpty(userInfo);
if (empty) {
- log.error("操作日志获取登录用户信息失败【{}】",joinPoint);
+ log.error("操作日志获取登录用户信息失败【{}】", joinPoint);
return;
}
byte[] bytes = AES.parseHexStr2Byte(userInfo);
byte[] decrypt = AES.decrypt(bytes, Constants.AES_KEY);
- userInfo=new String(decrypt);
- LoginUserInfoVO loginUserInfoVO= JSONObject.parseObject(userInfo,LoginUserInfoVO.class);
+ userInfo = new String(decrypt);
+ LoginUserInfoVO loginUserInfoVO = JSONObject.parseObject(userInfo, LoginUserInfoVO.class);
SysOperLogVO operlog = new SysOperLogVO();
try {
// 从切面织入点处通过反射机制获取织入点处的方法
- MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+ MethodSignature signature = (MethodSignature)joinPoint.getSignature();
// 获取切入点所在的方法
Method method = signature.getMethod();
// 获取操作
@@ -96,8 +93,10 @@
if (opLog != null) {
String operModul = opLog.operModul();
int operType = opLog.operType();
- operlog.setTitle(operModul); // 操作模块
- operlog.setBusinessType(operType); // 操作类型
+ operlog.setTitle(operModul);
+ // 操作模块
+ operlog.setBusinessType(operType);
+ // 操作类型
}
// 获取请求的类名
String className = joinPoint.getTarget().getClass().getName();
@@ -105,104 +104,64 @@
String methodName = method.getName();
methodName = className + "." + methodName;
- operlog.setMethod(methodName); // 请求方法
+ operlog.setMethod(methodName);
+ // 请求方法
if (joinPoint.getArgs().length > 0) {
for (Object o : joinPoint.getArgs()) {
if (o instanceof HttpServletRequest || o instanceof HttpServletResponse) {
continue;
}
- operlog.setOperParam(JSONObject.toJSONString(o)); // 请求参数
+ operlog.setOperParam(JSONObject.toJSONString(o));
+ // 请求参数
}
}
- operlog.setJsonResult(JSONObject.toJSONString(keys)); // 返回结果
+ operlog.setJsonResult(JSONObject.toJSONString(keys));
+ // 返回结果
operlog.setAccount(loginUserInfoVO.getAccount());
- operlog.setOperName(loginUserInfoVO.getName()); // 请求用户名称
- operlog.setOperIp(IPUtil.getIpAddress(request)); // 请求IP
- operlog.setOperUrl(request.getRequestURI()); // 请求URI
+ operlog.setOperName(loginUserInfoVO.getName());
+ // 请求用户名称
+ operlog.setOperIp(IPUtil.getIpAddress(request));
+ // 请求IP
+ operlog.setOperUrl(request.getRequestURI());
+ // 请求URI
operlog.setRequestMethod(request.getMethod());
operlog.setOperLocation(IPUtil.getIpBelongAddress(request));
- operlog.setOperTime(new Date()); // 创建时间
+ operlog.setOperTime(new Date());
+ // 创建时间
operlog.setAccount(loginUserInfoVO.getAccount());
Long communityId = loginUserInfoVO.getCommunityId();
- operlog.setCommunityId(null==communityId?0:communityId);
+ operlog.setCommunityId(null == communityId ? 0 : communityId);
userService.addOperLog(operlog);
} catch (Exception e) {
e.printStackTrace();
}
}
-// /**
-// * 异常返回通知,用于拦截异常日志信息 连接点抛出异常后执行
-// *
-// * @param joinPoint 切入点
-// * @param e 异常信息
-// */
-// @AfterThrowing(pointcut = "operExceptionLogPoinCut()", throwing = "e")
-// public void saveExceptionLog(JoinPoint joinPoint, Throwable e) {
-// // 获取RequestAttributes
-// RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
-// // 从获取RequestAttributes中获取HttpServletRequest的信息
-// HttpServletRequest request = (HttpServletRequest) requestAttributes
-// .resolveReference(RequestAttributes.REFERENCE_REQUEST);
-//
-// ExceptionLog excepLog = new ExceptionLog();
-// try {
-// // 从切面织入点处通过反射机制获取织入点处的方法
-// MethodSignature signature = (MethodSignature) joinPoint.getSignature();
-// // 获取切入点所在的方法
-// Method method = signature.getMethod();
-// excepLog.setExcId(UuidUtil.get32UUID());
-// // 获取请求的类名
-// String className = joinPoint.getTarget().getClass().getName();
-// // 获取请求的方法名
-// String methodName = method.getName();
-// methodName = className + "." + methodName;
-// // 请求的参数
-// Map<String, String> rtnMap = converMap(request.getParameterMap());
-// // 将参数所在的数组转换成json
-// String params = JSON.toJSONString(rtnMap);
-// excepLog.setExcRequParam(params); // 请求参数
-// excepLog.setOperMethod(methodName); // 请求方法名
-// excepLog.setExcName(e.getClass().getName()); // 异常名称
-// excepLog.setExcMessage(stackTraceToString(e.getClass().getName(), e.getMessage(), e.getStackTrace())); // 异常信息
-// excepLog.setOperUserId(UserShiroUtil.getCurrentUserLoginName()); // 操作员ID
-// excepLog.setOperUserName(UserShiroUtil.getCurrentUserName()); // 操作员名称
-// excepLog.setOperUri(request.getRequestURI()); // 操作URI
-// excepLog.setOperIp(IPUtil.getRemortIP(request)); // 操作员IP
-// excepLog.setOperVer(operVer); // 操作版本号
-// excepLog.setOperCreateTime(new Date()); // 发生异常时间
-//
-// exceptionLogService.insert(excepLog);
-//
-// } catch (Exception e2) {
-// e2.printStackTrace();
-// }
-//
-// }
-
/**
* 转换request 请求参数
*
- * @param paramMap request获取的参数数组
+ * @param paramMap
+ * request获取的参数数组
*/
public Map<String, String> converMap(Map<String, String[]> paramMap) {
- Map<String, String> rtnMap = new HashMap<String, String>();
+ Map<String, String> rtnMap = new HashMap<>(6);
for (String key : paramMap.keySet()) {
rtnMap.put(key, paramMap.get(key)[0]);
}
return rtnMap;
}
- private String getPostData(HttpServletRequest request) {
+ private String getPostData(HttpServletRequest request) {
StringBuffer data = new StringBuffer();
String line = null;
BufferedReader reader = null;
try {
reader = request.getReader();
- while (null != (line = reader.readLine()))
+ while (null != (line = reader.readLine())) {
data.append(line);
+ }
} catch (IOException e) {
} finally {
}
@@ -212,9 +171,12 @@
/**
* 转换异常信息为字符串
*
- * @param exceptionName 异常名称
- * @param exceptionMessage 异常信息
- * @param elements 堆栈信息
+ * @param exceptionName
+ * 异常名称
+ * @param exceptionMessage
+ * 异常信息
+ * @param elements
+ * 堆栈信息
*/
public String stackTraceToString(String exceptionName, String exceptionMessage, StackTraceElement[] elements) {
StringBuffer strbuff = new StringBuffer();
--
Gitblit v1.7.1