diff --git a/client-api/src/main/java/org/jiayunet/controller/UserResumeController.java b/client-api/src/main/java/org/jiayunet/controller/UserResumeController.java index 2bc1402..26e1665 100644 --- a/client-api/src/main/java/org/jiayunet/controller/UserResumeController.java +++ b/client-api/src/main/java/org/jiayunet/controller/UserResumeController.java @@ -70,6 +70,12 @@ public class UserResumeController { userResumeService.deleteResume(resumeId); } + /** 设置默认简历 */ + @PostMapping("/setDefault") + public void setDefaultResume(@RequestParam Long resumeId) { + userResumeService.setDefaultResume(resumeId); + } + // ==================== 教育经历 ==================== /** 查询简历的教育经历列表 */ diff --git a/client-api/src/main/java/org/jiayunet/service/UserResumeService.java b/client-api/src/main/java/org/jiayunet/service/UserResumeService.java index 6530b49..59e97c2 100644 --- a/client-api/src/main/java/org/jiayunet/service/UserResumeService.java +++ b/client-api/src/main/java/org/jiayunet/service/UserResumeService.java @@ -102,7 +102,9 @@ public class UserResumeService { if (resume.getResumeName() == null) { resume.setResumeName("我的简历"); } - resume.setIsDefault(0); + // 第一份简历自动设为默认 + boolean hasResume = userResumeMapper.selectCount(new LambdaQueryWrapper().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())); } + /** + * 设置默认简历 + *

1. 查询用户所有简历,无简历则报错 2. 校验resumeId存在于用户简历中 3. 全部置为非默认,目标简历置为默认

+ */ + @Transactional(rollbackFor = Exception.class) + public void setDefaultResume(Long resumeId) { + Long userId = UserSecurityTool.getUserId(); + List resumeList = userResumeMapper.selectList(new LambdaQueryWrapper().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().eq(UserResume::getUserId, userId).set(UserResume::getIsDefault, 0)); + // 目标简历置为默认 + userResumeMapper.update(null, new LambdaUpdateWrapper().eq(UserResume::getId, resumeId).set(UserResume::getIsDefault, 1)); + } + /** * 校验简历归属当前用户 */