diff --git a/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/controller/RecruitPositionController.java b/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/controller/RecruitPositionController.java index 3c88d4f..9db4939 100644 --- a/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/controller/RecruitPositionController.java +++ b/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/controller/RecruitPositionController.java @@ -24,6 +24,10 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +/** + * @author wangjx + * @data 2025.2.21 + */ @RestController @Api(tags = "职位管理") @RequestMapping("recruit/position") diff --git a/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/controller/RecruitResumeController.java b/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/controller/RecruitResumeController.java index 8f2a64d..aba66a2 100644 --- a/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/controller/RecruitResumeController.java +++ b/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/controller/RecruitResumeController.java @@ -4,6 +4,7 @@ import cn.zgfxrc.boot.common.core.entity.interfaces.AddGroup; import cn.zgfxrc.boot.common.core.entity.interfaces.DelGroup; import cn.zgfxrc.boot.common.core.entity.interfaces.EditGroup; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -19,15 +20,11 @@ import io.swagger.annotations.ApiParam; import java.sql.Timestamp; import java.time.LocalDateTime; import java.util.List; -import java.util.UUID; import javax.validation.Valid; import lombok.AllArgsConstructor; import org.springframework.lang.Nullable; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** * @author huanghs@zgfxrc.cn @@ -115,32 +112,65 @@ public class RecruitResumeController { } /** - * 把简历投给职位,通过外键去关联表 选完职位点击确定投递才会触发这边 + * 把简历投给职位,通过外键去关联表 + * + * @param entity 实体类 + * @author wangjx + * @data 2025.2.21 */ @Log("投递") @ApiOperation("根据外键去关联,将简历投给职位") @PostMapping("add_delivery") public void addDelivery( - @ApiParam("简历信息,包含关联职位的外键 positionId") - @RequestBody @Valid RecruitResume entity) { + @ApiParam("简历信息,包含关联职位的外键 positionId") @RequestBody @Valid RecruitResume entity) { // 检查职位 ID 是否为空,如果为空则抛出异常 if (entity.getPositionId() == null) { throw new RuntimeException("关联的职位 ID 不能为空"); } - - // 检查 id 是否为空,如果为空则生成 UUID + // 检查简历 id 是否为空,如果为空则抛出异常 if (entity.getId() == null) { - entity.setId(Long.valueOf(UUID.randomUUID().toString())); + throw new RuntimeException("关联的简历 ID 不能为空"); } - // 设置创建时间为当前时间 - entity.setCreateTime(Timestamp.valueOf(LocalDateTime.now()).toLocalDateTime()); + // 创建更新条件包装器,根据简历 id 进行更新 + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", entity.getId()); - // 调用服务层的 save 方法保存简历信息 - boolean result = service.save(entity); + // 创建要更新的字段 + RecruitResume updateEntity = new RecruitResume(); + updateEntity.setPositionId(entity.getPositionId()); + // 设置更新时间为当前时间 + updateEntity.setUpdateTime(Timestamp.valueOf(LocalDateTime.now()).toLocalDateTime()); + + // 调用服务层的 update 方法更新简历信息 + boolean result = service.update(updateEntity, updateWrapper); if (!result) { throw new RuntimeException("简历投递失败"); } } -} + + /** + * 根据传进来的职位id查询目标下面的简历 + * + * @param positionId 职位id + * @author wangjx + * @data 2025.2.22 + */ + @Log("查询岗位下的简历") + @ApiOperation("根据传进来的职位id查询目标下面的简历") + @GetMapping("getResumesByPositionId") + public List getResumesByPositionId( + @ApiParam("职位id") @RequestParam String positionId) { + // 检查职位 ID 是否为空,如果为空则抛出异常 + if (positionId == null || positionId.isEmpty() || positionId.equals("null")) { + throw new RuntimeException("职位 ID 不能为空"); + } + + // 创建查询条件包装器,根据职位id进行查询 + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(RecruitResume::getPositionId, positionId); + + // 调用服务层的 list 方法查询简历信息 + return service.list(queryWrapper); + } } diff --git a/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/mapper/RecruitPositionMapper.java b/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/mapper/RecruitPositionMapper.java index d2e9d47..9c6dc6e 100644 --- a/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/mapper/RecruitPositionMapper.java +++ b/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/mapper/RecruitPositionMapper.java @@ -4,5 +4,9 @@ import cn.zgfxrc.boot.common.mybatis.base.MpBaseMapper; import com.rsjst.hcm.recruit.api.entity.RecruitPositionPojo; import org.apache.ibatis.annotations.Mapper; +/** + * @author wangjx + * @data 2025.2.21 + */ @Mapper public interface RecruitPositionMapper extends MpBaseMapper {} diff --git a/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/service/RecruitPositionService.java b/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/service/RecruitPositionService.java index 529ad83..8fe0175 100644 --- a/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/service/RecruitPositionService.java +++ b/recruit-biz/src/main/java/com/rsjst/hcm/recruit/biz/service/RecruitPositionService.java @@ -11,6 +11,10 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +/** + * @author wangjx + * @data 2025.2.21 + */ @Slf4j @Service @AllArgsConstructor