1.9 KiB
1.9 KiB
场外基金申购赎回工作流程图
flowchart TD
A[收件箱收到邮件或 Worker 启动] --> B[UID 增量补偿扫描]
B --> C{发现新邮件}
C -- 否且启用 IDLE --> D[IMAP IDLE 等待事件或超时]
D --> B
C -- 是 --> E[按 UID 拉取完整 MIME 和附件]
E --> F{发件人和邮件认证通过}
F -- 否 --> F1[记录告警并停止进入业务队列]
F -- 是 --> G[保存原始 EML 和附件哈希]
G --> H[OCR/Document AI 一次识别]
H --> I[DeepSeek 分类与字段抽取]
I --> J{附件类型}
J -- other --> J1[只归档]
J -- summary/subscription/redemption --> K[生成 mail_id 和 attachment_id]
K --> L[SSE 推送新业务邮件事件]
L --> M[生成查询/计算/核对三阶段执行计划]
M --> N[调用 nl2sql_yc 只读查询]
N --> O[确定性金额、份额、比例计算]
O --> P[固定申购/赎回规则核对]
P --> Q{识别或查询是否异常}
Q -- 是 --> R[运营确认异常或未处理]
Q -- 否 --> S[运营确认正常]
R --> T[异常返回与风控通知独立候选]
S --> U[正常返回候选]
U --> V{正常回复发送成功}
V -- 否 --> W[不纳入资金清算统计]
V -- 是 --> X[按基金和申请日期增量统计]
T --> Y[分别保存发送状态、重试和审计]
X --> Y
Y --> Z{邮件内确认和必要发送动作完成}
Z -- 否 --> AA[保持待处理]
Z -- 是 --> AB[邮件完成并保留全链路审计]
边界
- 本流程只覆盖后端、Agent、数据、接口、异步事件和审计。
- 反洗钱和开放期规则不纳入本次实现。
- 邮件返回、风控通知和资金清算通知互相独立,不自动联动。
- IDLE 超时或断线后继续执行 UID 补偿扫描;失败 UID 不跳过后续邮件。
- 资金清算统计只纳入运营确认正常且正常回复已成功发送的单据。