From 923510deed8c991823db60dbd430bf18d78b98cb Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Wed, 07 Apr 2021 17:27:24 +0800
Subject: [PATCH] 登陆用户信息返回修改,用户组查询修改
---
screen-manage/src/main/java/com/moral/api/aop/log/OperationLogAspect.java | 106 ++++++++++++++++++++++++++++++++++++----------------
1 files changed, 73 insertions(+), 33 deletions(-)
diff --git a/screen-manage/src/main/java/com/moral/api/aop/log/OperationLogAspect.java b/screen-manage/src/main/java/com/moral/api/aop/log/OperationLogAspect.java
index f7b53a4..8ac76a1 100644
--- a/screen-manage/src/main/java/com/moral/api/aop/log/OperationLogAspect.java
+++ b/screen-manage/src/main/java/com/moral/api/aop/log/OperationLogAspect.java
@@ -1,18 +1,29 @@
package com.moral.api.aop.log;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.moral.api.entity.ManageLog;
import com.moral.api.entity.Organization;
import com.moral.api.mapper.ManageLogMapper;
+import com.moral.api.mapper.OrganizationMapper;
+import com.moral.api.pojo.dto.login.AccountInfoDTO;
+import com.moral.api.pojo.form.organization.OrganizationDeleteForm;
import com.moral.api.pojo.form.organization.OrganizationInsertForm;
+import com.moral.api.pojo.form.organization.OrganizationUpdateForm;
import com.moral.constant.Constants;
+import com.moral.constant.ResponseCodeEnum;
+import com.moral.util.TokenUtils;
import com.moral.util.WebUtils;
+import lombok.Data;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.request.RequestAttributes;
@@ -20,6 +31,7 @@
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method;
+import java.util.Map;
/**
* @ClassName OperationLogAspect
@@ -30,10 +42,18 @@
**/
@Aspect
@Component
+@ConfigurationProperties(prefix = "log-aspect")
+@Data
public class OperationLogAspect {
@Autowired
ManageLogMapper manageLogMapper;
+
+ @Autowired
+ OrganizationMapper organizationMapper;
+
+ Map<String,String> organizationFormMap;
+
/**
* @Description: ������������������OperationLogAnno���������������������
@@ -55,63 +75,83 @@
* @Date: 2021/3/31
*/
@AfterReturning(returning = "result", value = "pointCut()")
+ @Transactional
public void saveOperLog(JoinPoint joinPoint, Object result) throws Throwable {
+ //������������������������������������������������
+ Map resultMap = JSONObject.parseObject(JSONObject.toJSONString(result), Map.class);
+ if (!ResponseCodeEnum.SUCCESS.getCode().equals(resultMap.get("code")))
+ return;
//������������������
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
HttpServletRequest request = (HttpServletRequest) requestAttributes.resolveReference(RequestAttributes.REFERENCE_REQUEST);
Object parameters = request.getAttribute("parameters");
+ String token = request.getHeader("token");
//������module���type
MethodSignature signature = (MethodSignature) joinPoint.getSignature();//���������������������������
Method method = signature.getMethod();//������������������������
OperationLogAnno anno = method.getAnnotation(OperationLogAnno.class);//���������������������
String module = anno.module();//���������������������
String type = anno.type();//���������������������
- saveLog(request,parameters, module, type);
+ //������������������id ip ������
+ Integer id = Integer.parseInt(TokenUtils.getUidByToken(token));
+ String ip = WebUtils.getIpAddr(request);
+ AccountInfoDTO account = (AccountInfoDTO) TokenUtils.getUserInfoByToken(token);
+ String accountName = account.getAccount().getUserName();
+ //������content
+ String content = getContent(type,module,parameters);
+ content = content+"���������������"+accountName+";";
+ //���������������
+ ManageLog manageLog = new ManageLog();
+ manageLog.setContent(content);
+ manageLog.setIp(ip);
+ manageLog.setAccountId(id);
+ manageLogMapper.insert(manageLog);
+
}
- /**
- * @Description: ������������
- * @Param: [paramters, module, type]
- * @return: void
- * @Author: ���������
- * @Date: 2021/3/31
- */
- public void saveLog(HttpServletRequest request,Object paramters, String module, String type) {
+ public String getContent(String type, String module,Object parameters) {
+ String content = "";
if (module.equals(Constants.ORGANIZATION_MODULE_NAME)) {
- saveOrganizationLog(request,paramters, module, type);
+ content = getOrganizationContent(type,parameters);
}
+
+ return content;
}
/**
- * @Description: ������������������
- * @Param: [paramters, module, type]
- * @return: void
- * @Author: ���������
- * @Date: 2021/3/31
- */
- @Transactional
- public void saveOrganizationLog(HttpServletRequest request,Object paramters, String module, String type) {
+ * @Description: ������������������������������
+ * @Param: [type, parameters]
+ * @return: java.lang.String
+ * @Author: ���������
+ * @Date: 2021/4/1
+ */
+ public String getOrganizationContent(String type,Object parameters) {
+ StringBuilder content = new StringBuilder();
if (type.equals(Constants.INSERT_OPERATE_TYPE)) {//������������������������������
- OrganizationInsertForm form = JSON.parseObject(JSON.toJSONString(paramters), OrganizationInsertForm.class);
- Integer accountId = 1;//������ ������������
- String accountName = "������������";
+ OrganizationInsertForm form = JSON.parseObject(JSON.toJSONString(parameters), OrganizationInsertForm.class);
String organizationName = form.getName();
- String ip = WebUtils.getIpAddr(request);
- String content = accountName+"���������������������"+organizationName;
-
- ManageLog manageLog = new ManageLog();
- manageLog.setContent(content);
- manageLog.setIp(ip);
- manageLog.setAccountId(accountId);
- manageLog.setModule(module);
- manageLog.setType(type);
- manageLogMapper.insert(manageLog);
+ content.append("������������������").append(organizationName).append(";");
} else if (type.equals(Constants.DELETE_OPERATE_TYPE)) { //������������������������
-
+ OrganizationDeleteForm form = JSON.parseObject(JSON.toJSONString(parameters), OrganizationDeleteForm.class);
+ Organization organization = organizationMapper.selectById(form.getOrganizationId());
+ String organizationName = organization.getName();
+ content.append("������������������").append(organizationName).append(";");
} else if (type.equals(Constants.UPDATE_OPERATE_TYPE)) { //������������������������
-
+ OrganizationUpdateForm form = JSON.parseObject(JSON.toJSONString(parameters), OrganizationUpdateForm.class);
+ Map<String,Object> formMap = JSON.parseObject(JSON.toJSONString(parameters), Map.class);
+ Organization organization = organizationMapper.selectById(form.getOrganizationId());
+ String organizationName = organization.getName();
+ content.append("������������������").append(organizationName).append(";");
+ //���formMap������Key���������������������������������
+ formMap.forEach((k,v)->{
+ String key = organizationFormMap.get(k);
+ if(key!=null)
+ content.append(key).append("->").append(v).append(";");
+ });
}
+ return content.toString();
}
+
}
--
Gitblit v1.8.0