kaiyu
2021-06-08 6ebaa774117610a8599d369fe9d8258e62a69031
screen-manage
修改账号查询功能,除admin角色外无法查找admin账号
1 files renamed
8 files modified
51 ■■■■■ changed files
screen-common/src/main/java/com/moral/util/TokenUtils.java 7 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/ManageRoleController.java 3 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/pojo/dto/login/LoginDTO.java 1 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/pojo/redisBean/AccountInfoDTO.java 4 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java 2 ●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/pojo/vo/login/LoginVO.java 3 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java 26 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java 2 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/util/LogUtils.java 3 ●●●● patch | view | raw | blame | history
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: 陈凯裕
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;
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;
/**
screen-manage/src/main/java/com/moral/api/pojo/redisBean/AccountInfoDTO.java
File was renamed from screen-manage/src/main/java/com/moral/api/pojo/dto/login/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
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;
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
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();
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;
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;