InsRolePermissionsServiceImpl.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package com.ydtech.modules.admin.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  4. import com.ydtech.modules.admin.dao.InsRolePermissionsMapper;
  5. import com.ydtech.modules.admin.model.InsRoleMenuPermissions;
  6. import com.ydtech.modules.admin.model.InsRolePermissions;
  7. import com.ydtech.modules.admin.model.dto.InsRoleMenuPermissionsDto;
  8. import com.ydtech.modules.admin.model.dto.InsRolePermissionsDto;
  9. import com.ydtech.modules.admin.service.InsRoleMenuPermissionsService;
  10. import com.ydtech.modules.admin.service.InsRolePermissionsService;
  11. import com.ydtech.modules.base.controller.BaseController;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import org.springframework.transaction.annotation.Transactional;
  15. import java.time.LocalDateTime;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18. import java.util.stream.Collectors;
  19. @Service
  20. public class InsRolePermissionsServiceImpl extends ServiceImpl<InsRolePermissionsMapper, InsRolePermissions> implements InsRolePermissionsService {
  21. @Autowired
  22. private InsRoleMenuPermissionsService insRoleMenuPermissionsService;
  23. /**
  24. * 新增角色关联权限
  25. *
  26. * @param insRolePermissionsDto
  27. */
  28. @Override
  29. @Transactional
  30. public void insertAndUpdate(InsRolePermissionsDto insRolePermissionsDto) {
  31. ArrayList<InsRolePermissions> insRolePermissionsArrayList = new ArrayList<>();
  32. //先查看是否存在已配置该权限
  33. QueryWrapper<InsRolePermissions> queryWrapper = new QueryWrapper<>();
  34. queryWrapper.eq("role_id", insRolePermissionsDto.getRoleId())
  35. .eq("menu_id", insRolePermissionsDto.getMenuId());
  36. List<InsRolePermissions> insRolePermissions = baseMapper.selectList(queryWrapper);
  37. List<String> ids = insRolePermissions.stream().map(InsRolePermissions::getId).collect(Collectors.toList());
  38. //删除已配置的权限
  39. if(!ids.isEmpty()){
  40. baseMapper.deleteBatchIds(ids);
  41. }
  42. List<String> permissionsIdList = insRolePermissionsDto.getPermissionsIdList();
  43. for (String s : permissionsIdList) {
  44. InsRolePermissions insRolePermissions1 = new InsRolePermissions();
  45. String userId = BaseController.getUserId();
  46. insRolePermissions1.setUserId(userId);
  47. insRolePermissions1.setRoleId(insRolePermissionsDto.getRoleId());
  48. insRolePermissions1.setMenuId(insRolePermissionsDto.getMenuId());
  49. insRolePermissions1.setPermissionsId(s);
  50. insRolePermissions1.setCreateTime(LocalDateTime.now());
  51. insRolePermissionsArrayList.add(insRolePermissions1);
  52. }
  53. this.saveBatch(insRolePermissionsArrayList);
  54. }
  55. @Override
  56. @Transactional
  57. public void saveAndUpdateRuleMenu(InsRoleMenuPermissionsDto insRoleMenuPermissionsDto) {
  58. insRoleMenuPermissionsService.saveAndUpdateRuleMenu(insRoleMenuPermissionsDto);
  59. }
  60. /**
  61. * @param
  62. * @return 获取数据权限菜单列表
  63. */
  64. @Override
  65. public List<InsRoleMenuPermissions> getInsRoleMenuPermissions(InsRoleMenuPermissionsDto insRoleMenuPermissionsDto) {
  66. return insRoleMenuPermissionsService.getInsRoleMenuPermissions(insRoleMenuPermissionsDto);
  67. }
  68. /**
  69. * @param
  70. * @return 获取菜单数据权限
  71. */
  72. @Override
  73. public List<InsRolePermissions> getInsRolePermissionsDtoList(InsRolePermissionsDto insRolePermissionsDto) {
  74. QueryWrapper<InsRolePermissions> queryWrapper = new QueryWrapper<>();
  75. queryWrapper.eq("menu_id",insRolePermissionsDto.getMenuId())
  76. .eq("role_id",insRolePermissionsDto.getRoleId());
  77. return baseMapper.selectList(queryWrapper);
  78. }
  79. /**
  80. *
  81. * @param insRolePermissionsDto
  82. * @return 通过角色 菜单id 获取 权限规则
  83. */
  84. @Override
  85. public List<InsRolePermissions> getInsRolePermissionsServiceList(InsRolePermissionsDto insRolePermissionsDto) {
  86. return baseMapper.getInsRolePermissionsServiceList(insRolePermissionsDto);
  87. }
  88. }