feat(权限): 添加获取用户权限接口用于按钮显示
新增获取用户权限接口,根据用户角色返回对应权限列表,用于前端按钮权限控制。管理员返回所有权限,普通用户返回其拥有的权限。
This commit is contained in:
parent
07dd290645
commit
f2eef230da
|
@ -159,6 +159,14 @@ public class LoginController {
|
||||||
return ResponseDTO.ok(routerTree);
|
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 = "暂未实现")
|
@Operation(summary = "注册接口", description = "暂未实现")
|
||||||
@PostMapping("/register")
|
@PostMapping("/register")
|
||||||
|
|
|
@ -24,6 +24,7 @@ import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -176,4 +177,18 @@ public class MenuApplicationService {
|
||||||
return buildRouterTree(trees);
|
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