From b038ac6f3d0f32a9baf4391aed9dd3447bd70100 Mon Sep 17 00:00:00 2001 From: liyawei Date: Mon, 17 Oct 2022 16:03:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0:=E8=A7=92=E8=89=B2=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E9=85=8D=E7=BD=AE=E8=B5=84=E6=96=99=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E6=9D=83=E9=99=90=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/FileMaterialPage.java | 4 ++ .../service/impl/FileMaterialServiceImpl.java | 36 ++++++++++++++++++ .../zlTree/controller/ZlTreeController.java | 9 ++++- .../slrs/zlTree/service/IZlTreeService.java | 6 +++ .../service/impl/ZlTreeServiceImpl.java | 38 ++++++++++++++++++- .../fileMaterialCenter/FileMaterialMapper.xml | 6 +++ 6 files changed, 97 insertions(+), 2 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/entity/FileMaterialPage.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/entity/FileMaterialPage.java index 3cf6d7e1..35df3189 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/entity/FileMaterialPage.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/entity/FileMaterialPage.java @@ -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 treeIdList; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java index 39b26c26..ef9d3e82 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java @@ -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; /** *

@@ -29,6 +38,12 @@ public class FileMaterialServiceImpl extends ServiceImpl(queryPage.getPage(),queryPage.getPageSize()); } + + // 获取当前登录人 + String loginUserId = LoginUserUtil.getUserId(); + + List positionIds = tsUserDao.selectPositionIds(loginUserId); + List roleIds = tsPositionService.getRoleIdsByPositionIds(positionIds); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in("ROLE_ID", roleIds); + List tsRoleMenuData = iTsRoleMenuDataService.list(wrapper); + List 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); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/controller/ZlTreeController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/controller/ZlTreeController.java index f0170aa5..879bf942 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/controller/ZlTreeController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/controller/ZlTreeController.java @@ -9,6 +9,7 @@ import com.adc.da.slrs.zlTree.entity.ZlTree; import com.adc.da.slrs.zlTree.entity.ZlTreeData; import com.adc.da.slrs.zlTree.service.IZlTreeDataService; import com.adc.da.slrs.zlTree.service.IZlTreeService; +import com.adc.da.util.LoginUserUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; @@ -64,7 +65,6 @@ public class ZlTreeController extends BaseController { } - @GetMapping @ApiOperation("查询树结构") public ResponseMessage> getFileMaterial(){ @@ -72,6 +72,13 @@ public class ZlTreeController extends BaseController { return Result.success(fileMaterial); } + @GetMapping("/permissConfig") + @ApiOperation("查询树结构-角色管理") + public ResponseMessage> getFileMaterialM(){ + List fileMaterial = iZlTreeService.getLeftTreeM(); + return Result.success(fileMaterial); + } + @PutMapping @ApiOperation("修改树节点") diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java index 0479fa90..86898e09 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java @@ -25,6 +25,12 @@ public interface IZlTreeService extends IService { */ List getLeftTree(); + /** + * 角色管理-查询树结构 + * @return + */ + List getLeftTreeM(); + /** * 获取类型 diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java index 275df136..4394b86b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java @@ -1,10 +1,15 @@ package com.adc.da.slrs.zlTree.service.impl; +import com.adc.da.slrs.sarPosition.service.ITsPositionService; +import com.adc.da.slrs.sarRole.service.ITsRoleService; +import com.adc.da.slrs.sarUser.dao.TsUserDao; +import com.adc.da.slrs.sarUser.service.ITsUserService; import com.adc.da.slrs.zlTree.dao.ZlTreeDao; import com.adc.da.slrs.zlTree.entity.TreeData; import com.adc.da.slrs.zlTree.entity.ZlTree; import com.adc.da.slrs.zlTree.entity.ZlTreeData; import com.adc.da.slrs.zlTree.service.IZlTreeService; +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; @@ -31,10 +36,41 @@ public class ZlTreeServiceImpl extends ServiceImpl implements @Autowired ZlTreeDao zlTreeDao; - + @Autowired + private ITsUserService tsUserService; @Override public List getLeftTree() { + // 获取当前登录人 + String loginUserId = LoginUserUtil.getUserId(); + // 查询当前登录人的权限菜单 + List recourceIdList = tsUserService.getResourceUserId(loginUserId); + + TreeData res=new TreeData(); + QueryWrapper wrapper=new QueryWrapper<>(); + wrapper.lambda().in(ZlTree::getId, recourceIdList); + wrapper.orderByAsc("length(sort),sort"); + List list=this.list(wrapper); + List treeData=new ArrayList<>(); + //代码遍历生成树 + for (ZlTree zlTree:list) { + if (StringUtils.isNotBlank(zlTree.getParentId())){ + TreeData zlTreeData=new TreeData(); + BeanUtils.copyProperties(zlTree,zlTreeData); + treeData.add(zlTreeData); + }else { + BeanUtils.copyProperties(zlTree,res); + } + } + //递归生成树 + digui(res,treeData); + List treeData1=new ArrayList<>(); + treeData1.add(res); + return treeData1; + } + + @Override + public List getLeftTreeM() { TreeData res=new TreeData(); QueryWrapper wrapper=new QueryWrapper<>(); wrapper.orderByAsc("length(sort),sort"); diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/fileMaterialCenter/FileMaterialMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/fileMaterialCenter/FileMaterialMapper.xml index a0d1a851..8c0c737d 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/fileMaterialCenter/FileMaterialMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/fileMaterialCenter/FileMaterialMapper.xml @@ -28,6 +28,12 @@ and zd.id=#{flieM.treeId} + + and zd.id in + + #{item} + + and fm.id=#{flieM.id}