# -*- coding: utf-8 -*- """ 小程序绩效路由 —— 绩效概览、绩效明细。 端点清单: - GET /api/xcx/performance — 绩效概览(PERF-1) - GET /api/xcx/performance/records — 绩效明细(PERF-2) 所有端点均需 JWT(approved 状态)。 """ from __future__ import annotations from fastapi import APIRouter, Depends, Query from app.auth.dependencies import CurrentUser from app.middleware.permission import require_approved from app.schemas.xcx_performance import ( PerformanceOverviewResponse, PerformanceRecordsResponse, ) from app.services import performance_service router = APIRouter(prefix="/api/xcx/performance", tags=["小程序绩效"]) @router.get("", response_model=PerformanceOverviewResponse) async def get_performance_overview( year: int = Query(...), month: int = Query(..., ge=1, le=12), user: CurrentUser = Depends(require_approved()), ): """绩效概览(PERF-1)。""" return await performance_service.get_overview( user.user_id, user.site_id, year, month ) @router.get("/records", response_model=PerformanceRecordsResponse) async def get_performance_records( year: int = Query(...), month: int = Query(..., ge=1, le=12), page: int = Query(1, ge=1), page_size: int = Query(20, ge=1, le=100), user: CurrentUser = Depends(require_approved()), ): """绩效明细(PERF-2)。""" return await performance_service.get_records( user.user_id, user.site_id, year, month, page, page_size )