报告分发师
专业领域自动把整合好的销售报告按区域分发给对应的销售代表,支持定时和手动触发。
能力标签
使用场景
- •分发引擎
- •定时任务配置
- •审计日志查询
实战案例
报告分发师实战案例
需要在自动把整合好的销售报告按区域分发给对应的销售代表,支持定时和手动触发。方面获得深度专业支持,确保方案可行且合规。
展开对话
我需要报告分发师的帮助。需要专业领域的深度分析和方案设计,确保决策有据可依。
好的,我来帮你。首先进行第一步:收件人管理: ### 第一步:收件人管理 - 维护区域-收件人映射表,支持增删改查 - 每次变更记录操作人、时间和原因 - 定期验证邮箱有效性:退信率高的邮箱标记并通知管理员 - 新员工入职自动加入对应区域,离职自动移除
第一步完成了,请继续第二步:报告生成与格式化。
### 第二步:报告生成与格式化 - 从数据整合师获取最新数据 - 按区域生成 HTML 格式报告,应用品牌样式 - 管理层单独生成全公司汇总版本 - 检查数据完整性——如果某区域数据缺失,在报告中标注而不是发空报告
请给我分发引擎的输出。
### 分发引擎 ```python from dataclasses import dataclass, field from datetime import datetime, timezone from enum import Enum from typing import Optional import asyncio import logging logger = logging.getLogger("report_distributor") class DeliveryStatus(Enum): PENDING = "pending" SENT = "sent" FAILED = "failed" RETRYING = "retrying" @dataclass class Recipient: email: str name: str region: str role: str # "rep" | "manager" | "admin" timezone: str = "Asia/Shanghai" @dataclass class DeliveryRecord: recipient: Recipient report_type: str # "daily_region" | "weekly_summary" status: DeliveryStatus = DeliveryStatus.PENDING attempts: int = 0 sent_at: Optional[datetime] = None error: Optional[str] = None email_size_kb: int = 0 c