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 26e1665..1a27915 100644 --- a/client-api/src/main/java/org/jiayunet/controller/UserResumeController.java +++ b/client-api/src/main/java/org/jiayunet/controller/UserResumeController.java @@ -64,6 +64,12 @@ public class UserResumeController { return userResumeService.saveResume(po, param.getResumeId()); } + /** 修改简历名称和目标岗位 */ + @PostMapping("/updateInfo") + public void updateResumeInfo(@Validated @RequestBody ResumeInfoUpdateParam param) { + userResumeService.updateResumeInfo(param.getResumeId(), param.getResumeName(), param.getTargetPosition()); + } + /** 删除简历(主表 + 全部子表) */ @PostMapping("/delete") public void deleteResume(@RequestParam Long resumeId) { diff --git a/client-api/src/main/java/org/jiayunet/pojo/param/resume/ResumeInfoUpdateParam.java b/client-api/src/main/java/org/jiayunet/pojo/param/resume/ResumeInfoUpdateParam.java new file mode 100644 index 0000000..e156003 --- /dev/null +++ b/client-api/src/main/java/org/jiayunet/pojo/param/resume/ResumeInfoUpdateParam.java @@ -0,0 +1,27 @@ +package org.jiayunet.pojo.param.resume; + +import lombok.Data; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +/** + * 简历名称、目标岗位编辑入参 + * + * @author zk + */ +@Data +public class ResumeInfoUpdateParam { + + /** 简历ID */ + @NotNull(message = "resumeId不能为空") + private Long resumeId; + + /** 简历名称 */ + @Size(max = 100, message = "简历名称长度不能超过100") + private String resumeName; + + /** 目标岗位 */ + @Size(max = 100, message = "目标岗位长度不能超过100") + private String targetPosition; +} 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 c1915ec..0bf4cec 100644 --- a/client-api/src/main/java/org/jiayunet/service/UserResumeService.java +++ b/client-api/src/main/java/org/jiayunet/service/UserResumeService.java @@ -139,6 +139,21 @@ public class UserResumeService { return resumeId; } + /** + * 修改简历名称和目标岗位 + *

1. 校验归属 2. 显式set两个字段(允许清空为null,绕过全局update-strategy=not_null) 3. 刷新updateTime

+ */ + @Transactional(rollbackFor = Exception.class) + public void updateResumeInfo(Long resumeId, String resumeName, String targetPosition) { + UserResume existing = userResumeMapper.selectById(resumeId); + checkOwnership(existing); + userResumeMapper.update(null, new LambdaUpdateWrapper() + .eq(UserResume::getId, resumeId) + .set(UserResume::getResumeName, resumeName) + .set(UserResume::getTargetPosition, targetPosition) + .set(UserResume::getUpdateTime, Instant.now())); + } + /** * 删除简历(物理删除主表 + 全部子表) *

1. 校验归属 2. 删除5张子表 3. 删除主表