feat(权限): 添加获取用户权限接口用于按钮显示
新增获取用户权限接口,根据用户角色返回对应权限列表,用于前端按钮权限控制。管理员返回所有权限,普通用户返回其拥有的权限。
This commit is contained in:
parent
07dd290645
commit
f2eef230da
|
@ -159,6 +159,14 @@ public class LoginController {
|
|||
return ResponseDTO.ok(routerTree);
|
||||
}
|
||||
|
||||
@Operation(summary = "获取用户对应的全部权限", description = "用于显示按钮")
|
||||
@GetMapping("/getPermissions")
|
||||
public ResponseDTO<List<String>> getPermissions() {
|
||||
SystemLoginUser loginUser = AuthenticationUtils.getSystemLoginUser();
|
||||
List<String> permissions = menuApplicationService.getPermissions(loginUser);
|
||||
return ResponseDTO.ok(permissions);
|
||||
}
|
||||
|
||||
|
||||
@Operation(summary = "注册接口", description = "暂未实现")
|
||||
@PostMapping("/register")
|
||||
|
|
|
@ -24,6 +24,7 @@ import java.util.List;
|
|||
import java.util.stream.Collectors;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
|
@ -176,4 +177,18 @@ public class MenuApplicationService {
|
|||
return buildRouterTree(trees);
|
||||
}
|
||||
|
||||
public List<String> getPermissions(SystemLoginUser loginUser) {
|
||||
List<SysMenuEntity> allMenus;
|
||||
if (loginUser.isAdmin()) {
|
||||
allMenus = menuService.list();
|
||||
} else {
|
||||
allMenus = menuService.getMenuListByUserId(loginUser.getUserId());
|
||||
}
|
||||
|
||||
return allMenus.stream()
|
||||
.filter(menu-> StatusEnum.ENABLE.getValue().equals(menu.getStatus()))
|
||||
.map(SysMenuEntity::getPermission)
|
||||
.filter(StringUtils::isNotBlank)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue