添加:角色管理配置资料中心权限功能

This commit is contained in:
liyawei
2022-10-17 16:03:50 +08:00
parent 0ebdd2f435
commit b038ac6f3d
6 changed files with 97 additions and 2 deletions
@@ -2,6 +2,8 @@ package com.adc.da.slrs.fileMaterialCenter.entity;
import lombok.Data;
import java.util.List;
/**
* @author zhaokaiyao
*/
@@ -24,4 +26,6 @@ public class FileMaterialPage {
private Integer page;
private Integer pageSize;
private List<String> treeIdList;
}
@@ -1,13 +1,21 @@
package com.adc.da.slrs.fileMaterialCenter.service.impl;
import com.adc.da.http.Result;
import com.adc.da.slrs.fileMaterialCenter.entity.FileMaterial;
import com.adc.da.slrs.fileMaterialCenter.dao.FileMaterialDao;
import com.adc.da.slrs.fileMaterialCenter.entity.FileMaterialPage;
import com.adc.da.slrs.fileMaterialCenter.service.IFileMaterialService;
import com.adc.da.slrs.sarPosition.service.ITsPositionService;
import com.adc.da.slrs.sarUser.dao.TsUserDao;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.slrs.tsRoleMeunData.entity.TsRoleMenuData;
import com.adc.da.slrs.tsRoleMeunData.service.ITsRoleMenuDataService;
import com.adc.da.util.LoginUserUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -15,6 +23,7 @@ import org.springframework.stereotype.Service;
import javax.management.Query;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
@@ -29,6 +38,12 @@ public class FileMaterialServiceImpl extends ServiceImpl<FileMaterialDao, FileMa
@Autowired
FileMaterialDao fileMaterialDao;
@Autowired
private TsUserDao tsUserDao;
@Autowired
private ITsPositionService tsPositionService;
@Autowired
private ITsRoleMenuDataService iTsRoleMenuDataService;
@Override
@@ -39,6 +54,27 @@ public class FileMaterialServiceImpl extends ServiceImpl<FileMaterialDao, FileMa
}else {
page=new Page<>(queryPage.getPage(),queryPage.getPageSize());
}
// 获取当前登录人
String loginUserId = LoginUserUtil.getUserId();
List<String> positionIds = tsUserDao.selectPositionIds(loginUserId);
List<String> roleIds = tsPositionService.getRoleIdsByPositionIds(positionIds);
QueryWrapper<TsRoleMenuData> wrapper = new QueryWrapper<>();
wrapper.in("ROLE_ID", roleIds);
List<TsRoleMenuData> tsRoleMenuData = iTsRoleMenuDataService.list(wrapper);
List<String> treeIdList = tsRoleMenuData.stream().map(TsRoleMenuData::getMenuId).distinct().collect(Collectors.toList());
if (CollectionUtils.isEmpty(treeIdList)) {
return null;
}
if(StringUtils.isEmpty(queryPage.getTreeId())) {
queryPage.setTreeIdList(treeIdList);
} else {
// 查看菜单是否有数据权限
if (!treeIdList.contains(queryPage.getTreeId())) {
return null;
}
}
return fileMaterialDao.getFileMaterialPage(page,queryPage);
}