Commit Graph

19 Commits

Author SHA1 Message Date
v6ole c3e06c997f fix: 移除 textcard 通知中的 HTML 标签,企业微信客户端不支持 2026-05-09 17:54:42 +08:00
v6ole cbeb3c3504 fix: 连接 Pipeline 到爬取流程 + 夜间跳过 + 断网恢复
- CrawlService.run_spider 现在自动调用 PostCrawlPipeline(爬取→存储→筛选→去重→推送)
- 定时任务添加 22:00-06:00 夜间跳过逻辑
- 断网恢复后不会漏公告:爬虫每次从 API 按日期倒序抓取,未推送的公告下次自动补推
- Pipeline 的 _exclude_sent + mark_sent 防止重复推送
2026-05-09 16:10:30 +08:00
v6ole d851dafea9 fix: 防止重复推送通知 — 添加已发送检查 + GXGP 标记已发送
- Pipeline 新增 _exclude_sent() 方法,通知前查询数据库跳过 is_sent=True 的公告
- GXGP Spider mark_sent 改为 True,配合去重逻辑防止每次爬取重复通知
2026-05-09 16:00:04 +08:00
v6ole 6fbdf097b3 fix: 定时任务 cron 表达式改为从配置读取,消除硬编码 2026-05-09 15:55:56 +08:00
v6ole b3953bb71c fix: 修复公告列表 start_date/end_date 参数未转换为 date 对象导致 500 错误 2026-05-09 15:41:09 +08:00
v6ole 808f3101e3 fix: 修复公告 API 路由顺序 — /today 和 /stats 在 /{id} 之前匹配
将具体路由移到参数化路由之前,避免 "today"/"stats" 被 {announcement_id} 作为整数解析而返回 422。
2026-05-09 15:19:49 +08:00
v6ole 7455d7e426 chore: ruff 代码检查与修复
130 issues auto-fixed (import ordering, UP045/UP006 type annotations),
33 issues manually fixed (E712/E501/E402/E722 + N818 rename + per-file
wechat ignore for N8xx naming conventions). All 33 tests pass.
2026-05-09 14:28:09 +08:00
v6ole a0a06dfd8c feat: 添加 API 路由(公告/爬取/微信回调/调度器)+ 健康检查测试 2026-05-09 14:19:11 +08:00
v6ole 3616e5799d feat: 添加 NotificationService 通知服务 + 测试 2026-05-09 14:11:49 +08:00
v6ole 52bb1f53cc feat: 迁移企业微信模块(crypto + client + handler) 2026-05-09 14:09:52 +08:00
v6ole 76b734b0a9 fix: 修复 filter_by_date 类型处理 + _save_to_db rowcount 0 值 bug 2026-05-09 14:06:59 +08:00
v6ole cad1390534 feat: 添加 PostCrawlPipeline 统一管道 + 筛选服务 + 测试 2026-05-09 13:57:37 +08:00
v6ole 022d348052 feat: 添加 CrawlService 爬取编排器 + 测试 2026-05-09 13:50:58 +08:00
v6ole 5e0582d499 feat: 添加 Dahuagov Spider(大化县政府网爬虫)+ 测试 2026-05-09 13:47:48 +08:00
v6ole b1bbf64287 feat: 添加 GXGP Spider(广西政府采购网爬虫)+ 测试 2026-05-09 13:44:45 +08:00
v6ole 7db14ee411 feat: 添加数据解析器模块 + 测试 2026-05-09 13:41:35 +08:00
v6ole d9af819d2e feat: 添加 Spider 基类 + Pipeline 配置 + 测试 2026-05-09 13:37:40 +08:00
v6ole a994dc5f53 feat: 添加 SQLAlchemy 模型 + Alembic 数据库迁移 2026-05-09 13:35:08 +08:00
v6ole 1cdd0bcab1 feat: 创建 FastAPI 项目骨架(config + main + 依赖管理) 2026-05-09 13:30:03 +08:00