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

102 lines
3.5 KiB
JavaScript
Raw Normal View History

import fs from 'fs';
// 读取交通物流岗位简历数据
const trafficLogisticsData = JSON.parse(fs.readFileSync('网页未导入数据/交通物流产业/交通物流岗位简历.json', 'utf-8'));
// 按等级分组
const jobLevelData = {
code: 200,
message: "操作成功",
data: {
high: {
name: "储备干部岗",
list: []
},
middle: {
name: "技术骨干岗",
list: []
},
ordinary: {
name: "基础岗",
list: []
}
}
};
// 遍历数据,按等级分组
trafficLogisticsData.forEach((item, index) => {
const record = {
record_id: `traffic_logistics_${index + 1}`,
position_name: item.岗位名称,
img: item.简历头像url
};
// 根据岗位等级标签分配到对应的级别
switch(item.岗位等级标签) {
case "储备干部岗":
jobLevelData.data.high.list.push(record);
break;
case "技术骨干岗":
jobLevelData.data.middle.list.push(record);
break;
case "基础岗":
case "普通岗":
default:
jobLevelData.data.ordinary.list.push(record);
break;
}
});
// 统计信息
console.log('生成的joblevel.json统计:');
console.log(`- 储备干部岗: ${jobLevelData.data.high.list.length}个岗位`);
console.log(`- 技术骨干岗: ${jobLevelData.data.middle.list.length}个岗位`);
console.log(`- 基础岗: ${jobLevelData.data.ordinary.list.length}个岗位`);
console.log(`- 总计: ${trafficLogisticsData.length}个岗位`);
// 备份原文件
const backupFileName = `src/data/joblevel.json.backup_${new Date().toISOString().replace(/[:.]/g, '-')}`;
try {
const originalData = fs.readFileSync('src/data/joblevel.json', 'utf-8');
fs.writeFileSync(backupFileName, originalData);
console.log(`\n原文件已备份到: ${backupFileName}`);
} catch (error) {
console.log('备份原文件失败:', error.message);
}
// 保存新的joblevel.json
fs.writeFileSync('src/data/joblevel.json', JSON.stringify(jobLevelData, null, 4), 'utf-8');
console.log('\n新的joblevel.json已保存');
// 同时更新resumeInterviewMock.js中的简历内容格式
console.log('\n正在更新简历模板格式...');
// 生成更新后的resumeTemplates确保content字段格式正确
const updatedResumeTemplates = trafficLogisticsData.map(item => ({
positionTitle: item.岗位名称,
position: item.岗位名称, // 添加position字段用于匹配
level: item.岗位等级标签,
avatar: item.简历头像url,
department: item.简历岗位群,
content: {
original: item.简历内容,
modified: item.简历内容 // 默认使用相同内容
},
projectName: item.对应项目案例名称,
coreCompetencies: item["对应单元名称(复合能力课)"],
verticalDirection: item.对应垂直方向,
relatedUnits: item["关联单元名称(垂直能力课)"]
}));
// 读取现有的resumeInterviewMock.js文件
const mockFileContent = fs.readFileSync('src/mocks/resumeInterviewMock.js', 'utf-8');
// 找到resumeTemplates的位置并替换
const newMockContent = mockFileContent.replace(
/export const resumeTemplates = \[[\s\S]*?\];/,
`export const resumeTemplates = ${JSON.stringify(updatedResumeTemplates, null, 2)};`
);
// 保存更新后的mock文件
fs.writeFileSync('src/mocks/resumeInterviewMock.js', newMockContent, 'utf-8');
console.log('resumeInterviewMock.js已更新简历content格式已修正');