feat(job): 添加账号与职位同步及简历处理定时任务
- 在recruiters与jobs表中新增账号权益和统计字段,添加对应索引和外键约束 - 扩展Recruiter和Job领域模型,支持权益、同步状态及职位统计信息 - 实现账号同步定时任务,定期检查账号状态、同步权益及职位数据 - 实现简历处理定时任务,遍历活跃账号职位,抓取候选人简历并统一入库 - 引入Job调度器,集中管理账号同步和简历处理任务的调度、启停及状态监控 - 添加.gitignore规则忽略.idea目录配置文件
This commit is contained in:
@@ -11,10 +11,25 @@ CREATE TABLE IF NOT EXISTS recruiters (
|
||||
wt_token VARCHAR(512) NOT NULL, -- WT Token (加密存储)
|
||||
status VARCHAR(32) DEFAULT 'ACTIVE', -- ACTIVE, INACTIVE, EXPIRED
|
||||
last_used_at TIMESTAMP, -- 最后使用时间
|
||||
|
||||
-- 账号权益信息
|
||||
vip_level VARCHAR(32), -- VIP等级
|
||||
vip_status VARCHAR(32), -- VIP状态
|
||||
vip_expire_at TIMESTAMP, -- VIP过期时间
|
||||
resume_view_count INT DEFAULT 0, -- 剩余简历查看次数
|
||||
resume_view_total INT DEFAULT 0, -- 总简历查看次数
|
||||
|
||||
-- 账号统计信息
|
||||
last_sync_at TIMESTAMP, -- 最后同步时间
|
||||
sync_status VARCHAR(32), -- 同步状态: SUCCESS, FAILED, PENDING
|
||||
sync_error TEXT, -- 同步错误信息
|
||||
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uk_source_token (source, wt_token(255)),
|
||||
INDEX idx_status (status)
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_sync_status (sync_status),
|
||||
INDEX idx_last_sync_at (last_sync_at)
|
||||
);
|
||||
|
||||
-- ============================================
|
||||
@@ -73,6 +88,7 @@ CREATE TABLE IF NOT EXISTS jobs (
|
||||
id VARCHAR(64) PRIMARY KEY,
|
||||
source VARCHAR(32) NOT NULL, -- BOSS, LIEPIN, etc.
|
||||
source_id VARCHAR(128) NOT NULL,
|
||||
recruiter_id VARCHAR(64), -- 关联的招聘者账号ID
|
||||
title VARCHAR(256) NOT NULL,
|
||||
department VARCHAR(128),
|
||||
location VARCHAR(128),
|
||||
@@ -81,10 +97,19 @@ CREATE TABLE IF NOT EXISTS jobs (
|
||||
requirements TEXT, -- 职位要求JSON
|
||||
description TEXT, -- 职位描述
|
||||
status VARCHAR(32) DEFAULT 'ACTIVE', -- ACTIVE, PAUSED, CLOSED, ARCHIVED
|
||||
|
||||
-- 职位统计信息
|
||||
candidate_count INT DEFAULT 0, -- 候选人数量
|
||||
new_candidate_count INT DEFAULT 0, -- 新候选人数量
|
||||
last_sync_at TIMESTAMP, -- 最后同步时间
|
||||
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uk_source_source_id (source, source_id),
|
||||
INDEX idx_status (status)
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_recruiter_id (recruiter_id),
|
||||
INDEX idx_last_sync_at (last_sync_at),
|
||||
FOREIGN KEY (recruiter_id) REFERENCES recruiters(id) ON DELETE SET NULL
|
||||
);
|
||||
|
||||
-- ============================================
|
||||
|
||||
Reference in New Issue
Block a user