From 41622b7aa1d948040b0f8ea024aece42d5a518a2 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Wed, 25 Aug 2021 09:29:05 +0800
Subject: [PATCH] screen-api                 SQL优化 screen-manage                日志模块更新,SQL优化

---
 screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
index 054185d..711180c 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
@@ -18,9 +18,13 @@
 import com.moral.api.pojo.form.user.UserUpdateForm;
 import com.moral.api.service.UserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -29,6 +33,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.logging.SimpleFormatter;
 
 /**
  * <p>
@@ -51,6 +56,8 @@
     UserGroupMapper userGroupMapper;
     @Autowired
     GroupMenuMapper groupMenuMapper;
+    @Autowired
+    LogUtils logUtils;
 
     @Override
     public UserQueryDTO queryUsers(UserQueryForm form) {
@@ -150,6 +157,12 @@
         //������
         userMapper.updateById(user);
 
+        //������������������������
+        user = userMapper.selectById(user.getId());
+
+        //������������
+        updatelog(oldUser,user);
+
         //������������������
         dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -208,6 +221,8 @@
         organization.setAdminUserId(user.getId());
         organization.setId(organizationId);
         organizationMapper.updateById(organization);
+        //������������������
+        insertLog(user,organizationId);
         //������������������
         dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -246,4 +261,49 @@
         return dto;
     }
 
+    /**
+    * @Description: ������������������������
+            * @Param: [user, organizationId]
+            * @return: void
+            * @Author: ���������
+            * @Date: 2021/8/24
+            */
+    private void insertLog(User user,Integer organizationId) {
+        StringBuilder content = new StringBuilder("���������������������;");
+        content.append("���������admin;");
+        //������������admin���������������
+        Organization organization = organizationMapper.selectById(organizationId);
+        content.append("���������"+organization.getName()+";");
+        content.append("���������"+user.getAccount()+";");
+        content.append("���������������"+user.getUserName()+";");
+        content.append("���������������"+ DateUtils.dateToDateString(user.getExpireTime(),"yyyy-MM-dd")+";");
+        if(user.getEmail()!=null)
+            content.append("���������"+user.getEmail()+";");
+        if(user.getMobile()!=null)
+            content.append("���������"+user.getMobile()+";");
+        if(user.getWechat()!=null)
+            content.append("���������"+user.getWechat()+";");
+        logUtils.saveOperationForManage(content.toString(), Constants.INSERT_OPERATE_TYPE);
+    }
+
+
+    /**
+    * @Description: ������������������������
+            * @Param: [oldUser, newUser]
+            * @return: void
+            * @Author: ���������
+            * @Date: 2021/8/24
+            */
+    private void updatelog(User oldUser,User newUser){
+        List<CompareFieldResult> results = CompareFieldUtils.compare(User.class, oldUser, newUser);
+        StringBuilder content = new StringBuilder("���������������������;");
+        content.append("���������������"+organizationMapper.selectById(oldUser.getOrganizationId()).getName()+";");
+        //������������������
+        if(newUser.getPassword()!=null)
+            content.append("���������������;");
+        String resultContent = CompareFieldUtils.resultsConvertContent(results,content.toString());
+        logUtils.saveOperationForManage(resultContent, Constants.UPDATE_OPERATE_TYPE);
+    }
+
+
 }

--
Gitblit v1.8.0