Files
online_sys/frontend_财经商贸/checkCalendarDuplicates.js
KQL a7242f0c69 Initial commit: 教务系统在线平台
- 包含4个产业方向的前端项目:智能开发、智能制造、大健康、财经商贸
- 已清理node_modules、.yoyo等大文件,项目大小从2.6GB优化至631MB
- 配置完善的.gitignore文件

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-12 18:16:55 +08:00

83 lines
2.4 KiB
JavaScript

import { mockData } from './src/data/mockData.js';
// 检查日历事件中的重复
const events = mockData.calendarEvents;
// 按日期分组
const dateMap = {};
events.forEach((event, index) => {
// 提取日期部分
const dateMatch = event.startTime?.match(/^(\d{4}-\d{2}-\d{2})/);
const date = dateMatch ? dateMatch[1] : 'unknown';
if (!dateMap[date]) {
dateMap[date] = [];
}
// 只关注AI课程和营销能力课
if (event.type === 'ai-course' || event.type === 'marketing-course') {
dateMap[date].push({
index: index,
type: event.type,
title: event.title,
teacher: event.teacher,
time: event.startTime + ' - ' + event.endTime
});
}
});
console.log('检查AI课程(ai-course)和营销能力课(marketing-course)的重复:\n');
let duplicatesFound = false;
// 查找同一天有多个同类型课程的情况
Object.keys(dateMap).sort().forEach(date => {
const courses = dateMap[date];
// 按类型分组
const typeGroups = {};
courses.forEach(course => {
if (!typeGroups[course.type]) {
typeGroups[course.type] = [];
}
typeGroups[course.type].push(course);
});
// 检查是否有重复
Object.keys(typeGroups).forEach(type => {
if (typeGroups[type].length > 1) {
duplicatesFound = true;
console.log(`日期: ${date}`);
console.log(` 类型: ${type} (出现${typeGroups[type].length}次)`);
typeGroups[type].forEach(course => {
console.log(` [索引${course.index}] ${course.title} - ${course.teacher}`);
});
console.log('');
}
});
});
if (!duplicatesFound) {
console.log('没有发现同一天有重复的AI课程或营销能力课\n');
}
// 统计总数
const aiCourses = events.filter(e => e.type === 'ai-course');
const marketingCourses = events.filter(e => e.type === 'marketing-course');
console.log('统计信息:');
console.log(`AI课程(ai-course)总数: ${aiCourses.length}`);
console.log(`营销能力课(marketing-course)总数: ${marketingCourses.length}`);
console.log(`日历事件总数: ${events.length}`);
// 显示前几个AI课程和营销能力课
console.log('\n前5个AI课程:');
aiCourses.slice(0, 5).forEach((course, i) => {
console.log(` ${i+1}. ${course.title} - ${course.startTime?.split(' ')[0]}`);
});
console.log('\n前5个营销能力课:');
marketingCourses.slice(0, 5).forEach((course, i) => {
console.log(` ${i+1}. ${course.title} - ${course.startTime?.split(' ')[0]}`);
});