修改评分计算规则

This commit is contained in:
zk
2026-03-26 19:51:00 +08:00
parent fcc13d3496
commit e3dcfde190
6 changed files with 223 additions and 90 deletions
@@ -54,7 +54,7 @@ public class JobDto {
/** 岗位状态(0=有效 1=已下架 2=已过期) */
private Integer status;
/** 匹配总分(0-90 */
/** 匹配总分(0-100 */
private Integer matchScore;
/** 匹配度详情 */
@@ -14,12 +14,12 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class JobMatchScoreDto {
/** 行业得分(0-100,百分制) */
private Integer industryScore;
/** 教育得分(0-100,百分制) */
private Integer educationScore;
/** 技能得分(0-100,百分制) */
private Integer skillScore;
/** 经得分(0-100,百分制) */
/** 经得分(0-100,百分制) */
private Integer experienceScore;
}
@@ -126,7 +126,7 @@ public class JobService {
dto.setStatus(vo.getStatus());
Map<String, Integer> scoreMap = matchScoreMap.get(vo.getId());
if (scoreMap != null) {
JobMatchScoreDto matchScore = new JobMatchScoreDto(scoreMap.get("industryScore"), scoreMap.get("skillScore"), scoreMap.get("experienceScore"));
JobMatchScoreDto matchScore = new JobMatchScoreDto(scoreMap.get("educationScore"), scoreMap.get("skillScore"), scoreMap.get("experienceScore"));
dto.setMatchScore(scoreMap.get("totalScore"));
dto.setMatchDetail(matchScore);
} else {
@@ -228,6 +228,8 @@ public class JobService {
item.setId(job.getId());
item.setRequiredIndustryId(job.getRequiredIndustryId());
item.setMinExperience(job.getMinExperience());
item.setRequiredMajorIds(job.getRequiredMajorIds());
item.setMajorSensitivity(job.getMajorSensitivity());
jobList.add(item);
Map<Long, Map<String, Integer>> matchScoreMap = jobMatchService.batchCalculateMatchScore(jobList, userId);
Map<String, Integer> scoreMap = matchScoreMap.get(jobId);
@@ -290,7 +292,7 @@ public class JobService {
dto.setIsFavorite(count > 0);
if (scoreMap != null) {
dto.setMatchScore(scoreMap.get("totalScore"));
dto.setMatchDetail(new JobMatchScoreDto(scoreMap.get("industryScore"), scoreMap.get("skillScore"), scoreMap.get("experienceScore")));
dto.setMatchDetail(new JobMatchScoreDto(scoreMap.get("educationScore"), scoreMap.get("skillScore"), scoreMap.get("experienceScore")));
} else {
dto.setMatchScore(0);
dto.setMatchDetail(new JobMatchScoreDto(0, 0, 0));