merge: merge yc into qyqy_develop

This commit is contained in:
2026-09-12 12:50:14 +08:00
18 changed files with 465 additions and 55 deletions
+27
View File
@@ -10,6 +10,8 @@ from app.api.dependencies.auth import build_request_context
from app.api.dependencies.database import get_session
from app.api.schemas.offsite_fund import (
OffsiteConfirmRequest,
OffsiteMailboxRecoveryRequest,
OffsiteMailDeletionRequest,
OffsiteNl2SqlCorrectionRequest,
OffsiteNotificationRequest,
OffsiteNotificationSendRequest,
@@ -49,6 +51,19 @@ async def get_mail(
return await OffsiteFundService(session).get_mail(mail_id, context)
@router.post("/mails/{mail_id}/deletions")
async def delete_mail(
mail_id: str,
payload: OffsiteMailDeletionRequest,
context: RequestContext = Depends(build_request_context), # noqa: B008
session: AsyncSession = Depends(get_session), # noqa: B008
) -> dict[str, Any]:
"""软删除邮件:运营列表隐藏,但保留原始文件、识别结果和审计链路。"""
return await OffsiteFundService(session).delete_mail(
mail_id, payload.operator_id, context
)
@router.get("/mails/{mail_id}/recognition-fields")
async def get_mail_recognition_fields(
mail_id: str,
@@ -130,6 +145,18 @@ async def mailbox_status(
return await OffsiteFundService(session).mailbox_status(context)
@router.post("/mailbox-status/recoveries")
async def recover_mailbox(
payload: OffsiteMailboxRecoveryRequest,
context: RequestContext = Depends(build_request_context), # noqa: B008
session: AsyncSession = Depends(get_session), # noqa: B008
) -> dict[str, Any]:
"""解除收件游标阻塞,保留失败 UID 并由 Worker 重新处理。"""
return await OffsiteFundService(session).recover_mailbox(
payload.operator_id, context
)
@router.get("/attachments/{attachment_id}/file", response_model=None)
async def open_attachment_file(
attachment_id: str,