feat: 打通通知回执与消息状态留痕

This commit is contained in:
2026-06-04 02:00:41 +08:00
parent a663543b37
commit 3280186625
4 changed files with 109 additions and 3 deletions

View File

@@ -135,6 +135,11 @@ def _persist_notification_records(result: AgentResult, *, web_detail_url: str =
owners = payload.get("owners") or []
if not owners:
return
resolved_detail_url = payload.get("web_detail_url") or web_detail_url
resolved_message_status = payload.get("message_status") or (
"sent" if result.status == "success" else "failed"
)
resolved_receipt = payload.get("receipt") or {"status": result.status}
for owner in owners:
create_notification_record(
batch_id=payload.get("batch_id", ""),
@@ -144,9 +149,9 @@ def _persist_notification_records(result: AgentResult, *, web_detail_url: str =
notify_reason=payload.get("notify_reason", "task_completed"),
owner_role=owner.get("owner_role", ""),
feishu_user_id=owner.get("feishu_user_id", ""),
message_status="sent" if result.status == "success" else "failed",
web_detail_url=web_detail_url,
receipt={"status": result.status},
message_status=resolved_message_status,
web_detail_url=resolved_detail_url,
receipt=resolved_receipt,
)