首页>代码>基于ssm的微信小程序商城综合管理后台,包括微信小程序和管理后台>/platform/platform-admin/src/main/java/com/platform/aop/SysLogAspect.java
package com.platform.aop;
import com.alibaba.fastjson.JSON;
import com.platform.annotation.SysLog;
import com.platform.entity.SysLogEntity;
import com.platform.entity.SysUserEntity;
import com.platform.service.SysLogService;
import com.platform.utils.HttpContextUtils;
import com.platform.utils.IPUtils;
import com.platform.utils.ShiroUtils;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method;
import java.util.Date;
/**
* 系统日志,切面处理类
*
* @author lipengjun
* @email 939961241@qq.com
* @date 2017年3月8日 上午11:07:35
*/
@Aspect
@Component
public class SysLogAspect {
@Autowired
private SysLogService sysLogService;
@Pointcut("@annotation(com.platform.annotation.SysLog)")
public void logPointCut() {
}
@Before("logPointCut()")
public void saveSysLog(JoinPoint joinPoint) {
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
Method method = signature.getMethod();
SysLogEntity sysLog = new SysLogEntity();
SysLog syslog = method.getAnnotation(SysLog.class);
if (syslog != null) {
//注解上的描述
sysLog.setOperation(syslog.value());
}
//请求的方法名
String className = joinPoint.getTarget().getClass().getName();
String methodName = signature.getName();
sysLog.setMethod(className + "." + methodName + "()");
//请求的参数
Object[] args = joinPoint.getArgs();
String params = JSON.toJSONString(args[0]);
sysLog.setParams(params);
//获取request
HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
//设置IP地址
sysLog.setIp(IPUtils.getIpAddr(request));
//用户名
SysUserEntity sysUserEntity = ShiroUtils.getUserEntity();
String username = "";
if ("login".equals(methodName)) {
username = params;
}
if (null != sysUserEntity) {
username = ShiroUtils.getUserEntity().getUsername();
}
sysLog.setUsername(username);
sysLog.setCreateDate(new Date());
//保存系统日志
sysLogService.save(sysLog);
}
}
最近下载更多
陈小灏 LV18
2月23日
dsffssff LV4
2024年12月17日
educationAAA LV11
2024年12月13日
zolscy LV24
2024年11月27日
WHY-small LV15
2024年11月23日
1231321321212 LV1
2024年9月18日
tangyongheng08 LV6
2024年5月23日
mariolc LV6
2024年4月3日
janly989713 LV3
2024年3月4日
n2352441 LV4
2024年3月3日
最近浏览更多
一个神秘人 LV1
前天
jimodeai LV15
10月21日
不爱吃香菜
10月17日
暂无贡献等级
yifeng868 LV9
9月26日
毛毛maomao LV3
7月3日
微信网友_7557768985513984
6月17日
暂无贡献等级
汤汤汤要学编程 LV11
5月6日
微信网友_7398626323435520 LV3
4月29日
18650066502 LV12
4月27日
zjjhzjb LV15
4月16日

