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/service/impl/ManageAccountServiceImpl.java |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

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();

--
Gitblit v1.8.0