import fs from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); // 读取日历数据 const calendarData = JSON.parse( fs.readFileSync(path.join(__dirname, 'src/data/intelligentManufacturingCalendar.json'), 'utf-8') ); // 财经商贸导师名单 const financeTeachers = ["刘红梅", "朱琳琳", "马国栋", "徐明辉"]; // 定义财经商贸相关单元名称列表 const financeUnits = [ "岗位体系认知", "产业体系认知", "财经商贸基础理论", "商务洽谈与礼仪", "市场营销", "供应链管理", "财务管理与会计核算", "国际贸易与跨境电商", "金融服务与投资", "数字化商务应用", "财经法规与合规", "项目管理与商务策划", "创新创业与商业模式", "财经数据分析" ]; // 定义垂直方向单元 const verticalUnits = [ "职业规划课", "国际贸易", "供应链管理", "电子商务", "金融服务" ]; // 备份原文件 const backupPath = path.join(__dirname, 'src/data', `intelligentManufacturingCalendar.json.backup_${new Date().toISOString().replace(/[:.]/g, '-')}`); fs.copyFileSync( path.join(__dirname, 'src/data/intelligentManufacturingCalendar.json'), backupPath ); console.log(`备份已创建: ${backupPath}`); // 更新数据 let teacherIndex = 0; let updateCount = 0; const updatedData = calendarData.map(item => { // 检查是否是财经商贸相关课程 const isFinanceCourse = financeUnits.includes(item["所属单元(个人课程)"]) || financeUnits.includes(item["所属单元(公共课)"]) || verticalUnits.includes(item["所属单元(个人课程)"]) || verticalUnits.includes(item["所属单元(公共课)"]); // 检查是否有个人课程表内容(复合能力课) const hasPersonalCourse = item["个人课程表"] && item["个人课程表"].trim() !== ""; // 如果是财经商贸相关的复合能力课或垂直课,分配财经商贸导师 if (isFinanceCourse && hasPersonalCourse && item["上课状态"] === "上课") { // 根据垂直方向分配特定导师 let assignedTeacher; const unit = item["所属单元(个人课程)"]; if (unit === "国际贸易" || unit === "财经商贸基础理论") { assignedTeacher = "刘红梅"; // 国际贸易专家 } else if (unit === "供应链管理" || unit === "项目管理与商务策划") { assignedTeacher = "朱琳琳"; // 供应链管理专家 } else if (unit === "电子商务" || unit === "数字化商务应用") { assignedTeacher = "马国栋"; // 电子商务专家 } else if (unit === "金融服务" || unit === "金融服务与投资") { assignedTeacher = "徐明辉"; // 金融服务专家 } else { // 其他课程轮流分配 assignedTeacher = financeTeachers[teacherIndex % financeTeachers.length]; teacherIndex++; } item["导师姓名查询"] = assignedTeacher; updateCount++; console.log(`更新课程:${item["个人课程表"]} - 导师:${assignedTeacher}`); } // 公共课(AI课程等)保持原有导师不变 return item; }); // 写入更新后的数据 fs.writeFileSync( path.join(__dirname, 'src/data/intelligentManufacturingCalendar.json'), JSON.stringify(updatedData, null, 2), 'utf-8' ); console.log(`\n成功更新 ${updateCount} 门财经商贸课程的导师信息`);