添加设置默认简历接口

This commit is contained in:
zk
2026-04-23 21:06:45 +08:00
parent 699cac64d5
commit 65b973f912
2 changed files with 30 additions and 1 deletions
@@ -70,6 +70,12 @@ public class UserResumeController {
userResumeService.deleteResume(resumeId);
}
/** 设置默认简历 */
@PostMapping("/setDefault")
public void setDefaultResume(@RequestParam Long resumeId) {
userResumeService.setDefaultResume(resumeId);
}
// ==================== 教育经历 ====================
/** 查询简历的教育经历列表 */
@@ -102,7 +102,9 @@ public class UserResumeService {
if (resume.getResumeName() == null) {
resume.setResumeName("我的简历");
}
resume.setIsDefault(0);
// 第一份简历自动设为默认
boolean hasResume = userResumeMapper.selectCount(new LambdaQueryWrapper<UserResume>().eq(UserResume::getUserId, userId)) > 0;
resume.setIsDefault(hasResume ? 0 : 1);
resume.setSortOrder(0);
resume.setCreateTime(now);
resume.setUpdateTime(now);
@@ -609,6 +611,27 @@ public class UserResumeService {
.set(UserResume::getUpdateTime, Instant.now()));
}
/**
* 设置默认简历
* <p>1. 查询用户所有简历,无简历则报错 2. 校验resumeId存在于用户简历中 3. 全部置为非默认,目标简历置为默认</p>
*/
@Transactional(rollbackFor = Exception.class)
public void setDefaultResume(Long resumeId) {
Long userId = UserSecurityTool.getUserId();
List<UserResume> resumeList = userResumeMapper.selectList(new LambdaQueryWrapper<UserResume>().eq(UserResume::getUserId, userId));
if (resumeList.isEmpty()) {
throw new BusinessException(BusinessExpCodeEnum.DATA_NOT_EXIST, "暂无简历");
}
boolean exists = resumeList.stream().anyMatch(r -> r.getId().equals(resumeId));
if (!exists) {
throw new BusinessException(BusinessExpCodeEnum.DATA_NOT_EXIST, "简历不存在");
}
// 全部置为非默认
userResumeMapper.update(null, new LambdaUpdateWrapper<UserResume>().eq(UserResume::getUserId, userId).set(UserResume::getIsDefault, 0));
// 目标简历置为默认
userResumeMapper.update(null, new LambdaUpdateWrapper<UserResume>().eq(UserResume::getId, resumeId).set(UserResume::getIsDefault, 1));
}
/**
* 校验简历归属当前用户
*/