From 2c4b86d92b9cd7a9f5a92bd5354d77ded2a36173 Mon Sep 17 00:00:00 2001 From: 284718418@qq.com <youlinrc321> Date: Thu, 7 Apr 2022 16:22:22 +0800 Subject: [PATCH] 招聘管理-人才详情逻辑代码 --- src/main/java/cn/timer/api/bean/zpgl/ZpglMslcLog.java | 6 ++++++ src/main/java/cn/timer/api/controller/zpgl/ZpglController.java | 10 +++++----- src/main/java/cn/timer/api/controller/zpgl/ZpglMslcController.java | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/cn/timer/api/controller/zpgl/sevice/ZpglServiceImpl.java | 15 ++++++++++++++- src/main/java/cn/timer/api/dto/zpgl/ZpglMslcLogDto.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/resources/mapping/zpgl/ZpglMslcLogMapper.xml | 1 + 6 files changed, 170 insertions(+), 6 deletions(-) create mode 100644 src/main/java/cn/timer/api/controller/zpgl/ZpglMslcController.java create mode 100644 src/main/java/cn/timer/api/dto/zpgl/ZpglMslcLogDto.java diff --git a/src/main/java/cn/timer/api/bean/zpgl/ZpglMslcLog.java b/src/main/java/cn/timer/api/bean/zpgl/ZpglMslcLog.java index b2bee32..48162bf 100644 --- a/src/main/java/cn/timer/api/bean/zpgl/ZpglMslcLog.java +++ b/src/main/java/cn/timer/api/bean/zpgl/ZpglMslcLog.java @@ -47,6 +47,12 @@ public class ZpglMslcLog extends Model<ZpglMslcLog> { */ @ApiModelProperty(value = "人才信息ID") private Integer zpglRcxxId; + + /** + * 类型,1状态变更,2面试,3Offer,4讨论,5其他 + */ + @ApiModelProperty(value = "类型,1状态变更,2面试,3Offer,4讨论,5其他") + private Integer zpglRcxxStatus; /** * 详细内容 */ diff --git a/src/main/java/cn/timer/api/controller/zpgl/ZpglController.java b/src/main/java/cn/timer/api/controller/zpgl/ZpglController.java index 0f966fc..f068044 100644 --- a/src/main/java/cn/timer/api/controller/zpgl/ZpglController.java +++ b/src/main/java/cn/timer/api/controller/zpgl/ZpglController.java @@ -408,17 +408,17 @@ public class ZpglController { } /** - * 招聘-移出人才库 + * 招聘-移入/出人才库 * * @param * @return */ - @PostMapping(value = "/remove/{id}") - @ApiOperation(value = "6.招聘-移出人才库", httpMethod = "GET", notes = "招聘-移出人才库") + @PostMapping(value = "/remove/{id}/{ifrck}") + @ApiOperation(value = "6.招聘-移入/出人才库", httpMethod = "GET", notes = "招聘-移入/出人才库") @ApiOperationSupport(order = 6) - public Result<Object> remove(@CurrentUser UserBean userBean, @PathVariable Integer id) { + public Result<Object> remove(@CurrentUser UserBean userBean, @PathVariable Integer id, @PathVariable Integer ifrck) { try { - return ZpglRcxx.builder().id(id).ifrck(0).userId(userBean.getEmpNum()).build().updateById()?ResultUtil.success("操作成功"):ResultUtil.error("操作失败"); + return ZpglRcxx.builder().id(id).ifrck(ifrck).userId(userBean.getEmpNum()).build().updateById()?ResultUtil.success("操作成功"):ResultUtil.error("操作失败"); } catch (Exception e) { e.printStackTrace(); throw new CustomException("招聘-删除人才信息失败"); diff --git a/src/main/java/cn/timer/api/controller/zpgl/ZpglMslcController.java b/src/main/java/cn/timer/api/controller/zpgl/ZpglMslcController.java new file mode 100644 index 0000000..a7446fd --- /dev/null +++ b/src/main/java/cn/timer/api/controller/zpgl/ZpglMslcController.java @@ -0,0 +1,92 @@ +package cn.timer.api.controller.zpgl; + +import cn.timer.api.bean.zpgl.ZpglMslcLog; +import cn.timer.api.config.annotation.CurrentUser; +import cn.timer.api.config.annotation.UserBean; +import cn.timer.api.config.enuminterface.JxglEnumInterface; +import cn.timer.api.config.exception.CustomException; +import cn.timer.api.dto.zpgl.ZpglMslcLogDto; +import cn.timer.api.utils.Result; +import cn.timer.api.utils.ResultUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.transaction.Transactional; +import java.util.List; + +/** + * 招聘管理 + * + * @author wuqingjun + * @email 284718418@qq.com + * @date 2022-03-08 15:14:40 + */ +@Api(tags = "招聘管理") +@Transactional(rollbackOn = Exception.class) +@RestController +@RequestMapping(value = "/zpgl", produces = {"application/json"}) +@Slf4j +public class ZpglMslcController { + + /** + * 招聘-招聘中 + * + * @param + * @return + */ + @GetMapping(value = "/mslc_list") + @ApiOperation(value = "1.招聘管理面试流程记录", httpMethod = "GET", notes = "招聘管理面试流程记录") + @ApiOperationSupport(order = 1) + public Result<Object> mslcList(@CurrentUser UserBean userBean, + @ApiParam("人才信息ID") @RequestParam(required = false) Integer zpglRcxxId, + @ApiParam("状态") @RequestParam(required = false) Integer zpglRcxxStatus) { + try { + QueryWrapper<ZpglMslcLog> queryWrapper = new QueryWrapper<ZpglMslcLog>(); + queryWrapper.lambda().eq(ZpglMslcLog::getZpglRcxxId,zpglRcxxId); + // 0全部类型,1状态变更,2面试,3Offer,4讨论,5其他 + // JxglEnumInterface.MslcLogStatus + if(zpglRcxxStatus>0){ + queryWrapper.lambda().eq(ZpglMslcLog::getZpglRcxxStatus,zpglRcxxStatus); + } + queryWrapper.lambda().orderByDesc(ZpglMslcLog::getCreateTime); + List<ZpglMslcLog> zpglMslcLogs = ZpglMslcLog.builder().build().selectList(queryWrapper); + return ResultUtil.data(zpglMslcLogs, "搜索成功"); + + } catch (Exception e) { + e.printStackTrace(); + throw new CustomException("招聘-招聘列表失败"); + } + + } + /** + * 招聘-添加讨论 + * + * @param + * @return + */ + @PostMapping(value = "/mslc/save") + @ApiOperation(value = "2.招聘-添加讨论", httpMethod = "POST", notes = "招聘-添加讨论") + @ApiOperationSupport(order = 2) + public Result<Object> save(@CurrentUser UserBean userBean, @RequestBody @Validated ZpglMslcLogDto zpglMslcLogDto) { + try { + ZpglMslcLog zpglMslcLog = ZpglMslcLog.builder().build(); + BeanUtils.copyProperties(zpglMslcLogDto, zpglMslcLog); + zpglMslcLog.setUserId(userBean.getEmpNum()); + zpglMslcLog.setUserName(userBean.getQyzxEmpLogin().getUsername()); + zpglMslcLog.setDetail(userBean.getQyzxEmpLogin().getUsername()+" "+zpglMslcLogDto.getDetail()); + zpglMslcLog.setZpglRcxxStatus(JxglEnumInterface.MslcLogStatus.DISCUSS.getType()); + return zpglMslcLog.insert() ? ResultUtil.data(zpglMslcLog) : ResultUtil.error(); + } catch (Exception e) { + e.printStackTrace(); + throw new CustomException("招聘-添加讨论"); + } + } + +} diff --git a/src/main/java/cn/timer/api/controller/zpgl/sevice/ZpglServiceImpl.java b/src/main/java/cn/timer/api/controller/zpgl/sevice/ZpglServiceImpl.java index 26afa1a..0154d93 100644 --- a/src/main/java/cn/timer/api/controller/zpgl/sevice/ZpglServiceImpl.java +++ b/src/main/java/cn/timer/api/controller/zpgl/sevice/ZpglServiceImpl.java @@ -60,19 +60,24 @@ public class ZpglServiceImpl implements ZpglService { zpglRcxx.setIfrckTime(new Date()); } String detail = ""; + // 类型,1状态变更,2面试,3Offer,4讨论,5其他 + int zpglRcxxStatus = 0; switch (zpglRcxxDto.getStatus()) { case 1: + zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.CHANGEING.getType(); //待初筛 填充字段 detail = ZpglMessageTemplate.print(ZpglMessageTemplate.FILTERING, new String[]{ userBean.getQyzxEmpLogin().getUsername()}); break; case 2: + zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.CHANGEING.getType(); //初筛通过 填充字段 zpglRcxx.setIfrck(zpglRcxxDto.getIfrck()); detail = ZpglMessageTemplate.print(ZpglMessageTemplate.FILTER_PASS, new String[]{ userBean.getQyzxEmpLogin().getUsername()}); break; case 3: + zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.INTERVIEW.getType(); //安排面试 填充字段 zpglRcxx.setInterviewNum(zpglRcxxDto.getInterviewNum()); zpglRcxx.setInterviewWay(zpglRcxxDto.getInterviewWay()); @@ -87,19 +92,22 @@ public class ZpglServiceImpl implements ZpglService { ygglMainEmp.getName()}); break; case 4: + zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.INTERVIEW.getType(); detail = ZpglMessageTemplate.print(ZpglMessageTemplate.INTERVIEWED, new String[]{ userBean.getQyzxEmpLogin().getUsername(), zpglRcxxDto.getInterviewNum().toString()}); break; case 5: + zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.INTERVIEW.getType(); detail = ZpglMessageTemplate.print(ZpglMessageTemplate.INTERVIEW_PASS, new String[]{ userBean.getQyzxEmpLogin().getUsername()}); break; case 6: - + zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.INTERVIEW.getType(); detail = ZpglMessageTemplate.print(ZpglMessageTemplate.EMPLOY, new String[]{ userBean.getQyzxEmpLogin().getUsername()}); break; case 7: + zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.OFFER.getType(); //发送offer 填充字段 zpglRcxx.setBmgwId(zpglRcxxDto.getBmgwId()); zpglRcxx.setJobType(zpglRcxxDto.getJobType()); @@ -109,6 +117,7 @@ public class ZpglServiceImpl implements ZpglService { //发送offer break; case 8: + zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.OTHER.getType(); //待入职 填充字段 zpglRcxx.setBmgwId(zpglRcxxDto.getBmgwId()); zpglRcxx.setJobType(zpglRcxxDto.getJobType()); @@ -124,9 +133,11 @@ public class ZpglServiceImpl implements ZpglService { String messageTemplate = ZpglMessageTemplate.ENTRYING; if (!StringUtils.isEmpty(zpglFail)) { if (zpglFail.getZpglRcxxStatus().equals(JxglEnumInterface.ResumeStatus.INTERVIEW_PASS.getType())) { + zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.OTHER.getType(); messageTemplate = ZpglMessageTemplate.INTERVIEWED_ENTRYING; } if (zpglFail.getZpglRcxxStatus().equals(JxglEnumInterface.ResumeStatus.OFFER.getType())) { + zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.OTHER.getType(); messageTemplate = ZpglMessageTemplate.OFFER_ENTRYING; } detail = ZpglMessageTemplate.print(messageTemplate, new String[]{ @@ -134,6 +145,7 @@ public class ZpglServiceImpl implements ZpglService { } break; case 10: + zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.OTHER.getType(); //确认入职 detail = ZpglMessageTemplate.print(ZpglMessageTemplate.ENTRY, new String[]{ userBean.getQyzxEmpLogin().getUsername()}); @@ -141,6 +153,7 @@ public class ZpglServiceImpl implements ZpglService { default: break; } + zpglMslcLog.setZpglRcxxStatus(zpglRcxxStatus); zpglMslcLog.setDetail(detail); count = zpglRcxx.updateById(); zpglMslcLogService.addZpglMslcLog(zpglMslcLog); diff --git a/src/main/java/cn/timer/api/dto/zpgl/ZpglMslcLogDto.java b/src/main/java/cn/timer/api/dto/zpgl/ZpglMslcLogDto.java new file mode 100644 index 0000000..9273729 --- /dev/null +++ b/src/main/java/cn/timer/api/dto/zpgl/ZpglMslcLogDto.java @@ -0,0 +1,52 @@ +package cn.timer.api.dto.zpgl; + +import cn.timer.api.config.exception.ValidationMsg; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + + +/** + * 招聘管理面试流程记录 + * + * @author wuqingjun + * @email 284718418@qq.com + * @date 2022-03-08 15:14:40 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ZpglMslcLogDto implements Serializable { + private static final long serialVersionUID = 1L; + /** + * 人才信息ID + */ + @NotNull(message = ValidationMsg.NOTNULL) + @ApiModelProperty(value = "人才信息ID") + private Integer zpglRcxxId; + + /** + * 类型,1状态变更,2面试,3Offer,4讨论,5其他 + */ + @ApiModelProperty(value = "类型,1状态变更,2面试,3Offer,4讨论,5其他") + private Integer zpglRcxxStatus; + /** + * 详细内容 + */ + @NotBlank(message = ValidationMsg.NOTNULL) + @ApiModelProperty(value = "详细内容") + private String detail; + +} diff --git a/src/main/resources/mapping/zpgl/ZpglMslcLogMapper.xml b/src/main/resources/mapping/zpgl/ZpglMslcLogMapper.xml index 23ce934..977ee80 100644 --- a/src/main/resources/mapping/zpgl/ZpglMslcLogMapper.xml +++ b/src/main/resources/mapping/zpgl/ZpglMslcLogMapper.xml @@ -7,6 +7,7 @@ <resultMap type="cn.timer.api.bean.zpgl.ZpglMslcLog" id="zpglMslcLogMap"> <result property="id" column="id"/> <result property="zpglRcxxId" column="zpgl_rcxx_id"/> + <result property="zpglRcxxStatus" column="zpgl_rcxx_status"/> <result property="detail" column="detail"/> <result property="userId" column="user_id"/> <result property="userName" column="user_name"/> -- libgit2 0.26.0