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