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