From a5853f83420771fce4bc3446bc968d6b30aca6fb Mon Sep 17 00:00:00 2001 From: zk Date: Fri, 3 Jul 2026 15:05:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BF=AE=E6=94=B9=E7=AE=80?= =?UTF-8?q?=E5=8E=86=E5=90=8D=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserResumeController.java | 6 +++++ .../param/resume/ResumeInfoUpdateParam.java | 27 +++++++++++++++++++ .../jiayunet/service/UserResumeService.java | 15 +++++++++++ 3 files changed, 48 insertions(+) create mode 100644 client-api/src/main/java/org/jiayunet/pojo/param/resume/ResumeInfoUpdateParam.java 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. 删除主表