AI接入逻辑完善

This commit is contained in:
2025-12-29 08:57:46 +08:00
parent ff49f1c0c1
commit 5663e8abfd
60 changed files with 2666 additions and 108 deletions

View File

@@ -0,0 +1,30 @@
package com.vetti.hotake.domain.dto;
import com.vetti.hotake.domain.dto.VcDto.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 简历优化器 返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class HotakeCvOptimizeDto {
@ApiModelProperty("分析总结")
private CvAnalysisSummaryDto analysisSummary;
@ApiModelProperty("文本修正(文字、语法等错误)")
private CvTextCorrectionsDto textCorrections;
@ApiModelProperty("逻辑修正")
private CvLogicCorrectionsDto logicCorrections;
@ApiModelProperty("优化建议")
private CvOptimizationSuggestionsDto optimizationSuggestions;
@ApiModelProperty("行动计划")
private CvActionPlanDto actionPlan;
@ApiModelProperty("预期改进效果")
private CvEstimatedImprovementDto estimatedImprovement;
}

View File

@@ -0,0 +1,22 @@
package com.vetti.hotake.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 初步筛选问题淘汰评分 返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class HotakeInitialQuestionEliminationScoreDto {
@ApiModelProperty("评分")
private String score;
@ApiModelProperty("描述")
private String evaluate;
}

View File

@@ -0,0 +1,41 @@
package com.vetti.hotake.domain.dto;
import com.vetti.hotake.domain.dto.roleDto.NiceToHaveSkillsDto;
import com.vetti.hotake.domain.dto.roleDto.RequiredSkillsDto;
import com.vetti.hotake.domain.dto.roleDto.ResponsibilitiesDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 岗位-职位描述 返回信息
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class HotakeJobDescriptionGeneratorDto {
/** 关于职位 */
@ApiModelProperty("关于职位")
private String aboutRole;
/** 职责 */
@ApiModelProperty("职责")
private List<ResponsibilitiesDto> responsibilitiesList;
@ApiModelProperty("岗位所需技能信息数据集合")
private List<RequiredSkillsDto> skillsDtoList;
@ApiModelProperty("岗位加分技能信息数据集合")
private List<NiceToHaveSkillsDto> haveSkillsDtoList;
}

View File

@@ -0,0 +1,30 @@
package com.vetti.hotake.domain.dto;
import com.vetti.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 会议日历返回数据 实体类对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class HotakeMeetingCalendarDataDto {
/** 会议日期 */
@ApiModelProperty("会议日期(年月日)")
@Excel(name = "会议日期")
private String meetingDate;
@ApiModelProperty("是否有会议(0:无,1:有会议)")
private String meetingFlag;
@ApiModelProperty("当前日期对应的会议数量")
private Integer nums;
}

View File

@@ -0,0 +1,27 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 简历-优化器-行动计划 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvActionPlanDto {
@ApiModelProperty("立即修正项,优先级最高 ")
private List<String> immediateFixes;
@ApiModelProperty("内容改进项,中期执行 ")
private List<String> contentImprovements;
@ApiModelProperty("战略性提升项,长期优化 ")
private List<String> strategicEnhancements;
}

View File

@@ -0,0 +1,33 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 简历-优化器-分析总结 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvAnalysisSummaryDto {
@ApiModelProperty("简历综合评分 (0-100) ")
private String overallScore;
@ApiModelProperty("主要优势列表,突出候选人核心竞争力 ")
private List<String> mainStrengths;
@ApiModelProperty("关键问题列表,需要优先解决的问题 ")
private List<String> criticalIssues;
@ApiModelProperty("改进潜力high/medium/low")
private String improvementPotential;
}

View File

@@ -0,0 +1,26 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 简历-优化器-职业发展逻辑 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvCareerProgressionDto {
@ApiModelProperty("问题")
private String issue;
@ApiModelProperty("详细信息")
private String details;
@ApiModelProperty("建议")
private String suggestion;
}

View File

@@ -0,0 +1,29 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 简历-优化器-预期改进效果 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvEstimatedImprovementDto {
@ApiModelProperty("当前ATS系统评分 (0-100) ")
private String currentAtsScore;
@ApiModelProperty("优化后预期ATS评分 ")
private String potentialAtsScore;
@ApiModelProperty("对招聘官的吸引力提升程度")
private String recruiterAppeal;
@ApiModelProperty("获得面试机会的概率提升")
private String interviewProbability;
}

View File

@@ -0,0 +1,28 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 简历-优化器-格式错误 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvFormattingIssuesDto {
@ApiModelProperty("问题")
private String issue;
@ApiModelProperty("修正建议")
private String suggestion;
@ApiModelProperty("错误位置")
private List<String> locations;
}

View File

@@ -0,0 +1,30 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 简历-优化器-语法错误 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvGrammarErrorsDto {
@ApiModelProperty("原始数据")
private String original;
@ApiModelProperty("修正数据")
private String corrected;
@ApiModelProperty("错误位置")
private String location;
@ApiModelProperty("解释说明")
private String explanation;
}

View File

@@ -0,0 +1,27 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 简历-优化器-关键词优化 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvKeywordOptimizationDto {
@ApiModelProperty("缺少关键字")
private List<String> missingKeywords;
@ApiModelProperty("行业术语")
private List<String> industryTerms;
@ApiModelProperty("ats关键字")
private List<String> atsKeywords;
}

View File

@@ -0,0 +1,27 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 简历-优化器-逻辑修正 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvLogicCorrectionsDto {
@ApiModelProperty("时间线冲突列表数据集合")
private List<CvTimelineConflictsDto> timelineConflicts;
@ApiModelProperty("职业发展逻辑数据集合")
private List<CvCareerProgressionDto> careerProgressionDtos;
@ApiModelProperty("技能经验匹配数据集合")
private List<CvSkillExperienceMismatchDto> skillExperienceMismatchDtos;
}

View File

@@ -0,0 +1,31 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 简历-优化器-优化建议 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvOptimizationSuggestionsDto {
@ApiModelProperty("个人简介优化")
private CvPersonalSummaryDto personalSummary;
@ApiModelProperty("工作经历优化建议")
private List<CvWorkExperienceDto> workExperienceDtoList;
@ApiModelProperty("技能部分优化")
private CvSkillsSectionDto skillsSection;
@ApiModelProperty("关键词优化")
private CvKeywordOptimizationDto keywordOptimization;
}

View File

@@ -0,0 +1,28 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 简历-优化器-个人总结 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvPersonalSummaryDto {
@ApiModelProperty("当前问题列表")
private List<String> currentIssues;
@ApiModelProperty("优化后的个人简介")
private String optimizedVersion;
@ApiModelProperty("关键改进点")
private List<String> keyImprovements;
}

View File

@@ -0,0 +1,25 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 简历-优化器-技能经验匹配 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvSkillExperienceMismatchDto {
@ApiModelProperty("技能")
private String skill;
@ApiModelProperty("问题")
private String issue;
@ApiModelProperty("建议")
private String suggestion;
}

View File

@@ -0,0 +1,26 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 简历-优化器-技能部分优化 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvSkillsSectionDto {
@ApiModelProperty("当前问题")
private List<String> currentIssues;
@ApiModelProperty("建议结构")
private CvSuggestedStructureDto suggestedStructureDto;
}

View File

@@ -0,0 +1,25 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 简历-优化器-识别拼写错误 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvSpellingErrorsDto {
@ApiModelProperty("原始数据")
private String original;
@ApiModelProperty("修正数据")
private String corrected;
@ApiModelProperty("错误位置")
private String location;
}

View File

@@ -0,0 +1,27 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 简历-优化器-建议结构 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvSuggestedStructureDto {
@ApiModelProperty("核心技能")
private List<String> coreSkills;
@ApiModelProperty("技术技能")
private List<String> technicalSkills;
@ApiModelProperty("认证")
private List<String> certifications;
}

View File

@@ -0,0 +1,27 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 简历-优化器-文本修正(文字、语法等错误) -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvTextCorrectionsDto {
@ApiModelProperty("识别拼写错误数据集合")
private List<CvSpellingErrorsDto> spellingErrors;
@ApiModelProperty("语法错误数据集合")
private List<CvGrammarErrorsDto> grammarErrors;
@ApiModelProperty("格式错误数据集合")
private List<CvFormattingIssuesDto> formattingIssues;
}

View File

@@ -0,0 +1,25 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 简历-优化器-检查时间线冲突 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvTimelineConflictsDto {
@ApiModelProperty("冲突类型 ")
private String conflict;
@ApiModelProperty("冲突详情 ")
private String details;
@ApiModelProperty("解决建议 ")
private String suggestion;
}

View File

@@ -0,0 +1,30 @@
package com.vetti.hotake.domain.dto.VcDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 简历-优化器-工作经验 -返回对象
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class CvWorkExperienceDto {
@ApiModelProperty("职位名称")
private String position;
@ApiModelProperty("当前描述")
private String currentDescription;
@ApiModelProperty("优化后描述")
private String optimizedDescription;
@ApiModelProperty("改进要点")
private List<String> improvements;
}

View File

@@ -0,0 +1,20 @@
package com.vetti.hotake.domain.dto.roleDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 岗位-职责信息 返回信息
*
* @author wangxiangshun
* @date 2025-11-30
*/
@Data
@Accessors(chain = true)
public class ResponsibilitiesDto {
/** 职责 */
@ApiModelProperty("职责")
private String responsibilities;
}