import { Controller, Get } from '@nestjs/common'; import { ApiTags, ApiOperation } from '@nestjs/swagger'; import { LearningActivityService } from './learning-activity.service'; import { CurrentUser } from '../../common/decorators/current-user.decorator'; import type { UserPayload } from '../../common/types'; @ApiTags('learning-activity') @Controller('activity') export class LearningActivityController { constructor(private readonly activityService: LearningActivityService) {} @Get('heatmap') @ApiOperation({ summary: '获取学习热力图数据' }) async getHeatmap(@CurrentUser() user: UserPayload) { return this.activityService.getHeatmap(String(user?.id || 'anonymous')); } @Get('summary') @ApiOperation({ summary: '获取学习统计概览' }) async getSummary(@CurrentUser() user: UserPayload) { return this.activityService.getSummary(String(user?.id || 'anonymous')); } }