From c4a885922dfe144e7145fe25e706e18e35f30368 Mon Sep 17 00:00:00 2001 From: root <8964602+zxylbj@user.noreply.gitee.com> Date: Tue, 29 Jun 2021 17:28:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=BD=93=E5=89=8D=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E7=9A=84=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../slrs/sarMenu/service/ISarMenuService.java | 7 +++++ .../service/impl/SarMenuServiceImpl.java | 15 ++++++++++ .../slrs/sarPosition/dao/TsPositionDao.java | 7 +++++ .../service/ITsPositionService.java | 7 +++++ .../service/impl/TsPositionServiceImpl.java | 19 +++++++++++- .../adc/da/slrs/sarRole/dao/TsRoleDao.java | 7 +++++ .../slrs/sarRole/service/ITsRoleService.java | 7 +++++ .../service/impl/TsRoleServiceImpl.java | 13 ++++++++ .../sarUser/controller/TsUserController.java | 9 ++++++ .../adc/da/slrs/sarUser/dao/TsUserDao.java | 2 ++ .../slrs/sarUser/service/ITsUserService.java | 7 +++++ .../service/impl/TsUserServiceImpl.java | 30 +++++++++++++++++++ .../mapper/sarPosition/TsPositionMapper.xml | 10 +++++++ .../mybatis/mapper/sarRole/TsRoleMapper.xml | 10 ++++++- 14 files changed, 148 insertions(+), 2 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/service/ISarMenuService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/service/ISarMenuService.java index 7921d379..ddc99449 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/service/ISarMenuService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/service/ISarMenuService.java @@ -58,4 +58,11 @@ public interface ISarMenuService extends IService { * @return ResponseMessage */ ResponseMessage delMenu(Integer menuId); + + /** + * 通过Ids查询menu + * @param menuIds :菜单Ids + * @return List + */ + List getMenuByIds(List menuIds); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/service/impl/SarMenuServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/service/impl/SarMenuServiceImpl.java index d407cc1c..9fdd43c3 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/service/impl/SarMenuServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/service/impl/SarMenuServiceImpl.java @@ -237,6 +237,21 @@ public class SarMenuServiceImpl extends ServiceImpl impleme return Result.success(); } + /** + * 通过Ids查询menu + * @param menuIds :菜单Ids + * @return List + */ + @Override + public List getMenuByIds(List menuIds) { + if(menuIds!=null&&menuIds.size()>0){ + QueryWrapper sarMenuQueryWrapper=new QueryWrapper<>(); + sarMenuQueryWrapper.in("id",menuIds); + return dao.selectList(sarMenuQueryWrapper); + } + return new ArrayList<>(); + } + /** * 递归调用获取子节点 * @param parent:父节点 diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/dao/TsPositionDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/dao/TsPositionDao.java index 0d4fed01..e2cfd184 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/dao/TsPositionDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/dao/TsPositionDao.java @@ -56,4 +56,11 @@ public interface TsPositionDao extends BaseMapper { * @return List */ List selectPositionAndRole(TsPosition tsPosition); + + /** + * 通过岗位列表查询绑定的角色列表 + * @param positionIds:岗位列表 + * @return List + */ + List getRoleIdsByPositionIds(List positionIds); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/ITsPositionService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/ITsPositionService.java index 923655ed..5691afd3 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/ITsPositionService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/ITsPositionService.java @@ -59,4 +59,11 @@ public interface ITsPositionService extends IService { * @return ResponseMessage */ ResponseMessage deletePosition(String positionId); + + /** + * 通过岗位列表查询绑定的角色列表 + * @param positionIds:岗位列表 + * @return List + */ + List getRoleIdsByPositionIds(List positionIds); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java index f17e5f81..ea291337 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java @@ -125,9 +125,26 @@ public class TsPositionServiceImpl extends ServiceImpl roleIds=tsPositionDao.getRoleId(positionId); + if(roleIds!=null&&roleIds.size()>0){ + return Result.error("该岗位已绑定角色,无法删除"); } tsPositionDao.deleteById(positionId); return Result.success(); } + + /** + * 通过岗位列表查询绑定的角色列表 + * @param positionIds:岗位列表 + * @return List + */ + @Override + public List getRoleIdsByPositionIds(List positionIds) { + if(positionIds!=null&&positionIds.size()>0){ + return tsPositionDao.getRoleIdsByPositionIds(positionIds); + } + return null; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/dao/TsRoleDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/dao/TsRoleDao.java index cda28f5a..f742edf1 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/dao/TsRoleDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/dao/TsRoleDao.java @@ -52,4 +52,11 @@ public interface TsRoleDao extends BaseMapper { @Select("select menu_id from ts_role_menu where role_id=#{roleId}") List getMenuIdByRoleId(String roleId); + + /** + * 通过角色Id列表查询菜单Id列表 + * @param roleIds:角色ID列表 + * @return List + */ + List getMenuIdsByRoleIds(List roleIds); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/ITsRoleService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/ITsRoleService.java index c06513c1..29eb5df8 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/ITsRoleService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/ITsRoleService.java @@ -64,4 +64,11 @@ public interface ITsRoleService extends IService { * @return List */ List getMenu(String roleId); + + /** + * 通过角色Id列表查询菜单Id列表 + * @param roleIds:角色ID列表 + * @return List + */ + List getMenuIdsByRoleIds(List roleIds); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java index 476ddbaf..556249c0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java @@ -184,5 +184,18 @@ public class TsRoleServiceImpl extends ServiceImpl implements return tsRoleDao.getMenuIdByRoleId(roleId); } + /** + * 通过角色Id列表查询菜单Id列表 + * @param roleIds:角色ID列表 + * @return List + */ + @Override + public List getMenuIdsByRoleIds(List roleIds) { + if(roleIds!=null&&roleIds.size()>0){ + return tsRoleDao.getMenuIdsByRoleIds(roleIds); + } + return null; + } + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/controller/TsUserController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/controller/TsUserController.java index 0d99a269..f02253a2 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/controller/TsUserController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/controller/TsUserController.java @@ -3,6 +3,7 @@ package com.adc.da.slrs.sarUser.controller; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; +import com.adc.da.slrs.sarMenu.entity.SarMenu; import com.adc.da.slrs.sarUser.entity.UserPositionVO; import com.adc.da.slrs.sarUser.service.ITsUserService; import io.swagger.annotations.ApiOperation; @@ -14,6 +15,7 @@ import io.swagger.annotations.Api; import com.adc.da.base.web.BaseController; import javax.validation.Valid; +import java.util.List; /** *

@@ -46,6 +48,13 @@ public class TsUserController extends BaseController { return tsUserService.setPosition(userPositionVO); } + @ApiOperation("查询当前登录用户权限") + @GetMapping("/menu") + public ResponseMessage> getMenu(){ + List menus=tsUserService.getMenu(); + return Result.success(menus); + } + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java index d7434d30..73962ead 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java @@ -2,6 +2,7 @@ package com.adc.da.slrs.sarUser.dao; import com.adc.da.slrs.sarUser.entity.TsUser; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Select; @@ -36,6 +37,7 @@ public interface TsUserDao extends BaseMapper { * @param userId:用户ID * @param positionId:岗位ID */ + @Delete("delete from ts_user_position where user_id=#{userId} and position_id=#{positionId}") void delPosition(String userId, String positionId); /** diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java index deb6dd93..8d35fafe 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java @@ -1,6 +1,7 @@ package com.adc.da.slrs.sarUser.service; import com.adc.da.http.ResponseMessage; +import com.adc.da.slrs.sarMenu.entity.SarMenu; import com.adc.da.slrs.sarUser.entity.TsUser; import com.adc.da.slrs.sarUser.entity.UserPositionVO; import com.baomidou.mybatisplus.extension.service.IService; @@ -38,4 +39,10 @@ public interface ITsUserService extends IService { * @return ResponseMessage */ ResponseMessage setPosition(UserPositionVO userPositionVO); + + /** + * 查询当前登录的用户权限 + * @return List + */ + List getMenu(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java index 7f6d1789..476b4917 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java @@ -2,10 +2,18 @@ package com.adc.da.slrs.sarUser.service.impl; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; +import com.adc.da.login.util.UserUtils; +import com.adc.da.slrs.sarMenu.entity.SarMenu; +import com.adc.da.slrs.sarMenu.service.ISarMenuService; +import com.adc.da.slrs.sarPosition.entity.TsPosition; +import com.adc.da.slrs.sarPosition.service.ITsPositionService; +import com.adc.da.slrs.sarRole.service.ITsRoleService; import com.adc.da.slrs.sarUser.entity.TsUser; import com.adc.da.slrs.sarUser.dao.TsUserDao; import com.adc.da.slrs.sarUser.entity.UserPositionVO; import com.adc.da.slrs.sarUser.service.ITsUserService; +import com.adc.da.sys.entity.UserEO; +import com.adc.da.util.LoginUserUtil; import com.adc.da.utils.util.ListUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -13,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.awt.*; import java.util.List; import java.util.Map; @@ -28,6 +37,12 @@ import java.util.Map; public class TsUserServiceImpl extends ServiceImpl implements ITsUserService { @Autowired private TsUserDao tsUserDao; + @Autowired + private ITsPositionService tsPositionService; + @Autowired + private ITsRoleService tsRoleService; + @Autowired + private ISarMenuService sarMenuService; /** * 通过机构ID查询人员 @@ -95,4 +110,19 @@ public class TsUserServiceImpl extends ServiceImpl implements } return Result.success(); } + + /** + * 查询当前登录的用户权限 + * @return List + */ + @Override + public List getMenu() { + UserEO userEO=UserUtils.getUser(); + String userId= userEO.getUsid(); + System.out.println(userId); + List positionIds=tsUserDao.selectPositionIds(userId); + List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); + List menuIds=tsRoleService.getMenuIdsByRoleIds(roleIds); + return sarMenuService.getMenuByIds(menuIds); + } } diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarPosition/TsPositionMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarPosition/TsPositionMapper.xml index 33c56c03..123c3630 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarPosition/TsPositionMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarPosition/TsPositionMapper.xml @@ -33,4 +33,14 @@ + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarRole/TsRoleMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarRole/TsRoleMapper.xml index 98887dad..a366fda3 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarRole/TsRoleMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarRole/TsRoleMapper.xml @@ -1,5 +1,13 @@ - +