这两批改动此前一直压在工作区未提交,本次一并归档。go build ./... 通过。
一、招聘爬虫健壮性
- 新增 internal/service/recruitment/source_config.go:
crawl_source.config(VARCHAR(1000) JSON)的源级抓取参数解析 —— 增量窗口天数、
单次详情页上限、最大翻页数、详情间隔限速、自定义标准词/排除词。
全部字段可选,JSON 解析失败即回退默认值,保证历史数据零迁移可用,
且一个源的脏配置不会拖垮整个调度。
- 新增 internal/service/recruitment/keywords.go(含 keywords_test.go 与 testdata/):
链接筛选由「URL 形态命中 AND 文本语义命中」改为评分制 —— URL 形态加分、
标准词加分、排除词大幅减分,达阈值即入选。原与逻辑会系统性漏抓
「补充工作人员的通知」「公开选调公务员简章」等标题变体,且静默无报错。
- 新增 manifest/sql/recruitment/004_crawl_source_status.sql:
crawl_source 增加「最近一次运行状态」冗余列,抓取结束时写入,
使 Sources() 查询零 JOIN 零扫描 —— 规避原实现全表扫描只增不减的 crawl_log、
随运行时间线性劣化的问题。幂等,可重复执行。
- internal/service/recruitment/crawler.go:在既有「静态两级 / SPA / curl 回退」
流程上做锚点抽取与过滤、编码回退的健壮性增强。
- internal/service/recruitment/bark.go、recruitment.go:配合上述调整。
二、通知记录增强
- api/notice、internal/controller/notice、internal/service/notice、
internal/model/{dto,entity,do}/notice.go:通知日志查询与操作扩展 ——
批次号、状态、重试次数、来源、耗时、详情、删除、清空。
- 新增 internal/model/dto/notice_meta.go(字典选项元数据,供前端筛选器取选项)。
- 新增 manifest/sql/017_notice_log_enhance.sql:notice_log 扩展列 +
删除/清空/详情/字典选项接口权限,幂等(ALTER 走 information_schema 判断,
菜单 ON DUPLICATE KEY UPDATE,角色绑定 INSERT IGNORE)。
三、仓库卫生
- .gitignore 补 rc_*.log 与 rc_verify*,挡掉本地离线验证产物
(含 30MB 的 rc_verify.exe),避免误入库。
设计依据见 docs/recruitment-crawler-design.md。
注:017 与 recruitment/004 两个 SQL 为增量迁移,DB 结构变更不自动 DDL,
生产库需手动导入。
43 lines
786 B
Go
43 lines
786 B
Go
.buildpath
|
||
.hgignore.swp
|
||
.project
|
||
.orig
|
||
.swp
|
||
.idea/
|
||
.settings/
|
||
.vscode/
|
||
bin/
|
||
**/.DS_Store
|
||
gf
|
||
main
|
||
main.exe
|
||
output/
|
||
manifest/output/
|
||
temp/
|
||
temp.yaml
|
||
bin
|
||
**/config/config.yaml
|
||
|
||
# WorkBuddy 本地记忆:仅放行变更记录(CHANGELOG.md),其余本地数据不入库
|
||
.workbuddy/*
|
||
!.workbuddy/memory/
|
||
.workbuddy/memory/*
|
||
!.workbuddy/memory/CHANGELOG.md
|
||
# server runtime logs
|
||
log/
|
||
|
||
# 本地环境变量(含数据库口令),禁止提交
|
||
.env*
|
||
|
||
# 运行时数据目录(含自动生成的 RSA 登录加密私钥),禁止提交
|
||
data/
|
||
|
||
# GoLand 项目级运行配置(含数据库口令),禁止提交
|
||
.run/
|
||
service_test.exe
|
||
service_test2*
|
||
|
||
# 招聘爬虫本地离线验证产物(rc_*:验证脚本编译出的二进制 + 运行日志),不入库
|
||
rc_*.log
|
||
rc_verify*
|