RoleController.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package com.yaozhitech.spring5.controller;
  2. import java.util.List;
  3. import org.springframework.util.CollectionUtils;
  4. import org.springframework.web.bind.annotation.GetMapping;
  5. import org.springframework.web.bind.annotation.PathVariable;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7. import org.springframework.web.bind.annotation.RestController;
  8. import com.yaozhitech.spring5.model.ResourceDomain;
  9. import com.yaozhitech.spring5.model.RoleDomain;
  10. import com.yaozhitech.spring5.service.UserService;
  11. import lombok.AllArgsConstructor;
  12. /**
  13. * <p>
  14. * 用户角色 前端控制器
  15. * </p>
  16. *
  17. * @author zeda
  18. * @since 2019-12-15
  19. */
  20. @RestController
  21. @AllArgsConstructor
  22. @RequestMapping("/role")
  23. public class RoleController {
  24. private final UserService userService;
  25. @GetMapping(value="/user/{uid}")
  26. public List<RoleDomain> getRolesByUserId(@PathVariable Integer uid) {
  27. return userService.getRolesByUserId(uid);
  28. }
  29. /**
  30. * 是否有权限
  31. * @param url
  32. * @param uid
  33. * @return
  34. */
  35. @GetMapping(value="/hasPermission")
  36. public Boolean hasPermission(String url, Integer uid) {
  37. List<ResourceDomain> resourceDomains = userService.getApiResourcesByUserId(uid);
  38. if (!CollectionUtils.isEmpty(resourceDomains)) {
  39. for (ResourceDomain resourceDomain : resourceDomains) {
  40. if (resourceDomain.getUrl().equalsIgnoreCase(url)) {
  41. return Boolean.TRUE;
  42. }
  43. }
  44. }
  45. return Boolean.FALSE;
  46. }
  47. }