This commit is contained in:
张成
2025-12-25 22:11:34 +08:00
parent c6c78d0c43
commit 7ee92b8905
26 changed files with 27282 additions and 1706 deletions

View File

@@ -686,6 +686,86 @@ module.exports = {
end_date: end_date
}
});
},
/**
* @swagger
* /admin_api/pla_account/parse-resume:
* post:
* summary: 解析账号在线简历
* description: 获取指定账号的在线简历并进行AI分析返回简历详情
* tags: [后台-账号管理]
* requestBody:
* required: true
* content:
* application/json:
* schema:
* type: object
* required:
* - id
* properties:
* id:
* type: integer
* description: 账号ID
* responses:
* 200:
* description: 解析成功返回简历ID
*/
'POST /pla_account/parse-resume': async (ctx) => {
const { id } = ctx.getBody();
const models = await Framework.getModels();
const { pla_account } = models;
const mqttClient = require('../middleware/mqtt/mqttClient');
const resumeManager = require('../middleware/job/resumeManager');
if (!id) {
return ctx.fail('账号ID不能为空');
}
// 获取账号信息
const account = await pla_account.findOne({ where: { id } });
if (!account) {
return ctx.fail('账号不存在');
}
const { sn_code, platform_type } = account;
if (!sn_code) {
return ctx.fail('该账号未绑定设备');
}
try {
// 调用简历管理器获取并保存简历
const resumeData = await resumeManager.get_online_resume(sn_code, mqttClient, {
platform: platform_type || 'boss'
});
// 从返回数据中获取 resumeId
// resumeManager 已经保存了简历到数据库,我们需要查询获取 resumeId
const resume_info = models.resume_info;
const savedResume = await resume_info.findOne({
where: {
sn_code,
platform: platform_type || 'boss',
isActive: true
},
order: [['syncTime', 'DESC']]
});
if (!savedResume) {
return ctx.fail('简历解析失败:未找到保存的简历记录');
}
return ctx.success({
message: '简历解析成功',
resumeId: savedResume.resumeId,
data: resumeData
});
} catch (error) {
console.error('[解析简历] 失败:', error);
return ctx.fail('解析简历失败: ' + (error.message || '未知错误'));
}
}
};