PlatformSystemRoleController.java 1.23 KB
package com.diligrp.rider.controller;

import com.diligrp.rider.common.result.Result;
import com.diligrp.rider.dto.AdminRoleMenuAssignDTO;
import com.diligrp.rider.service.SystemRoleMenuService;
import com.diligrp.rider.vo.AdminRoleMenuTreeVO;
import com.diligrp.rider.vo.AdminRoleVO;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api/platform/system/role")
@RequiredArgsConstructor
public class PlatformSystemRoleController {

    private final SystemRoleMenuService systemRoleMenuService;

    @GetMapping("/list")
    public Result<List<AdminRoleVO>> list() {
        return Result.success(systemRoleMenuService.listRoles());
    }

    @GetMapping("/{roleId}/menu-tree")
    public Result<List<AdminRoleMenuTreeVO>> menuTree(@PathVariable Long roleId) {
        return Result.success(systemRoleMenuService.getRoleMenuTree(roleId));
    }

    @PostMapping("/{roleId}/menus")
    public Result<Void> assignMenus(@PathVariable Long roleId,
                                    @Valid @RequestBody AdminRoleMenuAssignDTO dto) {
        systemRoleMenuService.assignMenus(roleId, dto);
        return Result.success();
    }
}