添加:角色管理配置资料中心权限功能
This commit is contained in:
+4
@@ -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;
|
||||
}
|
||||
|
||||
+36
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user