/** * 简历存储和分析功能示例 * 演示如何使用 get_online_resume 功能获取、存储和分析简历 */ const jobManager = require('../api/middleware/job/jobManager'); const db = require('../api/middleware/dbProxy'); /** * 示例1: 获取在线简历并自动存储 */ async function example1_getAndStoreResume() { console.log('\n========== 示例1: 获取在线简历并自动存储 ==========\n'); try { // 模拟MQTT客户端 const mockMqttClient = { publishAndWait: async (sn_code, command) => { console.log(`发送MQTT指令: ${command.action} 到设备 ${sn_code}`); // 模拟返回简历数据(实际应该从MQTT获取) return { code: 200, message: '成功', data: require('../_doc/在线简历响应文本.json') }; } }; // 调用获取简历方法 const resumeData = await jobManager.get_online_resume( 'GHJU', mockMqttClient, { platform: 'boss' } ); console.log('\n✅ 简历获取成功!'); console.log('姓名:', resumeData.baseInfo?.name); console.log('工作年限:', resumeData.baseInfo?.workYearDesc); console.log('期望职位:', resumeData.expectList?.[0]?.positionName); console.log('期望薪资:', resumeData.expectList?.[0]?.salaryDesc); } catch (error) { console.error('❌ 获取简历失败:', error.message); } } /** * 示例2: 查询已存储的简历 */ async function example2_queryStoredResume() { console.log('\n========== 示例2: 查询已存储的简历 ==========\n'); try { const resume_info = db.getModel('resume_info'); // 查询指定设备的简历 const resume = await resume_info.findOne({ where: { sn_code: 'GHJU', platform: 'boss', isActive: true } }); if (resume) { console.log('✅ 找到简历记录:'); console.log('简历ID:', resume.id); console.log('姓名:', resume.fullName); console.log('工作年限:', resume.workYears); console.log('期望职位:', resume.expectedPosition); console.log('期望薪资:', resume.expectedSalary); console.log('\nAI分析结果:'); console.log('技能标签:', resume.aiSkillTags); console.log('优势:', resume.aiStrengths); console.log('劣势:', resume.aiWeaknesses); console.log('职业建议:', resume.aiCareerSuggestion); console.log('竞争力评分:', resume.aiCompetitiveness); } else { console.log('❌ 未找到简历记录'); } } catch (error) { console.error('❌ 查询简历失败:', error.message); } } /** * 示例3: 查看简历的项目经验 */ async function example3_viewProjectExperience() { console.log('\n========== 示例3: 查看简历的项目经验 ==========\n'); try { const resume_info = db.getModel('resume_info'); const resume = await resume_info.findOne({ where: { sn_code: 'GHJU', platform: 'boss', isActive: true } }); if (resume && resume.projectExperience) { const projects = JSON.parse(resume.projectExperience); console.log(`✅ 共有 ${projects.length} 个项目经验:\n`); projects.slice(0, 3).forEach((project, index) => { console.log(`项目 ${index + 1}: ${project.name}`); console.log(`角色: ${project.role}`); console.log(`时间: ${project.startDate} - ${project.endDate || '至今'}`); console.log(`描述: ${project.description?.substring(0, 100)}...`); console.log('---'); }); } else { console.log('❌ 未找到项目经验'); } } catch (error) { console.error('❌ 查看项目经验失败:', error.message); } } /** * 示例4: 统计简历数据 */ async function example4_resumeStatistics() { console.log('\n========== 示例4: 统计简历数据 ==========\n'); try { const resume_info = db.getModel('resume_info'); // 统计总数 const totalCount = await resume_info.count(); // 统计各平台数量 const bossPlatformCount = await resume_info.count({ where: { platform: 'boss' } }); // 统计高竞争力简历 const highCompetitiveness = await resume_info.count({ where: { aiCompetitiveness: { [db.models.op.gte]: 80 } } }); console.log('✅ 简历统计:'); console.log('总简历数:', totalCount); console.log('Boss直聘平台:', bossPlatformCount); console.log('高竞争力简历(≥80分):', highCompetitiveness); } catch (error) { console.error('❌ 统计失败:', error.message); } } // 主函数 async function main() { console.log('🚀 简历存储和分析功能示例\n'); // 运行示例 await example1_getAndStoreResume(); await example2_queryStoredResume(); await example3_viewProjectExperience(); await example4_resumeStatistics(); console.log('\n✨ 所有示例执行完成!\n'); } // 如果直接运行此文件 if (require.main === module) { main().catch(error => { console.error('执行失败:', error); process.exit(1); }); } module.exports = { example1_getAndStoreResume, example2_queryStoredResume, example3_viewProjectExperience, example4_resumeStatistics };