forked from wangziqi/gongxue-base
52 lines
1.4 KiB
TypeScript
52 lines
1.4 KiB
TypeScript
import { Controller, Get, Query, UseGuards } from '@nestjs/common';
|
|
import { DashboardService } from './dashboard.service';
|
|
import { JwtAuthGuard } from '../auth/guards/jwt-auth.guard';
|
|
import { RequirePermission } from '../auth/decorators/permission.decorator';
|
|
|
|
@UseGuards(JwtAuthGuard)
|
|
@RequirePermission('dashboard:view')
|
|
@Controller('dashboard')
|
|
export class DashboardController {
|
|
constructor(private service: DashboardService) {}
|
|
|
|
@Get('stats')
|
|
getStats() {
|
|
return this.service.getStats();
|
|
}
|
|
|
|
@Get('gantt')
|
|
getGanttData(
|
|
@Query('periodStart') periodStart?: string,
|
|
@Query('periodEnd') periodEnd?: string,
|
|
@Query('building') building?: string,
|
|
) {
|
|
return this.service.getGanttData({ periodStart, periodEnd, building });
|
|
}
|
|
|
|
@Get('expense-stats')
|
|
getExpenseStats(
|
|
@Query('periodStart') periodStart?: string,
|
|
@Query('periodEnd') periodEnd?: string,
|
|
) {
|
|
return this.service.getExpenseStats(periodStart, periodEnd);
|
|
}
|
|
|
|
@Get('room-ranking')
|
|
getRoomExpenseRanking(
|
|
@Query('periodStart') periodStart?: string,
|
|
@Query('periodEnd') periodEnd?: string,
|
|
) {
|
|
return this.service.getRoomExpenseRanking(periodStart, periodEnd);
|
|
}
|
|
|
|
@Get('class-attendance-ranking')
|
|
getClassAttendanceRanking() {
|
|
return this.service.getClassAttendanceRanking();
|
|
}
|
|
|
|
@Get('classroom-occupancy')
|
|
getClassroomOccupancy() {
|
|
return this.service.getClassroomOccupancy();
|
|
}
|
|
}
|