From ac625fa6aee52f467243c78764625cf053dcfe81 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Wed, 25 Aug 2021 11:44:20 +0800
Subject: [PATCH] screen-manage 重构组织模块日志插入代码
---
screen-common/src/main/java/com/moral/util/DateUtils.java | 25 ++++++++++++
screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java | 74 +++++++++++++++++++++++++++++++++---
screen-manage/src/main/java/com/moral/api/entity/Organization.java | 12 ++++++
3 files changed, 103 insertions(+), 8 deletions(-)
diff --git a/screen-common/src/main/java/com/moral/util/DateUtils.java b/screen-common/src/main/java/com/moral/util/DateUtils.java
index 9084e65..9af501f 100644
--- a/screen-common/src/main/java/com/moral/util/DateUtils.java
+++ b/screen-common/src/main/java/com/moral/util/DateUtils.java
@@ -1,6 +1,7 @@
package com.moral.util;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.util.StringUtils;
import java.math.BigDecimal;
@@ -13,7 +14,7 @@
import java.time.ZonedDateTime;
import java.util.*;
-
+@Slf4j
public class DateUtils {
/**
* ������������(yyyy)
@@ -79,6 +80,11 @@
* ������������(yyyy-MM-dd HH)
* */
public static final String yyyy_MM_dd_HH_EN = "yyyy-MM-dd HH";
+
+ /*
+ * Date���toString������
+ * */
+ public static final String EEE_MMM_dd_HH_mm_ss_zzz_yyyy = "EEE MMM dd HH:mm:ss zzz yyyy";
/**
* DateFormat������
*/
@@ -86,6 +92,23 @@
/**
+ * @Description: Date���toString������������Date
+ * @Param: []
+ * @return: java.util.Date
+ * @Author: ���������
+ * @Date: 2021/8/25
+ */
+ public static Date dateStringToDate(String formatStr){
+ try {
+ SimpleDateFormat sdf = new SimpleDateFormat(EEE_MMM_dd_HH_mm_ss_zzz_yyyy, Locale.US);
+ return sdf.parse(formatStr);
+ } catch (ParseException e) {
+ log.error(e.getMessage());
+ return null;
+ }
+ }
+
+ /**
* ������DateFormat
*
* @param formatStr
diff --git a/screen-manage/src/main/java/com/moral/api/entity/Organization.java b/screen-manage/src/main/java/com/moral/api/entity/Organization.java
index 905b786..a16e9dc 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/Organization.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/Organization.java
@@ -7,6 +7,7 @@
import java.io.Serializable;
import java.util.Date;
+import com.moral.anno.FieldName;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -33,6 +34,7 @@
/**
* ���Id
*/
+ @FieldName("���������Id")
private Integer parentId;
/**
@@ -43,6 +45,7 @@
/**
* ������������
*/
+ @FieldName("������������")
private String name;
/**
@@ -53,6 +56,7 @@
/**
* ������������
*/
+ @FieldName("������")
private String provinceName;
/**
@@ -63,6 +67,7 @@
/**
* ������������
*/
+ @FieldName("������")
private String cityName;
/**
@@ -73,6 +78,7 @@
/**
* ���������
*/
+ @FieldName("���")
private String areaName;
/**
@@ -83,26 +89,31 @@
/**
* ������������������������
*/
+ @FieldName("������������")
private String locationLevelName;
/**
* ������
*/
+ @FieldName("������")
private String address;
/**
* ���������
*/
+ @FieldName("������")
private String phone;
/**
* ������
*/
+ @FieldName("������")
private String email;
/**
* ���������
*/
+ @FieldName("������")
private String wechat;
/**
@@ -118,6 +129,7 @@
/**
* ������������
*/
+ @FieldName("������������")
private Date expireTime;
/**
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
index b9c95b3..020db1e 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
@@ -20,9 +20,11 @@
import com.moral.api.service.OrganizationService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.service.UserService;
+import com.moral.api.util.CompareFieldUtils;
import com.moral.api.util.LogUtils;
import com.moral.constant.Constants;
import com.moral.constant.ResponseCodeEnum;
+import com.moral.pojo.CompareFieldResult;
import com.moral.util.ConvertUtils;
import com.moral.util.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -34,6 +36,8 @@
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.*;
import java.util.function.Predicate;
@@ -103,10 +107,7 @@
organizationDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
//������������������
- HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
- StringBuilder content = new StringBuilder();
- content.append("������������������").append(organization.getName() + ";");
- logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE);
+ insertLog(organization);
return organizationDTO;
}
@@ -149,7 +150,7 @@
organizationDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
//������������������
- insertUpdateLog(organizationUpdateForm, organization, oldOrganization);
+ updateLog(oldOrganization,organization);
return organizationDTO;
}
@@ -245,14 +246,13 @@
dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
//������������������
- HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
StringBuilder content = new StringBuilder();
content.append("������������������").append(existOrganization.getName());
if (form.getDeleteChildren().equals(Constants.DELETE_CHILDREN_ORG))
content.append("���������������������;");
else
content.append(";");
- logUtils.saveOperationForManage(request, content.toString(), Constants.DELETE_OPERATE_TYPE);
+ logUtils.saveOperationForManage(content.toString(), Constants.DELETE_OPERATE_TYPE);
return dto;
}
@@ -484,5 +484,65 @@
}
}
+ /**
+ * @Description: ������������������������
+ * @Param: [organization]
+ * @return: void
+ * @Author: ���������
+ * @Date: 2021/8/25
+ */
+ private void insertLog(Organization organization){
+ StringBuilder content = new StringBuilder();
+ content.append("������������������").append(organization.getName() + ";");
+ logUtils.saveOperationForManage(content.toString(), Constants.INSERT_OPERATE_TYPE);
+ }
+
+ public void updateLog(Organization oldOrganization,Organization newOrganization){
+ List<CompareFieldResult> results = CompareFieldUtils.compare(Organization.class, oldOrganization, newOrganization);
+ for (CompareFieldResult result : results) {
+ //���������������������������
+ if(result.getFieldName().equals("parentId")){
+ //���������id���������������
+ String oldData = result.getOldData();
+ String newData = result.getNewData();
+
+ if (!oldData.equals("0"))
+ oldData = organizationMapper.selectById(Integer.parseInt(oldData)).getName();
+ else
+ oldData = "null";
+
+ if (!newData.equals("0"))
+ newData = organizationMapper.selectById(Integer.parseInt(newData)).getName();
+ else
+ newData = "null";
+
+ result.setNewData(newData);
+ result.setOldData(oldData);
+ result.setFieldAnnoName("���������");
+ }
+
+ //������������������������
+ if(result.getFieldName().equals("expireTime")){
+ //DateToString���������������������yyyy-MM-dd
+ String oldData = result.getOldData();
+ String newData = result.getNewData();
+
+ if(oldData!=null){
+ Date oldDate = DateUtils.dateStringToDate(oldData);
+ oldData = DateUtils.dateToDateString(oldDate, "yyyy-MM-dd");
+ }
+
+ if(newData!=null){
+ Date newDate = DateUtils.dateStringToDate(newData);
+ newData = DateUtils.dateToDateString(newDate, "yyyy-MM-dd");
+ }
+
+ result.setNewData(newData);
+ result.setOldData(oldData);
+ result.setFieldAnnoName("������������");
+ }
+ }
+ }
+
}
--
Gitblit v1.8.0