feat: add reporting workflow and optimize dashboard loading

This commit is contained in:
wanghep
2026-04-18 14:46:24 +08:00
parent d661b801df
commit 8c9117ca4c
18 changed files with 834 additions and 83 deletions

View File

@ -245,3 +245,96 @@ npm run dev -- --host 127.0.0.1 --port 5173
- 历史文档与部分配置存在中文乱码
- 部分来源数据原始字段编码不稳定
- 页面样式近期经历多轮快速调整,仍建议补视觉回归测试
## 9. 定时更新与邮件报送方案
为满足“每天下午 17:00 自动更新并发送盘后邮件”的新增需求,建议增加一个独立的调度与报送模块。
### 9.1 调度方式
建议采用以下任一方式:
- 服务器 `cron`
- Windows 任务计划程序
- 后续统一接入独立任务调度器
默认调度时间:
- 每天下午 `17:00`
### 9.2 推荐执行流程
每日任务执行顺序建议如下:
1. 拉取当日龙虎榜与行情数据
2. 更新数据库
3. 重新生成预警数据
4. 统计关注池情况
5. 统计待加入关注候选列表
6. 生成 PDF 日报
7. 发送邮件正文与附件
8. 记录执行日志
### 9.3 建议新增模块
建议新增以下能力:
- `backend/scripts/daily_report.py`
- 串联数据更新、统计、PDF 生成、邮件发送
- `backend/src/lhbfx/reporting.py`
- 负责报表数据整理
- `backend/src/lhbfx/mailer.py`
- 负责 SMTP 或邮件服务发送
- `backend/src/lhbfx/pdf_export.py`
- 负责 PDF 生成
### 9.4 配置项建议
建议在配置文件中新增:
- 是否启用邮件报送
- SMTP 主机
- SMTP 端口
- 发件人账号
- 发件人密码或授权码
- 收件人列表
- 抄送列表
- 日报输出目录
- 调度时间
### 9.5 PDF 生成建议
PDF 附件可以通过以下方式生成:
- 基于 HTML 模板渲染后导出 PDF
- 或直接使用 Python PDF 库生成结构化报告
推荐内容结构:
1. 标题页
2. 数据更新时间
3. 关注池总览
4. 关注池流水摘要
5. 今日待加入关注列表
6. 风险与预警摘要
### 9.6 邮件正文建议
正文采用简洁摘要形式,便于手机查看:
- 今日关注池概况
- 今日关注池重点动作
- 今日待加入关注候选
- 风险提示
- 附件说明
### 9.7 测试建议
新增该需求后,应补充以下验证:
- 17:00 定时任务是否被正确触发
- 更新失败时是否生成错误日志
- PDF 是否成功生成
- 邮件正文是否包含关键摘要
- 附件是否能正常打开
- 多收件人场景是否发送成功

View File

@ -154,7 +154,48 @@
- 关键页面在 1440px 及以上宽度下保持清晰稳定
- 文档、配置与代码要支持团队继续接手迭代
## 8. 后续建议
## 8. 新增定时报送需求
新增一项每日自动化需求:
- 每个交易日下午 17:00 自动更新最新龙虎榜与相关统计数据
- 更新完成后自动统计“关注池情况”和“今日待加入关注列表”
- 自动发送邮件给指定收件人
- 邮件需同时包含正文摘要和 PDF 附件
### 8.1 定时更新要求
- 默认执行时间为每天下午 `17:00`
- 若当天为非交易日或数据源尚未更新,需要在邮件正文中明确说明
- 若更新失败,需要输出失败原因并进入告警状态
### 8.2 邮件正文要求
邮件正文至少包含以下内容:
- 数据统计日期
- 关注池股票数量
- 关注池中今日有动作的股票列表
- 今日待加入关注列表
- 关键风险提示或卖出预警摘要
### 8.3 PDF 附件要求
PDF 附件建议作为“盘后日报”输出,至少包含:
- 当日数据概览
- 关注池汇总
- 关注池操作流水摘要
- 今日待加入关注候选列表
- 重点风险与预警说明
### 8.4 邮件收件要求
- 支持配置一个或多个收件人
- 邮件主题中应包含日期,例如:`lhbfx 盘后日报 - 2026-04-17`
- 邮件发送成功与失败都需要记录日志
## 9. 后续建议
后续可以继续迭代: