Files
ALL-teach_sys/frontend_交通物流/updateCompanyJobs.js

76 lines
3.3 KiB
JavaScript
Raw Normal View History

import fs from 'fs';
// 读取交通物流内推岗位数据
const trafficLogisticsJobs = JSON.parse(
fs.readFileSync('网页未导入数据/交通物流产业/交通物流内推岗位.json', 'utf-8')
);
// 转换数据格式为 companyJobsNew.json 的格式
const convertedJobs = trafficLogisticsJobs.map(job => ({
"内推岗位名称": job["内推岗位名称"],
"薪资": job["薪资"],
"工作地点": job["工作地点"],
"学历要求": job["学历要求"],
"招聘人数": job["招聘人数"],
"职位标签": job["职位标签"],
"福利标签": job["福利标签"],
"职位描述": job["职位描述"],
"任职要求": job["任职要求"],
"公司介绍": job["公司介绍"],
"岗位相关标签": job["岗位相关标签"],
"截止时间": job["岗位招聘截止时间"] || "2025/12/31",
"岗位标签": "就业"
}));
console.log(`成功转换 ${convertedJobs.length} 个交通物流内推岗位`);
// 备份原文件
const backupFileName = `src/data/companyJobsNew.json.backup_${new Date().toISOString().replace(/[:.]/g, '-')}`;
try {
const originalData = fs.readFileSync('src/data/companyJobsNew.json', 'utf-8');
fs.writeFileSync(backupFileName, originalData);
console.log(`原文件已备份到: ${backupFileName}`);
} catch (error) {
console.log('备份原文件失败:', error.message);
}
// 保存新的 companyJobsNew.json
fs.writeFileSync('src/data/companyJobsNew.json', JSON.stringify(convertedJobs, null, 2), 'utf-8');
console.log('src/data/companyJobsNew.json 已更新');
// 同时更新 interviewStatus.json 中的部分数据,使其与新岗位匹配
const interviewStatusPath = 'src/data/interviewStatus.json';
let interviewStatusData = [];
try {
interviewStatusData = JSON.parse(fs.readFileSync(interviewStatusPath, 'utf-8'));
console.log(`读取到 ${interviewStatusData.length} 条面试状态数据`);
} catch (error) {
console.log('读取 interviewStatus.json 失败,将创建新的数据');
}
// 为部分岗位创建面试状态数据取前10个岗位作为示例
const newInterviewStatus = convertedJobs.slice(0, 10).map((job, index) => ({
"岗位名称": job["内推岗位名称"],
"公司名称": job["公司介绍"] ? job["公司介绍"].split(/[。,]/)[0].substring(0, 20) : "物流科技有限公司",
"投递时间": `2024-0${(index % 9) + 1}-${10 + index}`,
"面试状态": ["已投递", "笔试中", "面试中", "已通过", "未通过"][index % 5],
"面试进度": (index % 4 + 1) * 25,
"下一步": index % 2 === 0 ? "等待HR回复" : "准备面试",
"备注": `交通物流岗位 - ${job["工作地点"]}`
}));
// 备份原面试状态文件
if (interviewStatusData.length > 0) {
const interviewBackup = `src/data/interviewStatus.json.backup_${new Date().toISOString().replace(/[:.]/g, '-')}`;
fs.writeFileSync(interviewBackup, JSON.stringify(interviewStatusData, null, 2));
console.log(`面试状态文件已备份到: ${interviewBackup}`);
}
// 保存新的面试状态数据
fs.writeFileSync(interviewStatusPath, JSON.stringify(newInterviewStatus, null, 2), 'utf-8');
console.log('src/data/interviewStatus.json 已更新');
console.log('\n企业内推岗位数据替换完成');
console.log(`- 更新了 ${convertedJobs.length} 个内推岗位`);
console.log(`- 创建了 ${newInterviewStatus.length} 条面试状态记录`);