3.5 KiB
Raw Blame History

Phase 6: 质量 & 前端 — 技术研究

研究日期: 2026-03-21
阶段目标: 数据解析测试覆盖QUAL-02+ 前端监控和清洗页面优化QUAL-06/07


1. QUAL-02数据解析和去重逻辑单元测试

现状

测试模块 文件 状态
dedup 30天窗口 tests/ingest/test_dedup.py 已有Phase 5 新增 6 个)
boss 解析函数 缺失
qcwy 解析函数 缺失
zhilian 解析函数 缺失

需要测试的函数(app/services/ingest/configs/

boss.py

  • _extract_job_id(data)data["jobBaseInfoVO"]["jobId"]
  • _extract_company_name(data)data["name"]data["companyFullInfoVO"]["name"]
  • _build_boss_push(data) → 完整 push dict

qcwy.py

  • _extract_job_id(data)data["jobId"]
  • _extract_update_dt(data)data["updateDateTime"]
  • _extract_company_name(data)data["companyName"]data["company_name"]
  • _build_qcwy_push(data) → 完整 push dict包含 welfare 列表处理)

zhilian.py

  • _extract_number(data)data["number"]
  • _extract_fpt(data)data["firstPublishTime"]
  • _extract_company_name(data)data["companyName"]data["name"]
  • _build_zhilian_push(data) → 完整 push dict

测试策略

  • 每个函数:正常字段场景 + 缺字段场景(返回 None
  • _build_*_push:关键字段映射 + None 值降级
  • 总计:约 24-30 个测试

2. QUAL-06前端爬虫监控页面

现状

现有页面(web/src/views/cleaning/monitor.vue)显示的是 公司清洗监控MySQL 队列状态), 不是爬虫职位抓取监控。

成功标准要求(缺口):

  • 各平台最近抓取时间
  • 数量趋势(历史入库量趋势图)
  • 错误状态

后端 ClickHouse 可查询的数据

  • job_data.boss_job / qcwy_job / zhilian_job 表有 created_at 字段
  • 可以按天统计最近 7 天每个平台的入库数量
  • 最近一条记录的 created_at = 最近抓取时间

方案

recruitment/ 模块中已有三平台数据查看页面boss/qcwy/zhilian index.vue 可以在现有 recruitment/components/PlatformData.vue 顶部增加统计卡片:

  • 总数量、今日入库量、最近抓取时间

或者新建一个 爬虫数据统计 API(后端)+ 在 monitor.vue 中加一个爬虫入库统计区域。

决策(较小改动):

  1. 后端新增 GET /job/data/stats?platform=boss&days=7 端点,返回:
    • total: 总量
    • today: 今日新增
    • last_ingest_at: 最近入库时间
    • daily_counts: 近 7 天每日入库量(用于趋势展示)
  2. monitor.vue 顶部(现有 metric-grid 之前)新增爬虫入库数量卡片

3. QUAL-07前端数据清洗管理页面

现状

cleaning/monitor.vue1191行已包含

  • 待清洗公司列表(队列表格)
  • 触发清洗(按来源批量执行)
  • 查看结果JSON 模态窗口)

现有缺口(成功标准 4 实际满足):

  • 查看待清洗公司列表 → 已有
  • 触发清洗 → 已有
  • 查看结果 → 已有

结论: QUAL-07 基本满足,主要补充文档/说明,或轻微 UI 优化。


4. 计划分解

计划 内容 要求
Plan 01 三平台 extract/build_push 函数单元测试(约 25 个) QUAL-02
Plan 02 后端新增爬虫统计 API + 前端 monitor.vue 添加爬虫入库统计区域 QUAL-06/07