v6ole
|
d84c838e76
|
chore: 删除 dead code — markdown 文件生成功能
onu.md 和 markdown_generated 从未被实际使用,是旧项目遗留代码
|
2026-05-10 13:59:34 +08:00 |
|
v6ole
|
2996920277
|
feat: 接入 LogHive 远程日志系统
- 添加 LogHiveHandler,启动时自动挂载到 root logger
- 所有 logging 日志自动异步发送到 LogHive,不影响主业务
- vendored loghive-client 包,Docker 构建时自动安装
- API Key 缺失时自动跳过,不影响本地开发
|
2026-05-09 19:14:56 +08:00 |
|
v6ole
|
1f18d2ec87
|
feat: 添加中国节假日感知定时功能
- 新增 chinese_holidays 表,通过 timor.tech API 同步节假日数据
- 修正 holiday 字段解读:holiday=true → 休息日,holiday=false → 调休工作日
- 工作日 8:00-22:00 每小时爬取,周末/节假日/夜间自动跳过
- 新增 /api/v1/holidays/sync 和 /api/v1/holidays/today 接口
- 企微菜单新增「同步节假日」按钮,支持手动触发同步
|
2026-05-09 18:27:27 +08:00 |
|
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 |
|