package cn.iocoder.yudao.module.bi.controller.admin.dashboard; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.bi.dal.dataobject.BiDashboardDO; import cn.iocoder.yudao.module.bi.service.dashboard.DashboardService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - BI 仪表盘") @RestController @RequestMapping("/bi/dashboard") @Validated public class DashboardController { @Resource private DashboardService dashboardService; @GetMapping("/list") @Operation(summary = "获取仪表盘列表") @PreAuthorize("@ss.hasPermission('bi:dashboard:query')") public CommonResult> getDashboardList() { return success(dashboardService.getDashboardList()); } @PostMapping("/{dashboardCode}/data") @Operation(summary = "获取仪表盘数据") @Parameter(name = "dashboardCode", description = "仪表盘编码", required = true, example = "purchase_sales") @PreAuthorize("@ss.hasPermission('bi:dashboard:query')") public CommonResult>> getDashboardData( @PathVariable("dashboardCode") String dashboardCode, @RequestBody(required = false) Map params) { List> data = dashboardService.getDashboardData(dashboardCode, params); return success(data); } }