diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/controller/SarMenuController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/controller/SarMenuController.java index 765bf2c4..a3cf165f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/controller/SarMenuController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/controller/SarMenuController.java @@ -99,7 +99,7 @@ public class SarMenuController extends BaseController { @ApiOperation("删除菜单") @DeleteMapping - public ResponseMessage delMenu(@RequestParam Integer menuId){ + public ResponseMessage delMenu(@RequestParam String menuId){ return sarMenuEOService.delMenu(menuId); } } 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 ddc99449..73fcc03b 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 @@ -54,10 +54,10 @@ public interface ISarMenuService extends IService { /** * 删除菜单 - * @param menuId:菜单ID + * @param menuId :菜单ID * @return ResponseMessage */ - ResponseMessage delMenu(Integer menuId); + ResponseMessage delMenu(String menuId); /** * 通过Ids查询menu 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 9fdd43c3..609f7e67 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 @@ -222,11 +222,11 @@ public class SarMenuServiceImpl extends ServiceImpl impleme /** * 删除菜单 - * @param menuId:菜单ID + * @param menuId :菜单ID * @return ResponseMessage */ @Override - public ResponseMessage delMenu(Integer menuId) { + public ResponseMessage delMenu(String menuId) { QueryWrapper sarMenuQueryWrapper=new QueryWrapper<>(); sarMenuQueryWrapper.eq("parent_id",menuId); List children=dao.selectList(sarMenuQueryWrapper); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPersonalCenter/entity/SarUserPersonalMenu.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPersonalCenter/entity/SarUserPersonalMenu.java index c8005efd..76fab518 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPersonalCenter/entity/SarUserPersonalMenu.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPersonalCenter/entity/SarUserPersonalMenu.java @@ -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; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPersonalCenter/service/ISarUserPersonalMenuService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPersonalCenter/service/ISarUserPersonalMenuService.java index 3ec6ace4..e29c294a 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPersonalCenter/service/ISarUserPersonalMenuService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPersonalCenter/service/ISarUserPersonalMenuService.java @@ -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> updateUserPersonalMenu(SarUserPersonalMenuEO eo); - public void updateUserPersonalMenuForRole(List menus,String userId); - - + public void updateUserPersonalMenuForRole(List menus, String userId); + /** + * 更新用户权限 + * @param roleId:角色ID + */ + void setPersonalMenu(String roleId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPersonalCenter/service/impl/SarUserPersonalMenuServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPersonalCenter/service/impl/SarUserPersonalMenuServiceImpl.java index 42b8052d..9cc0e392 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPersonalCenter/service/impl/SarUserPersonalMenuServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPersonalCenter/service/impl/SarUserPersonalMenuServiceImpl.java @@ -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 implements ISarUserPersonalMenuService { - + @Autowired + private TsUserServiceImpl tsUserService; @Override public ResponseMessage> getUserPersonalMenu(SarUserPersonalMenuEO eo) { @@ -68,16 +73,15 @@ public class SarUserPersonalMenuServiceImpl extends ServiceImpl menuList,String userId) { - + public void updateUserPersonalMenuForRole(List menuList,String userId) { Set 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 queryWrapper=new QueryWrapper<>(); queryWrapper.eq("user_id",userId); - queryWrapper.eq("menu_id",menu.getMenuId()); + queryWrapper.eq("menu_id",menu.getId()); List menus = getBaseMapper().selectList(queryWrapper); if (menus.size()>0) { ids.add(menus.get(0).getId()); @@ -86,9 +90,9 @@ public class SarUserPersonalMenuServiceImpl extends ServiceImpl userIds=tsUserService.getUserIdsByRoleId(roleId); + for(String userId:userIds){ + List menus=tsUserService.getMenusByUserId(userId); + updateUserPersonalMenuForRole(menus,userId); + } + } } 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 e2cfd184..d5989e46 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 @@ -63,4 +63,12 @@ public interface TsPositionDao extends BaseMapper { * @return List */ List getRoleIdsByPositionIds(List positionIds); + + /** + * 通过roleId查询岗位ID列表 + * @param roleId:角色ID + * @return List + */ + @Select("select position_id from ts_position_role where role_id=#{roleId}") + List getPositionIdsByRoleId(String roleId); } 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 5691afd3..79565b95 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 @@ -66,4 +66,11 @@ public interface ITsPositionService extends IService { * @return List */ List getRoleIdsByPositionIds(List positionIds); + + /** + * 通过roleId查询岗位ID列表 + * @param roleId:角色ID + * @return List + */ + List getPositionIdsByRoleId(String roleId); } 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 ea291337..9ac99608 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 @@ -147,4 +147,14 @@ public class TsPositionServiceImpl extends ServiceImpl + */ + @Override + public List getPositionIdsByRoleId(String roleId) { + return tsPositionDao.getPositionIdsByRoleId(roleId); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/controller/TsResourceController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/controller/TsResourceController.java index 3b573f32..3c7ad27e 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/controller/TsResourceController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/controller/TsResourceController.java @@ -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 { @Autowired private ITsResourceService tsResourceService; @@ -50,7 +50,7 @@ public class TsResourceController extends BaseController { @ApiOperation("删除资源") @DeleteMapping - public ResponseMessage delResource(@RequestParam Integer resourceId){ + public ResponseMessage delResource(@RequestParam String resourceId){ return tsResourceService.delResource(resourceId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java index 5a260a74..0dfe5a24 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java @@ -22,7 +22,7 @@ public interface ITsResourceService extends IService { ResponseMessage updateResource(TsResource tsResource); - ResponseMessage delResource(Integer resourceId); + ResponseMessage delResource(String resourceId); /** * 通过Ids查询menu diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java index 2638878d..3c284b46 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java @@ -84,7 +84,7 @@ public class TsResourceServiceImpl extends ServiceImpl */ @Override - public ResponseMessage delResource(Integer ResourceId) { + public ResponseMessage delResource(String ResourceId) { QueryWrapper TsResourceQueryWrapper=new QueryWrapper<>(); TsResourceQueryWrapper.eq("parent_id",ResourceId); List children=dao.selectList(TsResourceQueryWrapper); 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 387675c5..ccd7b7ff 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 @@ -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 implements ITsRoleService { @Autowired private TsRoleDao tsRoleDao; @Autowired private ISarMenuService sarMenuService; - + @Autowired + private ISarUserPersonalMenuService sarUserPersonalMenuService; /** * 查询所有角色 * @return List @@ -170,8 +175,7 @@ public class TsRoleServiceImpl extends ServiceImpl implements tsRoleDao.delMenu(tsRoleMenuVO.getRoleId(),menuId); } } - //修改首页自定义目录 -// List menus=sarMenuService.getMenusByIds(tsRoleMenuVO.getMenuIds()); + sarUserPersonalMenuService.setPersonalMenu(tsRoleMenuVO.getRoleId()); return Result.success(); } @@ -223,8 +227,7 @@ public class TsRoleServiceImpl extends ServiceImpl implements tsRoleDao.delResource(tsRoleResourceVO.getRoleId(),menuId); } } - //修改首页自定义目录 -// List menus=sarMenuService.getMenusByIds(tsRoleMenuVO.getMenuIds()); + return Result.success(); } @@ -252,4 +255,6 @@ public class TsRoleServiceImpl extends ServiceImpl implements } + + } 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 73962ead..260e3afd 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 @@ -46,4 +46,11 @@ public interface TsUserDao extends BaseMapper { * @return List */ List getUserAndPosition(String institutionId); + + /** + * 通过岗位Id列表查询用户ID列表 + * @param positionIds:岗位ID列表 + * @return List + */ + List getUserIdsByPositionIds(List positionIds); } 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 7bb35bd1..00560dd3 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 @@ -48,4 +48,19 @@ public interface ITsUserService extends IService { List getMenu(); List getResource(); + + /** + * 配置个人菜单 + * @param roleId :角色ID + * @return List + */ + public List getUserIdsByRoleId(String roleId); + + /** + * 通过用户ID查询菜单 + * @param userId:用户ID + * @return List + */ + public List getMenusByUserId(String userId); + } 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 8ef1a20a..2482934d 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 @@ -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 implements private ISarMenuService sarMenuService; @Autowired private ITsResourceService tsResourceService; +// @Autowired +// private ISarUserPersonalMenuService sarUserPersonalMenuService; /** * 通过机构ID查询人员 @@ -123,7 +121,6 @@ public class TsUserServiceImpl extends ServiceImpl implements 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); @@ -144,4 +141,28 @@ public class TsUserServiceImpl extends ServiceImpl implements List resourceIds=tsRoleService.getResourceIdsByRoleIds(roleIds); return tsResourceService.getResourceByIds(resourceIds); } + + /** + * 配置个人菜单 + * @param roleId :角色ID + * @return List + */ + @Override + public List getUserIdsByRoleId(String roleId) { + List positionIds=tsPositionService.getPositionIdsByRoleId(roleId); + return tsUserDao.getUserIdsByPositionIds(positionIds); + } + + /** + * 通过用户ID查询菜单 + * @param userId:用户ID + * @return List + */ + @Override + public List getMenusByUserId(String 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/sarUser/TsUserMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml index 67b94fdc..158d3b20 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml @@ -36,4 +36,14 @@ on up.position_id=p.id where u.institution_id=#{institutionId} + +