StpInterfaceImpl.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package com.kym.admin.config;
  2. import cn.dev33.satoken.stp.StpInterface;
  3. import com.kym.common.utils.CommUtil;
  4. import com.kym.entity.vo.AdminUserVo;
  5. import com.kym.service.AdminUserService;
  6. import org.springframework.stereotype.Component;
  7. import java.util.ArrayList;
  8. import java.util.Collection;
  9. import java.util.List;
  10. /**
  11. * @author skyline
  12. * @description 权限控制
  13. * @date 2023-08-22 18:33
  14. */
  15. @Component
  16. public class StpInterfaceImpl implements StpInterface {
  17. private final AdminUserService adminUserService;
  18. public StpInterfaceImpl(AdminUserService adminUserService) {
  19. this.adminUserService = adminUserService;
  20. }
  21. /**
  22. * 返回一个账号所拥有的权限码集合
  23. */
  24. @Override
  25. public List<String> getPermissionList(Object userId, String loginType) {
  26. List<String> permissions = new ArrayList<String>();
  27. List<AdminUserVo> adminUserVos = adminUserService.listUserPermissions(CommUtil.null2Long(userId));
  28. if(!CommUtil.isEmptyOrNull(adminUserVos)){
  29. permissions = adminUserVos.stream().map(AdminUserVo::getPermissions).filter(kPermissions -> !CommUtil.isEmptyOrNull(kPermissions)).flatMap(Collection::stream).distinct().toList();
  30. }
  31. return permissions;
  32. }
  33. @Override
  34. public List<String> getRoleList(Object loginId, String loginType) {
  35. return null;
  36. }
  37. }