From 6ebaa774117610a8599d369fe9d8258e62a69031 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Tue, 08 Jun 2021 16:03:29 +0800
Subject: [PATCH] screen-manage                     修改账号查询功能,除admin角色外无法查找admin账号

---
 screen-manage/src/main/java/com/moral/api/pojo/redisBean/AccountInfoDTO.java         |    4 ++--
 screen-manage/src/main/java/com/moral/api/pojo/vo/login/LoginVO.java                 |    3 +--
 screen-manage/src/main/java/com/moral/api/util/LogUtils.java                         |    3 +--
 screen-common/src/main/java/com/moral/util/TokenUtils.java                           |    7 ++++++-
 screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java       |    3 ---
 screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java           |    2 +-
 screen-manage/src/main/java/com/moral/api/pojo/dto/login/LoginDTO.java               |    1 +
 screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java |   26 ++++++++++++++++++++++----
 screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java    |    2 --
 9 files changed, 34 insertions(+), 17 deletions(-)

diff --git a/screen-common/src/main/java/com/moral/util/TokenUtils.java b/screen-common/src/main/java/com/moral/util/TokenUtils.java
index eafb27f..8575e7d 100644
--- a/screen-common/src/main/java/com/moral/util/TokenUtils.java
+++ b/screen-common/src/main/java/com/moral/util/TokenUtils.java
@@ -120,6 +120,11 @@
         return userInfo;
     }
 
+    public static Object getUserInfoByToken() {
+        String token = getCurrentToken();
+        return getUserInfoByToken(token);
+    }
+
     /**
      * @Description: ������token
      * @Param: [uid, token]
@@ -148,7 +153,7 @@
 
 
     /**
-     * @Description: ���������������������token0
+     * @Description: ���������������������token
      * @Param: []
      * @return: void
      * @Author: ���������
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 4b43851..ff2b526 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
@@ -2,12 +2,9 @@
 
 import com.alibaba.fastjson.JSON;
 import com.moral.api.entity.ManageRole;
-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;
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/login/LoginDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/login/LoginDTO.java
index 6fdca56..a6b6b42 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/dto/login/LoginDTO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/login/LoginDTO.java
@@ -1,5 +1,6 @@
 package com.moral.api.pojo.dto.login;
 
+import com.moral.api.pojo.redisBean.AccountInfoDTO;
 import lombok.Data;
 
 /**
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/login/AccountInfoDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/redisBean/AccountInfoDTO.java
similarity index 87%
rename from screen-manage/src/main/java/com/moral/api/pojo/dto/login/AccountInfoDTO.java
rename to screen-manage/src/main/java/com/moral/api/pojo/redisBean/AccountInfoDTO.java
index ce073b0..4874bae 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/dto/login/AccountInfoDTO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/redisBean/AccountInfoDTO.java
@@ -1,4 +1,4 @@
-package com.moral.api.pojo.dto.login;
+package com.moral.api.pojo.redisBean;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.moral.api.entity.ManageAccount;
@@ -10,7 +10,7 @@
 
 /**
  * @ClassName AccountInfoDto
- * @Description TODO
+ * @Description ������������redis������������
  * @Author ���������
  * @Date 2021/3/12 13:51
  * @Version TODO
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java
index 1c870d0..958da56 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java
@@ -4,7 +4,7 @@
 import com.moral.api.entity.ManageAccount;
 import com.moral.api.entity.ManageMenu;
 import com.moral.api.entity.ManageRole;
-import com.moral.api.pojo.dto.login.AccountInfoDTO;
+import com.moral.api.pojo.redisBean.AccountInfoDTO;
 import lombok.Data;
 import org.springframework.util.ObjectUtils;
 
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/login/LoginVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/login/LoginVO.java
index 52878a0..25db17e 100644
--- a/screen-manage/src/main/java/com/moral/api/pojo/vo/login/LoginVO.java
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/login/LoginVO.java
@@ -1,11 +1,10 @@
 package com.moral.api.pojo.vo.login;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
-import com.moral.api.pojo.dto.login.AccountInfoDTO;
+import com.moral.api.pojo.redisBean.AccountInfoDTO;
 import com.moral.api.pojo.dto.login.LoginDTO;
 import com.moral.constant.ResponseCodeEnum;
 import lombok.Data;
-import org.springframework.util.ObjectUtils;
 
 /**
  * @ClassName LoginVo
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
index d4c2560..35f5d05 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
@@ -11,10 +11,9 @@
 import com.moral.api.entity.ManageRole;
 import com.moral.api.mapper.ManageAccountMapper;
 import com.moral.api.mapper.ManageAccountRoleMapper;
-import com.moral.api.mapper.ManageMenuMapper;
 import com.moral.api.mapper.ManageRoleMapper;
 import com.moral.api.pojo.dto.account.*;
-import com.moral.api.pojo.dto.login.AccountInfoDTO;
+import com.moral.api.pojo.redisBean.AccountInfoDTO;
 import com.moral.api.pojo.dto.login.LoginDTO;
 import com.moral.api.pojo.form.account.AccountDeleteForm;
 import com.moral.api.pojo.form.account.AccountInsertForm;
@@ -40,6 +39,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.*;
+import java.util.function.Predicate;
 
 /**
  * <p>
@@ -267,9 +267,27 @@
 
         //������������
         Page resultPage = manageAccountMapper.selectPage(queryPage, wrapper);
-
-        //���������������������������
         List<ManageAccount> accounts = resultPage.getRecords();
+        //������������������������������admin������admin���������������������
+        AccountInfoDTO accountInfoDTO = (AccountInfoDTO) TokenUtils.getUserInfoByToken();
+        List<ManageRole> ownRoles = accountInfoDTO.getRoles();
+        boolean ownAdminRole = false;
+        for (ManageRole ownRole : ownRoles) {
+            String roleName = ownRole.getName();
+            if ("admin".equals(roleName))
+                ownAdminRole = true;
+        }
+        if (!ownAdminRole) {
+            accounts.removeIf(new Predicate<ManageAccount>() {
+                @Override
+                public boolean test(ManageAccount manageAccount) {
+                    if (manageAccount.getAccount().equals("admin"))
+                        return true;
+                    return false;
+                }
+            });
+        }
+        //���������������������������
         List<AccountDTO> accountDTOS = new ArrayList<>();
         for (ManageAccount manageAccount : accounts) {
             AccountDTO accountDTO = new AccountDTO();
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 72b79bc..6f2cb80 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
@@ -4,14 +4,12 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.moral.api.entity.*;
 import com.moral.api.mapper.*;
-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;
-import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
diff --git a/screen-manage/src/main/java/com/moral/api/util/LogUtils.java b/screen-manage/src/main/java/com/moral/api/util/LogUtils.java
index da15277..fbaac38 100644
--- a/screen-manage/src/main/java/com/moral/api/util/LogUtils.java
+++ b/screen-manage/src/main/java/com/moral/api/util/LogUtils.java
@@ -3,12 +3,11 @@
 import com.moral.api.entity.ManageAccount;
 import com.moral.api.entity.ManageLog;
 import com.moral.api.mapper.ManageLogMapper;
-import com.moral.api.pojo.dto.login.AccountInfoDTO;
+import com.moral.api.pojo.redisBean.AccountInfoDTO;
 import com.moral.constant.Constants;
 import com.moral.util.TokenUtils;
 import com.moral.util.WebUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpRequest;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 

--
Gitblit v1.8.0