SysDataScopeServiceImpl.java 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package com.ruoyi.system.service.impl;
  2. import cn.hutool.core.collection.CollUtil;
  3. import cn.hutool.core.convert.Convert;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.ruoyi.common.core.domain.entity.SysDept;
  6. import com.ruoyi.system.domain.SysRoleDept;
  7. import com.ruoyi.system.mapper.SysDeptMapper;
  8. import com.ruoyi.system.mapper.SysRoleDeptMapper;
  9. import com.ruoyi.system.service.ISysDataScopeService;
  10. import lombok.RequiredArgsConstructor;
  11. import org.springframework.stereotype.Service;
  12. import java.util.List;
  13. import java.util.stream.Collectors;
  14. @RequiredArgsConstructor
  15. @Service("sdss")
  16. public class SysDataScopeServiceImpl implements ISysDataScopeService {
  17. private final SysRoleDeptMapper roleDeptMapper;
  18. private final SysDeptMapper deptMapper;
  19. @Override
  20. public String getRoleCustom(Long roleId) {
  21. List<SysRoleDept> list = roleDeptMapper.selectList(
  22. new LambdaQueryWrapper<SysRoleDept>()
  23. .select(SysRoleDept::getDeptId)
  24. .eq(SysRoleDept::getRoleId, roleId));
  25. if (CollUtil.isNotEmpty(list)) {
  26. return list.stream().map(rd -> Convert.toStr(rd.getDeptId())).collect(Collectors.joining(","));
  27. }
  28. return null;
  29. }
  30. @Override
  31. public String getDeptAndChild(Long deptId) {
  32. List<SysDept> list = deptMapper.selectList(new LambdaQueryWrapper<SysDept>()
  33. .select(SysDept::getDeptId)
  34. .eq(SysDept::getDeptId, deptId)
  35. .or()
  36. .apply("find_in_set({0},ancestors)", deptId));
  37. if (CollUtil.isNotEmpty(list)) {
  38. return list.stream().map(d -> Convert.toStr(d.getDeptId())).collect(Collectors.joining(","));
  39. }
  40. return null;
  41. }
  42. }