105 lines
5.4 KiB
Python
105 lines
5.4 KiB
Python
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
|
||
import json
|
||
import re
|
||
|
||
# 读取简历映射数据
|
||
with open('/Users/apple/Documents/cursor/教务系统/frontend/scripts/resume_mapping.json', 'r', encoding='utf-8') as f:
|
||
position_map = json.load(f)
|
||
|
||
# 读取当前的mockData.js文件
|
||
with open('/Users/apple/Documents/cursor/教务系统/frontend/src/data/mockData.js', 'r', encoding='utf-8') as f:
|
||
lines = f.readlines()
|
||
|
||
# 转义函数
|
||
def escape_for_js(text):
|
||
# 转义反引号和反斜杠
|
||
text = text.replace('\\', '\\\\')
|
||
text = text.replace('`', '\\`')
|
||
text = text.replace('${', '\\${')
|
||
return text
|
||
|
||
# 文旅相关岗位列表
|
||
tourism_jobs = [
|
||
("民宿管家", "浙江民宿集团", "8-12K"),
|
||
("民宿客房管家", "莫干山精品民宿", "6-10K"),
|
||
("民宿运营专员", "苏州园林民宿", "10-15K"),
|
||
("酒店大堂副理", "希尔顿欢朋酒店", "12-18K"),
|
||
("酒店运营专员", "万豪国际酒店", "10-16K"),
|
||
("酒店餐饮主管", "洲际酒店集团", "8-14K"),
|
||
("餐厅运营经理", "喜来登酒店", "15-22K"),
|
||
("客房经理", "凯悦酒店", "12-20K"),
|
||
("景区运营专员", "武汉植物园", "8-12K"),
|
||
("活动策划师", "文旅活动公司", "10-18K"),
|
||
("活动执行", "长安汽车活动部", "8-12K"),
|
||
("文创产品设计师", "故宫文创", "12-20K"),
|
||
("文创产品策划师", "苏州博物馆", "10-16K"),
|
||
("新媒体运营专员", "携程旅游", "8-15K"),
|
||
("直播助理", "抖音文旅", "6-12K"),
|
||
("社群运营", "马蜂窝", "8-14K")
|
||
]
|
||
|
||
# 构建文旅行业数据
|
||
tourism_industry_lines = []
|
||
tourism_industry_lines.append(' {\n')
|
||
tourism_industry_lines.append(' id: "tourism",\n')
|
||
tourism_industry_lines.append(' name: "文旅行业",\n')
|
||
tourism_industry_lines.append(' positions: [\n')
|
||
|
||
for i, (job_name, company, salary) in enumerate(tourism_jobs):
|
||
if job_name in position_map:
|
||
resume_data = position_map[job_name]
|
||
|
||
tourism_industry_lines.append(' {\n')
|
||
tourism_industry_lines.append(f' id: "tourism-{i+1}",\n')
|
||
tourism_industry_lines.append(f' name: "{job_name}",\n')
|
||
tourism_industry_lines.append(f' company: "{company}",\n')
|
||
tourism_industry_lines.append(f' level: "{"技术骨干岗" if i % 2 == 0 else "储备干部岗"}",\n')
|
||
tourism_industry_lines.append(f' salary: "{salary}",\n')
|
||
tourism_industry_lines.append(' experience: "1-3年",\n')
|
||
tourism_industry_lines.append(' resume: {\n')
|
||
tourism_industry_lines.append(' personalInfo: {\n')
|
||
tourism_industry_lines.append(f' name: "应聘者{i+1}",\n')
|
||
tourism_industry_lines.append(' phone: "138****8888",\n')
|
||
tourism_industry_lines.append(f' email: "candidate{i+1}@example.com",\n')
|
||
tourism_industry_lines.append(' location: "苏州市",\n')
|
||
tourism_industry_lines.append(' },\n')
|
||
tourism_industry_lines.append(' education: {\n')
|
||
tourism_industry_lines.append(' university: "苏州信息职业技术学院",\n')
|
||
tourism_industry_lines.append(' major: "智慧旅游技术应用",\n')
|
||
tourism_industry_lines.append(' degree: "专科",\n')
|
||
tourism_industry_lines.append(' graduationYear: "2023",\n')
|
||
tourism_industry_lines.append(' period: "2020.9 - 2023.6",\n')
|
||
tourism_industry_lines.append(' },\n')
|
||
tourism_industry_lines.append(f' projectExperience: `{escape_for_js(resume_data["projectExperience"])}`,\n')
|
||
tourism_industry_lines.append(f' skills: `{escape_for_js(resume_data["skills"])}`,\n')
|
||
tourism_industry_lines.append(f' personalSummary: `{escape_for_js(resume_data["personalSummary"])}`,\n')
|
||
tourism_industry_lines.append(' },\n')
|
||
tourism_industry_lines.append(' interviews: {\n')
|
||
tourism_industry_lines.append(' hookQuestions: [\n')
|
||
tourism_industry_lines.append(f' "{job_name}的核心职责是什么?",\n')
|
||
tourism_industry_lines.append(' "如何提升客户满意度?",\n')
|
||
tourism_industry_lines.append(' "您的相关项目经验有哪些?",\n')
|
||
tourism_industry_lines.append(' "如何处理突发情况?",\n')
|
||
tourism_industry_lines.append(' "团队协作经验分享?",\n')
|
||
tourism_industry_lines.append(' ],\n')
|
||
tourism_industry_lines.append(' allQuestions: [],\n')
|
||
tourism_industry_lines.append(' },\n')
|
||
tourism_industry_lines.append(' },\n')
|
||
|
||
tourism_industry_lines.append(' ],\n')
|
||
tourism_industry_lines.append(' },\n')
|
||
|
||
# 在industries数组末尾之前插入文旅行业数据
|
||
# 找到industries数组结束位置(第2944行)
|
||
insert_position = 2943 # 在第2943行后插入
|
||
|
||
# 插入新数据
|
||
new_lines = lines[:insert_position] + tourism_industry_lines + lines[insert_position:]
|
||
|
||
# 写回文件
|
||
with open('/Users/apple/Documents/cursor/教务系统/frontend/src/data/mockData.js', 'w', encoding='utf-8') as f:
|
||
f.writelines(new_lines)
|
||
|
||
print(f"成功添加了文旅行业数据,包含 {len(tourism_jobs)} 个岗位") |