119 lines
3.9 KiB
JavaScript
119 lines
3.9 KiB
JavaScript
|
|
import fs from 'fs';
|
|||
|
|
|
|||
|
|
// 读取交通物流岗位简历数据
|
|||
|
|
const trafficLogisticsData = JSON.parse(fs.readFileSync('网页未导入数据/交通物流产业/交通物流岗位简历.json', 'utf-8'));
|
|||
|
|
|
|||
|
|
// 根据岗位群分组
|
|||
|
|
const groupedData = {};
|
|||
|
|
trafficLogisticsData.forEach(item => {
|
|||
|
|
if (!groupedData[item.简历岗位群]) {
|
|||
|
|
groupedData[item.简历岗位群] = [];
|
|||
|
|
}
|
|||
|
|
groupedData[item.简历岗位群].push(item);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 生成industries数据结构
|
|||
|
|
const industries = [];
|
|||
|
|
let industryIdCounter = 1;
|
|||
|
|
|
|||
|
|
for (const [groupName, positions] of Object.entries(groupedData)) {
|
|||
|
|
const industry = {
|
|||
|
|
id: `traffic_logistics_${industryIdCounter}`,
|
|||
|
|
name: groupName,
|
|||
|
|
positions: positions.map((pos, index) => ({
|
|||
|
|
id: `traffic_logistics_${industryIdCounter}_${index + 1}`,
|
|||
|
|
title: pos.岗位名称,
|
|||
|
|
level: pos.岗位等级标签,
|
|||
|
|
avatar: pos.简历头像url,
|
|||
|
|
department: groupName,
|
|||
|
|
type: "全职",
|
|||
|
|
experience: pos.岗位等级标签 === "基础岗" ? "1-3年" : pos.岗位等级标签 === "储备干部岗" ? "2-5年" : "3-7年",
|
|||
|
|
education: "大专",
|
|||
|
|
salary: pos.岗位等级标签 === "基础岗" ? "5-10K" : pos.岗位等级标签 === "储备干部岗" ? "8-15K" : "10-20K",
|
|||
|
|
location: "苏州",
|
|||
|
|
updateTime: "2024-01-20",
|
|||
|
|
description: `负责${pos.岗位名称}相关工作`,
|
|||
|
|
requirements: [
|
|||
|
|
`具备${pos.岗位名称}相关的专业知识和技能`,
|
|||
|
|
`熟悉${groupName}领域的业务流程和操作规范`,
|
|||
|
|
`具有良好的团队协作和沟通能力`,
|
|||
|
|
`能够独立完成岗位职责要求的各项工作`
|
|||
|
|
]
|
|||
|
|
})),
|
|||
|
|
questions: [] // 暂时为空,后续可以添加
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
industries.push(industry);
|
|||
|
|
industryIdCounter++;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 生成resumeTemplates数据结构
|
|||
|
|
const resumeTemplates = trafficLogisticsData.map(item => ({
|
|||
|
|
positionTitle: item.岗位名称,
|
|||
|
|
level: item.岗位等级标签,
|
|||
|
|
avatar: item.简历头像url,
|
|||
|
|
department: item.简历岗位群,
|
|||
|
|
resumeContent: item.简历内容,
|
|||
|
|
projectName: item.对应项目案例名称,
|
|||
|
|
coreCompetencies: item["对应单元名称(复合能力课)"],
|
|||
|
|
verticalDirection: item.对应垂直方向,
|
|||
|
|
relatedUnits: item["关联单元名称(垂直能力课)"]
|
|||
|
|
}));
|
|||
|
|
|
|||
|
|
// 生成myResume数据(示例数据,可根据需要调整)
|
|||
|
|
const myResume = {
|
|||
|
|
personal: {
|
|||
|
|
name: "张明",
|
|||
|
|
studentId: "2021001",
|
|||
|
|
className: "交通物流2101",
|
|||
|
|
majorName: "交通物流管理",
|
|||
|
|
avatar: "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/butler_position_avatar/recuPFXZhkWje7.jpeg"
|
|||
|
|
},
|
|||
|
|
resumes: [
|
|||
|
|
{
|
|||
|
|
id: "resume_1",
|
|||
|
|
positionTitle: "仓储管理员",
|
|||
|
|
submitTime: "2024-01-15 10:30:00",
|
|||
|
|
status: "已通过",
|
|||
|
|
score: 92,
|
|||
|
|
feedback: "简历内容完整,专业技能描述清晰"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// 输出转换后的数据
|
|||
|
|
const outputData = {
|
|||
|
|
industries,
|
|||
|
|
resumeTemplates,
|
|||
|
|
myResume
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
console.log(`转换完成:
|
|||
|
|
- 岗位群数量:${industries.length}
|
|||
|
|
- 岗位总数:${resumeTemplates.length}
|
|||
|
|
- 各岗位群包含岗位数:`);
|
|||
|
|
industries.forEach(ind => {
|
|||
|
|
console.log(` ${ind.name}:${ind.positions.length}个岗位`);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 保存转换后的数据
|
|||
|
|
fs.writeFileSync('trafficLogisticsConverted.js',
|
|||
|
|
`// 交通物流产业数据
|
|||
|
|
export const industries = ${JSON.stringify(industries, null, 2)};
|
|||
|
|
|
|||
|
|
export const resumeTemplates = ${JSON.stringify(resumeTemplates, null, 2)};
|
|||
|
|
|
|||
|
|
export const myResume = ${JSON.stringify(myResume, null, 2)};
|
|||
|
|
|
|||
|
|
export const resumeInterviewMockData = {
|
|||
|
|
industries,
|
|||
|
|
resumeTemplates,
|
|||
|
|
myResume
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
export function getMockPageData() {
|
|||
|
|
return resumeInterviewMockData;
|
|||
|
|
}
|
|||
|
|
`, 'utf-8');
|
|||
|
|
|
|||
|
|
console.log('\n数据已保存到 trafficLogisticsConverted.js');
|