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-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java |   74 +++++++++++++++++++++++++++++++++---
 1 files changed, 67 insertions(+), 7 deletions(-)

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