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