获取当前登录的用户权限
This commit is contained in:
@@ -58,4 +58,11 @@ public interface ISarMenuService extends IService<SarMenu> {
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> delMenu(Integer menuId);
|
||||
|
||||
/**
|
||||
* 通过Ids查询menu
|
||||
* @param menuIds :菜单Ids
|
||||
* @return List<Menu>
|
||||
*/
|
||||
List<SarMenu> getMenuByIds(List<String> menuIds);
|
||||
}
|
||||
|
||||
+15
@@ -237,6 +237,21 @@ public class SarMenuServiceImpl extends ServiceImpl<SarMenuDao, SarMenu> impleme
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过Ids查询menu
|
||||
* @param menuIds :菜单Ids
|
||||
* @return List<Menu>
|
||||
*/
|
||||
@Override
|
||||
public List<SarMenu> getMenuByIds(List<String> menuIds) {
|
||||
if(menuIds!=null&&menuIds.size()>0){
|
||||
QueryWrapper<SarMenu> sarMenuQueryWrapper=new QueryWrapper<>();
|
||||
sarMenuQueryWrapper.in("id",menuIds);
|
||||
return dao.selectList(sarMenuQueryWrapper);
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归调用获取子节点
|
||||
* @param parent:父节点
|
||||
|
||||
@@ -56,4 +56,11 @@ public interface TsPositionDao extends BaseMapper<TsPosition> {
|
||||
* @return List<TsPosition>
|
||||
*/
|
||||
List<TsPosition> selectPositionAndRole(TsPosition tsPosition);
|
||||
|
||||
/**
|
||||
* 通过岗位列表查询绑定的角色列表
|
||||
* @param positionIds:岗位列表
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getRoleIdsByPositionIds(List<String> positionIds);
|
||||
}
|
||||
|
||||
@@ -59,4 +59,11 @@ public interface ITsPositionService extends IService<TsPosition> {
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> deletePosition(String positionId);
|
||||
|
||||
/**
|
||||
* 通过岗位列表查询绑定的角色列表
|
||||
* @param positionIds:岗位列表
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getRoleIdsByPositionIds(List<String> positionIds);
|
||||
}
|
||||
|
||||
+18
-1
@@ -125,9 +125,26 @@ public class TsPositionServiceImpl extends ServiceImpl<TsPositionDao, TsPosition
|
||||
return Result.error("该岗位不存在");
|
||||
}
|
||||
if(!oldPosition.getType().equals("2")){
|
||||
return Result.error("该岗位不可修改");
|
||||
return Result.error("该岗位不可删除");
|
||||
}
|
||||
List<String> roleIds=tsPositionDao.getRoleId(positionId);
|
||||
if(roleIds!=null&&roleIds.size()>0){
|
||||
return Result.error("该岗位已绑定角色,无法删除");
|
||||
}
|
||||
tsPositionDao.deleteById(positionId);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过岗位列表查询绑定的角色列表
|
||||
* @param positionIds:岗位列表
|
||||
* @return List<String>
|
||||
*/
|
||||
@Override
|
||||
public List<String> getRoleIdsByPositionIds(List<String> positionIds) {
|
||||
if(positionIds!=null&&positionIds.size()>0){
|
||||
return tsPositionDao.getRoleIdsByPositionIds(positionIds);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,4 +52,11 @@ public interface TsRoleDao extends BaseMapper<TsRole> {
|
||||
|
||||
@Select("select menu_id from ts_role_menu where role_id=#{roleId}")
|
||||
List<String> getMenuIdByRoleId(String roleId);
|
||||
|
||||
/**
|
||||
* 通过角色Id列表查询菜单Id列表
|
||||
* @param roleIds:角色ID列表
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getMenuIdsByRoleIds(List<String> roleIds);
|
||||
}
|
||||
|
||||
@@ -64,4 +64,11 @@ public interface ITsRoleService extends IService<TsRole> {
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getMenu(String roleId);
|
||||
|
||||
/**
|
||||
* 通过角色Id列表查询菜单Id列表
|
||||
* @param roleIds:角色ID列表
|
||||
* @return List<String>
|
||||
*/
|
||||
List<String> getMenuIdsByRoleIds(List<String> roleIds);
|
||||
}
|
||||
|
||||
@@ -184,5 +184,18 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
|
||||
return tsRoleDao.getMenuIdByRoleId(roleId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过角色Id列表查询菜单Id列表
|
||||
* @param roleIds:角色ID列表
|
||||
* @return List<String>
|
||||
*/
|
||||
@Override
|
||||
public List<String> getMenuIdsByRoleIds(List<String> roleIds) {
|
||||
if(roleIds!=null&&roleIds.size()>0){
|
||||
return tsRoleDao.getMenuIdsByRoleIds(roleIds);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -46,6 +48,13 @@ public class TsUserController extends BaseController<TsUser> {
|
||||
return tsUserService.setPosition(userPositionVO);
|
||||
}
|
||||
|
||||
@ApiOperation("查询当前登录用户权限")
|
||||
@GetMapping("/menu")
|
||||
public ResponseMessage<List<SarMenu>> getMenu(){
|
||||
List<SarMenu> menus=tsUserService.getMenu();
|
||||
return Result.success(menus);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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<TsUser> {
|
||||
* @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);
|
||||
|
||||
/**
|
||||
|
||||
@@ -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<TsUser> {
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> setPosition(UserPositionVO userPositionVO);
|
||||
|
||||
/**
|
||||
* 查询当前登录的用户权限
|
||||
* @return List<SarMenu>
|
||||
*/
|
||||
List<SarMenu> getMenu();
|
||||
}
|
||||
|
||||
@@ -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<TsUserDao, TsUser> 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<TsUserDao, TsUser> implements
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前登录的用户权限
|
||||
* @return List<SarMenu>
|
||||
*/
|
||||
@Override
|
||||
public List<SarMenu> getMenu() {
|
||||
UserEO userEO=UserUtils.getUser();
|
||||
String userId= userEO.getUsid();
|
||||
System.out.println(userId);
|
||||
List<String> positionIds=tsUserDao.selectPositionIds(userId);
|
||||
List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
|
||||
List<String> menuIds=tsRoleService.getMenuIdsByRoleIds(roleIds);
|
||||
return sarMenuService.getMenuByIds(menuIds);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,4 +33,14 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getRoleIdsByPositionIds" resultType="String">
|
||||
select distinct role_id from ts_position_role
|
||||
where position_id in
|
||||
(
|
||||
<foreach collection="list" item="positionId" separator=",">
|
||||
#{positionId}
|
||||
</foreach>
|
||||
)
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.adc.da.slrs.sarRole.dao.TsRoleDao">
|
||||
|
||||
<select id="getMenuIdsByRoleIds" resultType="String">
|
||||
select distinct menu_id from ts_role_menu
|
||||
where role_id in
|
||||
(
|
||||
<foreach collection="list" separator="," item="roleId">
|
||||
#{roleId}
|
||||
</foreach>
|
||||
)
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user