From 199971c2c2f20e22fdfb088b11caeaee1e523c2f Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Tue, 13 Apr 2021 14:26:11 +0800
Subject: [PATCH] 添加角色新增日志

---
 screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java          |    2 
 screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java    |   11 +++
 screen-manage/src/main/resources/application-dev.yml                              |    8 --
 screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java |   27 +++++++++
 screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java    |   11 ++-
 screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java            |    2 
 screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java |   57 +++++++++++++------
 screen-manage/src/main/resources/mapper/ManageMenuMapper.xml                      |   11 +++
 8 files changed, 102 insertions(+), 27 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java b/screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java
index c9d1342..e5e7990 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/ManageMenuController.java
@@ -137,4 +137,15 @@
         List<ManageMenu> re = manageMenuService.getManageMenuByNameFuzzy(parameters);
         return ResultMessage.ok(re);
     }
+
+    @ApiOperation(value = "������roleId������������", notes = "������roleId������������")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "roleId", value = "������id", required = true, paramType = "query", dataType = "int")
+    })
+    @RequestMapping(value = "getManageMenuByRoleId", method = RequestMethod.GET)
+    public ResultMessage getManageMenuByRoleId(HttpServletRequest request) {
+        Map<String, Object> parameters = getParametersStartingWith(request, null);
+        List<ManageMenu> result = manageMenuService.getManageMenuByRoleId(Integer.parseInt(parameters.get("roleId").toString()));
+        return ResultMessage.ok(result);
+    }
 }
diff --git a/screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java b/screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java
index 0fb5f4a..e56cf48 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java
@@ -1,12 +1,13 @@
 package com.moral.api.controller;
 
 import com.alibaba.fastjson.JSON;
-import com.moral.api.entity.ManageMenu;
 import com.moral.api.entity.ManageRole;
-import com.moral.api.service.ManageMenuService;
+import com.moral.api.pojo.dto.login.AccountInfoDTO;
 import com.moral.api.service.ManageRoleMenuService;
 import com.moral.api.service.ManageRoleService;
+import com.moral.constant.ResponseCodeEnum;
 import com.moral.constant.ResultMessage;
+import com.moral.util.TokenUtils;
 import com.moral.util.WebUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -14,6 +15,7 @@
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
@@ -36,6 +38,9 @@
     @Autowired
     private ManageRoleMenuService manageRoleMenuService;
 
+    @Autowired
+    private RedisTemplate redisTemplate;
+
     @ApiOperation(value = "������������������", notes = "������������������")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "current", value = "������", required = true, paramType = "query", dataType = "int"),
@@ -56,7 +61,7 @@
     })
     @RequestMapping(value = "insertOneManageRole", method = RequestMethod.POST)
     @ResponseBody
-    public ResultMessage insertOneManageRole(@RequestBody Map<String, Object> parameters) {
+    public ResultMessage insertOneManageRole(@RequestBody Map<String, Object> parameters,HttpServletRequest request) {
         List list = new ArrayList();
         if (parameters.get("menuIds") != null){
             String menuIdsStr = parameters.get("menuIds").toString();
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java
index 93155b2..ebacfb4 100644
--- a/screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java
+++ b/screen-manage/src/main/java/com/moral/api/mapper/ManageMenuMapper.java
@@ -34,4 +34,6 @@
 
     List<ManageMenu> getManageRoleByNameFuzzy(Map map);
 
+    List<ManageMenu> getManageMenuByRoleId(int roleId);
+
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java b/screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java
index 3915f76..f696784 100644
--- a/screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/ManageMenuService.java
@@ -32,6 +32,8 @@
 
     List<ManageMenu> getAllMenus();
 
+    List<ManageMenu> getManageMenuByRoleId(int roleId);
+
     List<ManageMenu> getManageMenuByNameFuzzy(Map map);
 
     List<ManageMenu> getParentChildrenMenusByRoles(List<ManageRole> roles);
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java
index 35b3607..3b0d4bf 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java
@@ -141,6 +141,33 @@
     }
 
     @Override
+    public List<ManageMenu> getManageMenuByRoleId(int roleId) {
+        List<ManageMenu> manageMenus = manageMenuMapper.getManageMenuByRoleId(roleId);
+        System.out.println(manageMenus);
+        if(ObjectUtils.isEmpty(manageMenus))
+            return null;
+        Map<Integer, ManageMenu> menusMap = new HashMap<>();
+        for (ManageMenu menu : manageMenus) {
+            menu.setChildren(new ArrayList<>());//���������
+            menusMap.put(menu.getId(), menu);
+        }
+        for (ManageMenu menu : manageMenus) {
+            combinationParentChildrenMenus(menusMap, menu);
+        }
+
+        //������������������������������������parentId������0������������������������
+        manageMenus.removeIf(new Predicate<ManageMenu>() {
+            @Override
+            public boolean test(ManageMenu manageMenu) {
+                if(manageMenu.getParentId().equals(0))
+                    return false;
+                return true;
+            }
+        });
+        return manageMenus;
+    }
+
+    @Override
     public List<ManageMenu> getManageMenuByNameFuzzy(Map map) {
         Map limitMap = new HashMap();
         limitMap.put("name", map.get("name"));
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java
index b0bf07e..2509d63 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java
@@ -2,13 +2,18 @@
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.moral.api.entity.ManageAccount;
 import com.moral.api.entity.ManageAccountRole;
+import com.moral.api.entity.ManageLog;
 import com.moral.api.entity.ManageRole;
 import com.moral.api.mapper.ManageAccountRoleMapper;
+import com.moral.api.mapper.ManageLogMapper;
 import com.moral.api.mapper.ManageRoleMapper;
 import com.moral.api.mapper.ManageRoleMenuMapper;
+import com.moral.api.pojo.dto.login.AccountInfoDTO;
 import com.moral.api.service.ManageRoleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.util.LogUtils;
 import com.moral.constant.Constants;
 import com.moral.constant.ResponseCodeEnum;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,8 +21,11 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -49,6 +57,9 @@
 
     @Autowired(required = false)
     private ManageAccountRoleMapper manageAccountRoleMapper;
+
+    @Autowired
+    LogUtils logUtils;
 
     @Override
     public Map<String,Object> getAllWithPagingQuery(Map map) {
@@ -86,7 +97,7 @@
 
     @Override
     @Transactional
-    public Map<String,Object> insertOne(ManageRole manageRole,List list) {
+    public Map<String,Object> insertOne(ManageRole manageRole, List list) {
         Map<String,Object> resultMap = new HashMap<>();
         if (manageRole.getName()==null){
             resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
@@ -96,24 +107,28 @@
         if (manageRoleMapper.getManageRoleByName(manageRole.getName()) != null){
             resultMap.put("code",ResponseCodeEnum.ROLE_IS_EXPIRE.getCode());
             resultMap.put("msg",ResponseCodeEnum.ROLE_IS_EXPIRE.getMsg());
-        }else {
-            manageRoleMapper.insertOne(manageRole);
-            resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode());
-            resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
+            return resultMap;
         }
-        Integer code = Integer.parseInt(resultMap.get("code").toString());
-        if (code.equals(ResponseCodeEnum.SUCCESS.getCode())){
-            ManageRole manageRoleIns = manageRoleMapper.getManageRoleByName(manageRole.getName());
-            int role_id = manageRoleIns.getId();
-            List insertList = new ArrayList();
-            for (Object temp: list) {
-                Map<String,Integer> insertMap = new HashMap<>();
-                insertMap.put("role_id",role_id);
-                insertMap.put("menu_id",Integer.parseInt(temp.toString()));
-                insertList.add(insertMap);
-            }
+        manageRoleMapper.insertOne(manageRole);
+        ManageRole manageRoleIns = manageRoleMapper.getManageRoleByName(manageRole.getName());
+        int role_id = manageRoleIns.getId();
+        List insertList = new ArrayList();
+        for (Object temp: list) {
+            Map<String,Integer> insertMap = new HashMap<>();
+            insertMap.put("role_id",role_id);
+            insertMap.put("menu_id",Integer.parseInt(temp.toString()));
+            insertList.add(insertMap);
+        }
+        //���������������������������������������������
+        if (insertList.size()>0){
             manageRoleMenuMapper.insertBatch(insertList);
         }
+        //������������������
+        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+        String content = "������������:"+manageRole.getName()+";";
+        logUtils.saveOperationForManage(request,content,"1");
+        resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode());
+        resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
         return resultMap;
     }
 
@@ -188,12 +203,18 @@
             Map deleteMap = new HashMap();
             deleteMap.put("id",Integer.parseInt(map.get("id").toString()));
             deleteMap.put("is_delete",1);
-            manageRoleMapper.updateManageRoleById(deleteMap);
+            //manageRoleMapper.updateManageRoleById(deleteMap);
             ManageAccountRole manageAccountRole = new ManageAccountRole();
             manageAccountRole.setIsDelete("1");
             QueryWrapper<ManageAccountRole> wrapper = new QueryWrapper();
             wrapper.eq("role_id",Integer.parseInt(map.get("id").toString()));
-            manageAccountRoleMapper.update(manageAccountRole,wrapper);
+            //manageAccountRoleMapper.update(manageAccountRole,wrapper);
+            //������������������
+            HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+            ManageRole manageRole1 = manageRoleMapper.selectById(Integer.parseInt(map.get("id").toString()));
+            System.out.println(manageRole1);
+            String content = "������������:"+manageRole.getName()+";";
+            //logUtils.saveOperationForManage(request,content,"1");
             resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode());
             resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
         }
diff --git a/screen-manage/src/main/resources/application-dev.yml b/screen-manage/src/main/resources/application-dev.yml
index 2c657e4..8bb2db8 100644
--- a/screen-manage/src/main/resources/application-dev.yml
+++ b/screen-manage/src/main/resources/application-dev.yml
@@ -122,14 +122,10 @@
       - /verificationCode/**
       - /system/**
 
-      - /role/getAllManageRole
-      - /role/getManageRoleByNameFuzzy
-      - /role/insertOneManageRole
-      - /role/updateManageRole
-      - /role/updateRoleMenu
-      - /role/deleteManageRole
+      - /role/**
       - /menu/getAllManageMenu
       - /menu/getManageMenuByNameFuzzy
+      - /menu/getManageMenuByRoleId
       - /api/**
 AES:
   KEY:
diff --git a/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml b/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
index 1ba6ee4..41a065c 100644
--- a/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
+++ b/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
@@ -142,4 +142,15 @@
         limit #{start},#{number}
     </select>
 
+    <select id="getManageMenuByRoleId" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"></include>
+        FROM manage_menu mm
+        JOIN manage_role_menu mrm
+        ON mm.id = mrm.menu_id AND mrm.is_delete = 0
+        JOIN manage_role mr
+        ON mr.id = mrm.role_id and mr.id = #{roleId}
+        WHERE mm.is_delete = 0
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0