import {
  Controller,
  Get,
  Query,
  UseGuards,
} from '@nestjs/common';
import { StatsService } from './stats.service';
import { QueryStatsDto } from '../dto';
import { PermissionsGuard } from '@modules/organization/auth/guards/permissions.guard';
import { RequirePermissions } from '@common/decorators/permissions.decorator';

@Controller('ai-assistant/stats')
export class StatsController {
  constructor(private readonly statsService: StatsService) {}

  /**
   * 获取统计概览
   */
  @Get('overview')

  @RequirePermissions('ai:stats:read')
  async getOverview(@Query() query: QueryStatsDto) {
    return this.statsService.getOverview(query);
  }

  /**
   * 获取反馈统计
   */
  @Get('feedback')

  @RequirePermissions('ai:stats:read')
  async getFeedbackStats(@Query() query: QueryStatsDto) {
    return this.statsService.getFeedbackStats(query);
  }

  /**
   * 获取管理仪表盘数据
   */
  @Get('dashboard')

  @RequirePermissions('ai:stats:read')
  async getDashboard() {
    return this.statsService.getDashboard();
  }

  /**
   * 获取幻觉标记统计
   */
  @Get('hallucination')

  @RequirePermissions('ai:stats:read')
  async getHallucinationStats(@Query() query: QueryStatsDto) {
    return this.statsService.getHallucinationStats(query);
  }
}
