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