from fastapi import APIRouter, Depends, Query from sqlalchemy.orm import Session from backend.app.api.deps import require_roles from backend.app.db import get_db_session from backend.app.schemas.common import success_payload from backend.app.services.audit_service import audit_service router = APIRouter(prefix="/api/audit-logs", tags=["audit-logs"]) @router.get("") def list_audit_logs( biz_type: str | None = Query(default=None), biz_id: int | None = Query(default=None), operator_name: str | None = Query(default=None), operate_type: str | None = Query(default=None), start_time: str | None = Query(default=None), end_time: str | None = Query(default=None), page_no: int = Query(default=1), page_size: int = Query(default=20), session: Session = Depends(get_db_session), _user: dict = Depends(require_roles("admin", "manager")), # 仅管理员和经理可查看 ) -> dict: """查询审计日志列表,仅管理员和经理可访问。""" return success_payload( audit_service.list_audit_logs( session, { "biz_type": biz_type, "biz_id": biz_id, "operator_name": operator_name, "operate_type": operate_type, "start_time": start_time, "end_time": end_time, "page_no": page_no, "page_size": page_size, }, ) )