fetch:权限

This commit is contained in:
root
2021-07-01 10:50:56 +08:00
parent b543a9502d
commit 349737cd67
17 changed files with 139 additions and 31 deletions
@@ -99,7 +99,7 @@ public class SarMenuController extends BaseController<SarMenu> {
@ApiOperation("删除菜单")
@DeleteMapping
public ResponseMessage<Object> delMenu(@RequestParam Integer menuId){
public ResponseMessage<Object> delMenu(@RequestParam String menuId){
return sarMenuEOService.delMenu(menuId);
}
}
@@ -54,10 +54,10 @@ public interface ISarMenuService extends IService<SarMenu> {
/**
* 删除菜单
* @param menuId:菜单ID
* @param menuId :菜单ID
* @return ResponseMessage<Object>
*/
ResponseMessage<Object> delMenu(Integer menuId);
ResponseMessage<Object> delMenu(String menuId);
/**
* 通过Ids查询menu
@@ -222,11 +222,11 @@ public class SarMenuServiceImpl extends ServiceImpl<SarMenuDao, SarMenu> impleme
/**
* 删除菜单
* @param menuId:菜单ID
* @param menuId :菜单ID
* @return ResponseMessage<Object>
*/
@Override
public ResponseMessage<Object> delMenu(Integer menuId) {
public ResponseMessage<Object> delMenu(String menuId) {
QueryWrapper<SarMenu> sarMenuQueryWrapper=new QueryWrapper<>();
sarMenuQueryWrapper.eq("parent_id",menuId);
List<SarMenu> children=dao.selectList(sarMenuQueryWrapper);
@@ -1,6 +1,8 @@
package com.adc.da.slrs.sarPersonalCenter.entity;
import com.adc.da.base.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -21,6 +23,7 @@ import lombok.experimental.Accessors;
@ApiModel(value="SarUserPersonalMenu对象", description="")
public class SarUserPersonalMenu extends BaseEntity {
@TableId(type = IdType.UUID)
@ApiModelProperty("id")
private String id;
@@ -1,6 +1,7 @@
package com.adc.da.slrs.sarPersonalCenter.service;
import com.adc.da.http.ResponseMessage;
import com.adc.da.slrs.sarMenu.entity.SarMenu;
import com.adc.da.slrs.sarPersonalCenter.entity.SarUserPersonalMenu;
import com.adc.da.slrs.sarPersonalCenter.entity.SarUserPersonalMenuEO;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -22,8 +23,11 @@ public interface ISarUserPersonalMenuService extends IService<SarUserPersonalMen
public ResponseMessage<IPage<SarUserPersonalMenu>> updateUserPersonalMenu(SarUserPersonalMenuEO eo);
public void updateUserPersonalMenuForRole(List<SarUserPersonalMenu> menus,String userId);
public void updateUserPersonalMenuForRole(List<SarMenu> menus, String userId);
/**
* 更新用户权限
* @param roleId:角色ID
*/
void setPersonalMenu(String roleId);
}
@@ -2,14 +2,18 @@ package com.adc.da.slrs.sarPersonalCenter.service.impl;
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.sarPersonalCenter.entity.SarUserPersonalMenu;
import com.adc.da.slrs.sarPersonalCenter.dao.SarUserPersonalMenuDao;
import com.adc.da.slrs.sarPersonalCenter.entity.SarUserPersonalMenuEO;
import com.adc.da.slrs.sarPersonalCenter.service.ISarUserPersonalMenuService;
import com.adc.da.slrs.sarUser.service.impl.TsUserServiceImpl;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.*;
@@ -24,7 +28,8 @@ import java.util.*;
*/
@Service
public class SarUserPersonalMenuServiceImpl extends ServiceImpl<SarUserPersonalMenuDao, SarUserPersonalMenu> implements ISarUserPersonalMenuService {
@Autowired
private TsUserServiceImpl tsUserService;
@Override
public ResponseMessage<IPage<SarUserPersonalMenu>> getUserPersonalMenu(SarUserPersonalMenuEO eo) {
@@ -68,16 +73,15 @@ public class SarUserPersonalMenuServiceImpl extends ServiceImpl<SarUserPersonalM
}
@Override
public void updateUserPersonalMenuForRole(List<SarUserPersonalMenu> menuList,String userId) {
public void updateUserPersonalMenuForRole(List<SarMenu> menuList,String userId) {
Set<String> ids=new HashSet<>();
for (SarUserPersonalMenu menu : menuList) {
if(menu.getMenuId()!=null&&menu.getMenuId().trim().length()>0){
for (SarMenu menu : menuList) {
if(menu.getId()!=null&&menu.getId().trim().length()>0){
QueryWrapper<SarUserPersonalMenu> queryWrapper=new QueryWrapper<>();
queryWrapper.eq("user_id",userId);
queryWrapper.eq("menu_id",menu.getMenuId());
queryWrapper.eq("menu_id",menu.getId());
List<SarUserPersonalMenu> menus = getBaseMapper().selectList(queryWrapper);
if (menus.size()>0) {
ids.add(menus.get(0).getId());
@@ -86,9 +90,9 @@ public class SarUserPersonalMenuServiceImpl extends ServiceImpl<SarUserPersonalM
SarUserPersonalMenu sarUserPersonalMenu=new SarUserPersonalMenu();
sarUserPersonalMenu.setMenuName(menu.getMenuName());
sarUserPersonalMenu.setMenuUrl(menu.getMenuUrl());
sarUserPersonalMenu.setUserId(menu.getUserId());
sarUserPersonalMenu.setMenuId(menu.getMenuId());
sarUserPersonalMenu.setMenuUrl(menu.getHref());
sarUserPersonalMenu.setUserId(userId);
sarUserPersonalMenu.setMenuId(menu.getId());
sarUserPersonalMenu.setState(0);
getBaseMapper().insert(sarUserPersonalMenu);
@@ -101,4 +105,18 @@ public class SarUserPersonalMenuServiceImpl extends ServiceImpl<SarUserPersonalM
getBaseMapper().delete(queryWrapper);
}
/**
* 更新用户权限
* @param roleId:角色ID
*/
@Async
@Override
public void setPersonalMenu(String roleId) {
List<String> userIds=tsUserService.getUserIdsByRoleId(roleId);
for(String userId:userIds){
List<SarMenu> menus=tsUserService.getMenusByUserId(userId);
updateUserPersonalMenuForRole(menus,userId);
}
}
}
@@ -63,4 +63,12 @@ public interface TsPositionDao extends BaseMapper<TsPosition> {
* @return List<String>
*/
List<String> getRoleIdsByPositionIds(List<String> positionIds);
/**
* 通过roleId查询岗位ID列表
* @param roleId:角色ID
* @return List<String>
*/
@Select("select position_id from ts_position_role where role_id=#{roleId}")
List<String> getPositionIdsByRoleId(String roleId);
}
@@ -66,4 +66,11 @@ public interface ITsPositionService extends IService<TsPosition> {
* @return List<String>
*/
List<String> getRoleIdsByPositionIds(List<String> positionIds);
/**
* 通过roleId查询岗位ID列表
* @param roleId:角色ID
* @return List<String>
*/
List<String> getPositionIdsByRoleId(String roleId);
}
@@ -147,4 +147,14 @@ public class TsPositionServiceImpl extends ServiceImpl<TsPositionDao, TsPosition
}
return null;
}
/**
* 通过roleId查询岗位ID列表
* @param roleId:角色ID
* @return List<String>
*/
@Override
public List<String> getPositionIdsByRoleId(String roleId) {
return tsPositionDao.getPositionIdsByRoleId(roleId);
}
}
@@ -24,7 +24,7 @@ import java.util.List;
*/
@RestController
@Api(tags = "资源管理")
@RequestMapping("/sarResource/ts-resource")
@RequestMapping("/api/sarResource/ts-resource")
public class TsResourceController extends BaseController<TsResource> {
@Autowired
private ITsResourceService tsResourceService;
@@ -50,7 +50,7 @@ public class TsResourceController extends BaseController<TsResource> {
@ApiOperation("删除资源")
@DeleteMapping
public ResponseMessage<Object> delResource(@RequestParam Integer resourceId){
public ResponseMessage<Object> delResource(@RequestParam String resourceId){
return tsResourceService.delResource(resourceId);
}
@@ -22,7 +22,7 @@ public interface ITsResourceService extends IService<TsResource> {
ResponseMessage<Object> updateResource(TsResource tsResource);
ResponseMessage<Object> delResource(Integer resourceId);
ResponseMessage<Object> delResource(String resourceId);
/**
* 通过Ids查询menu
@@ -84,7 +84,7 @@ public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource
* @return ResponseMessage<Object>
*/
@Override
public ResponseMessage<Object> delResource(Integer ResourceId) {
public ResponseMessage<Object> delResource(String ResourceId) {
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
TsResourceQueryWrapper.eq("parent_id",ResourceId);
List<TsResource> children=dao.selectList(TsResourceQueryWrapper);
@@ -5,15 +5,18 @@ import com.adc.da.http.Result;
import com.adc.da.slrs.sarMenu.dao.SarMenuDao;
import com.adc.da.slrs.sarMenu.entity.SarMenu;
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
import com.adc.da.slrs.sarPersonalCenter.service.ISarUserPersonalMenuService;
import com.adc.da.slrs.sarRole.entity.TsRole;
import com.adc.da.slrs.sarRole.dao.TsRoleDao;
import com.adc.da.slrs.sarRole.entity.TsRoleMenuVO;
import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
import com.adc.da.slrs.sarRole.service.ITsRoleService;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.utils.util.ListUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -28,13 +31,15 @@ import java.util.Map;
* @author zyl
* @since 2021-06-22
*/
@EnableAsync
@Service
public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements ITsRoleService {
@Autowired
private TsRoleDao tsRoleDao;
@Autowired
private ISarMenuService sarMenuService;
@Autowired
private ISarUserPersonalMenuService sarUserPersonalMenuService;
/**
* 查询所有角色
* @return List<TsRole>
@@ -170,8 +175,7 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
tsRoleDao.delMenu(tsRoleMenuVO.getRoleId(),menuId);
}
}
//修改首页自定义目录
// List<SarMenu> menus=sarMenuService.getMenusByIds(tsRoleMenuVO.getMenuIds());
sarUserPersonalMenuService.setPersonalMenu(tsRoleMenuVO.getRoleId());
return Result.success();
}
@@ -223,8 +227,7 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
tsRoleDao.delResource(tsRoleResourceVO.getRoleId(),menuId);
}
}
//修改首页自定义目录
// List<SarMenu> menus=sarMenuService.getMenusByIds(tsRoleMenuVO.getMenuIds());
return Result.success();
}
@@ -252,4 +255,6 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
}
}
@@ -46,4 +46,11 @@ public interface TsUserDao extends BaseMapper<TsUser> {
* @return List<TsUser>
*/
List<TsUser> getUserAndPosition(String institutionId);
/**
* 通过岗位Id列表查询用户ID列表
* @param positionIds:岗位ID列表
* @return List<String>
*/
List<String> getUserIdsByPositionIds(List<String> positionIds);
}
@@ -48,4 +48,19 @@ public interface ITsUserService extends IService<TsUser> {
List<SarMenu> getMenu();
List<TsResource> getResource();
/**
* 配置个人菜单
* @param roleId :角色ID
* @return List<String>
*/
public List<String> getUserIdsByRoleId(String roleId);
/**
* 通过用户ID查询菜单
* @param userId:用户ID
* @return List<SarMenu>
*/
public List<SarMenu> getMenusByUserId(String userId);
}
@@ -5,7 +5,6 @@ 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.sarResource.entity.TsResource;
import com.adc.da.slrs.sarResource.service.ITsResourceService;
@@ -15,15 +14,12 @@ 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;
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;
@@ -47,6 +43,8 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
private ISarMenuService sarMenuService;
@Autowired
private ITsResourceService tsResourceService;
// @Autowired
// private ISarUserPersonalMenuService sarUserPersonalMenuService;
/**
* 通过机构ID查询人员
@@ -123,7 +121,6 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
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);
@@ -144,4 +141,28 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
List<String> resourceIds=tsRoleService.getResourceIdsByRoleIds(roleIds);
return tsResourceService.getResourceByIds(resourceIds);
}
/**
* 配置个人菜单
* @param roleId :角色ID
* @return List<String>
*/
@Override
public List<String> getUserIdsByRoleId(String roleId) {
List<String> positionIds=tsPositionService.getPositionIdsByRoleId(roleId);
return tsUserDao.getUserIdsByPositionIds(positionIds);
}
/**
* 通过用户ID查询菜单
* @param userId:用户ID
* @return List<SarMenu>
*/
@Override
public List<SarMenu> getMenusByUserId(String userId){
List<String> positionIds=tsUserDao.selectPositionIds(userId);
List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
List<String> menuIds=tsRoleService.getMenuIdsByRoleIds(roleIds);
return sarMenuService.getMenuByIds(menuIds);
}
}
@@ -36,4 +36,14 @@
on up.position_id=p.id
where u.institution_id=#{institutionId}
</select>
<select id="getUserIdsByPositionIds" resultType="String">
select user_id from ts_user_position
where position_id in
(
<foreach collection="list" item="positionId" separator=",">
#{positionId}
</foreach>
)
</select>
</mapper>