自动更新线索状态
This commit is contained in:
@@ -7,6 +7,7 @@ import org.springframework.stereotype.Repository;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public class HyInterviewDAO {
|
public class HyInterviewDAO {
|
||||||
@@ -31,4 +32,18 @@ public class HyInterviewDAO {
|
|||||||
lineInfoMapper.updateWorkflowStatus(lineId, status.getCode());
|
lineInfoMapper.updateWorkflowStatus(lineId, status.getCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据线索id批量修改面试状态和线索表子流程状态
|
||||||
|
* @param lineIds
|
||||||
|
* @param status
|
||||||
|
*/
|
||||||
|
@Transactional
|
||||||
|
public void batchUpdateInterviewWorkflowStatus(List<Long> lineIds, Integer status){
|
||||||
|
//修改面试状态
|
||||||
|
interviewMapper.batchUpdateStatusByLineIds(lineIds, status);
|
||||||
|
//修改线索表子流程状态
|
||||||
|
lineInfoMapper.batchUpdateStatusByLineIds(lineIds, status);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,7 +69,11 @@ public interface HyPartnerInterviewMapper {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<HyPartnerInterviewDO> getInterviewBaseInfoList(@Param("record") GetInterviewListReq request);
|
List<HyPartnerInterviewDO> getInterviewBaseInfoList(@Param("record") GetInterviewListReq request);
|
||||||
void batchUpdateInterviewStatus(@Param("interviewIds") List<Long> interviewIdList, @Param("interviewStatus") Integer interviewStatus);
|
|
||||||
|
List<HyPartnerInterviewDO> getInterviewBaseInfoListByLineIds(@Param("lineIds") List<Long> lineIds);
|
||||||
|
void batchUpdateInterviewStatus(@Param("interviewIds") List<Long> interviewIdList, @Param("status") Integer interviewStatus,@Param("deleted") Integer deleted);
|
||||||
|
|
||||||
|
void batchUpdateStatusByLineIds(@Param("lineIds") List<Long> lineIds, @Param("status") Integer interviewStatus);
|
||||||
|
|
||||||
HyPartnerInterviewDO getInterviewInfoByInterviewPlanId(@Param("interviewPlanId") String interviewPlanId);
|
HyPartnerInterviewDO getInterviewInfoByInterviewPlanId(@Param("interviewPlanId") String interviewPlanId);
|
||||||
|
|
||||||
|
|||||||
@@ -119,10 +119,9 @@ public interface HyPartnerInterviewPlanMapper {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 仅适用于开启面试房间
|
* 仅适用于开启面试房间
|
||||||
* @param record
|
* @param lineIds
|
||||||
* @param roomStatus
|
|
||||||
*/
|
*/
|
||||||
void openInterviewRoom(@Param("record") HyPartnerInterviewPlanDO record,@Param("roomStatus")Integer roomStatus);
|
void openInterviewRoom(@Param("lineIds") List<Long> lineIds,@Param("roomStatus")Integer roomStatu);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 仅适用于关闭面试房间
|
* 仅适用于关闭面试房间
|
||||||
@@ -142,4 +141,5 @@ public interface HyPartnerInterviewPlanMapper {
|
|||||||
*/
|
*/
|
||||||
Integer getRoomStatus(@Param("interviewPlanId") String interviewPlanId);
|
Integer getRoomStatus(@Param("interviewPlanId") String interviewPlanId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -215,4 +215,13 @@ public interface HyPartnerLineInfoMapper {
|
|||||||
* 修改线索状态
|
* 修改线索状态
|
||||||
*/
|
*/
|
||||||
void updateWorkflowStatus(@Param("lineId") String lineId, @Param("status") String status);
|
void updateWorkflowStatus(@Param("lineId") String lineId, @Param("status") String status);
|
||||||
|
|
||||||
|
List<HyPartnerLineInfoDO> getOverTimeReserveLineList(@Param("deadlineEnd") Date deadlineEnd,
|
||||||
|
@Param("workflowStage") String workflowStage,
|
||||||
|
@Param("workflowStatus") String workflowStatus);
|
||||||
|
|
||||||
|
List<HyPartnerLineInfoDO> getWaitForOpenInterviewLineList(@Param("startTime") Date startTime,
|
||||||
|
@Param("endTime") Date endTime);
|
||||||
|
|
||||||
|
void batchUpdateStatusByLineIds(@Param("lineIds") List<Long> lineIds, @Param("status")Integer status);
|
||||||
}
|
}
|
||||||
@@ -363,8 +363,11 @@
|
|||||||
<update id="batchUpdateInterviewStatus">
|
<update id="batchUpdateInterviewStatus">
|
||||||
UPDATE hy_partner_interview
|
UPDATE hy_partner_interview
|
||||||
<set>
|
<set>
|
||||||
<if test="interviewStatus != null and interviewStatus != ''">
|
<if test="status != null and status != ''">
|
||||||
status = #{status}
|
status = #{status},
|
||||||
|
</if>
|
||||||
|
<if test="deleted != null ">
|
||||||
|
deleted = #{deleted},
|
||||||
</if>
|
</if>
|
||||||
</set>
|
</set>
|
||||||
WHERE id in
|
WHERE id in
|
||||||
@@ -389,7 +392,7 @@
|
|||||||
</select>
|
</select>
|
||||||
<select id="getInterviewBaseInfoList" resultType="com.cool.store.entity.HyPartnerInterviewDO">
|
<select id="getInterviewBaseInfoList" resultType="com.cool.store.entity.HyPartnerInterviewDO">
|
||||||
select
|
select
|
||||||
<include refid="Base_Column_List"/>
|
*
|
||||||
from hy_partner_interview_plan hpip
|
from hy_partner_interview_plan hpip
|
||||||
left join hy_partner_interview hpi on hpi.interview_plan_id = hpip.id
|
left join hy_partner_interview hpi on hpi.interview_plan_id = hpip.id
|
||||||
<where>
|
<where>
|
||||||
@@ -412,6 +415,17 @@
|
|||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="getOverTimeReserveInterviewList" resultType="com.cool.store.entity.HyPartnerInterviewDO">
|
||||||
|
SELECT
|
||||||
|
<include refid="Base_Column_List"></include>
|
||||||
|
FROM hy_partner_interview_plan where
|
||||||
|
partner_line_id in ( select id from hy_partner_line_info
|
||||||
|
WHERE workflow_flow_stage = #{workflowStage}
|
||||||
|
AND workflow_flow_status = #{workflowStatus}
|
||||||
|
AND deadline <= NOW()
|
||||||
|
AND deleted = 0) and deleted = 0
|
||||||
|
</select>
|
||||||
<!-- 根据面试计划id获取面试信息 -->
|
<!-- 根据面试计划id获取面试信息 -->
|
||||||
<select id="getInterviewInfoByInterviewPlanId" resultType="com.cool.store.entity.HyPartnerInterviewDO">
|
<select id="getInterviewInfoByInterviewPlanId" resultType="com.cool.store.entity.HyPartnerInterviewDO">
|
||||||
select
|
select
|
||||||
@@ -428,6 +442,20 @@
|
|||||||
SET status = #{status}
|
SET status = #{status}
|
||||||
WHERE interview_plan_id = #{interviewPlanId}
|
WHERE interview_plan_id = #{interviewPlanId}
|
||||||
</update>
|
</update>
|
||||||
|
<update id="batchUpdateStatusByLineIds">
|
||||||
|
UPDATE hy_partner_interview
|
||||||
|
<set>
|
||||||
|
<if test="status != null and status != ''">
|
||||||
|
status = #{status}
|
||||||
|
</if>
|
||||||
|
</set>
|
||||||
|
WHERE partner_line_id in
|
||||||
|
<foreach collection="lineIds" item="item" index="index" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
and deleted = 0
|
||||||
|
|
||||||
|
</update>
|
||||||
|
|
||||||
<!-- 获取面试对应的线索id -->
|
<!-- 获取面试对应的线索id -->
|
||||||
<select id="getLineId" resultType="java.lang.String">
|
<select id="getLineId" resultType="java.lang.String">
|
||||||
@@ -435,5 +463,12 @@
|
|||||||
FROM hy_partner_interview
|
FROM hy_partner_interview
|
||||||
WHERE interview_plan_id = #{interviewPlanId}
|
WHERE interview_plan_id = #{interviewPlanId}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getInterviewBaseInfoListByLineIds" resultType="com.cool.store.entity.HyPartnerInterviewDO">
|
||||||
|
select <include refid="Base_Column_List"/> from hy_partner_interview where partner_line_id in
|
||||||
|
<foreach collection="lineIds" item="item" index="index" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
and deleted = 0
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -221,18 +221,11 @@
|
|||||||
update hy_partner_interview_plan
|
update hy_partner_interview_plan
|
||||||
set room_status = #{roomStatus},update_time = now()
|
set room_status = #{roomStatus},update_time = now()
|
||||||
<where>
|
<where>
|
||||||
<if test="record.roomStatus !=null and record.roomStatus!=''">
|
partner_line_id in
|
||||||
and room_status = #{record.roomStatus}
|
<foreach collection="lineIds" item="item" index="index" open="(" separator="," close=")">
|
||||||
</if>
|
#{item}
|
||||||
<if test="record.startTime !=null">
|
</foreach>
|
||||||
and start_time >= #{record.startTime}
|
and deleted = 0
|
||||||
</if>
|
|
||||||
<if test="record.endTime !=null">
|
|
||||||
and start_time <= #{record.endTime}
|
|
||||||
</if>
|
|
||||||
<if test="record.deleted !=null and record.deleted!=''">
|
|
||||||
and deleted = #{deleted}
|
|
||||||
</if>
|
|
||||||
</where>
|
</where>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|||||||
@@ -572,11 +572,44 @@
|
|||||||
WHERE id = #{interviewPlanId}
|
WHERE id = #{interviewPlanId}
|
||||||
)
|
)
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getWaitForOpenInterviewLineList" resultType="com.cool.store.entity.HyPartnerLineInfoDO">
|
||||||
|
SELECT <include refid="Base_Column_List"></include>
|
||||||
|
FROM hy_partner_line_info hpli
|
||||||
|
WHERE line_status = 1
|
||||||
|
AND workflow_stage = 3
|
||||||
|
AND workflow_status = 2
|
||||||
|
AND hpli.deleted = 0
|
||||||
|
AND id IN (
|
||||||
|
SELECT partner_line_id
|
||||||
|
FROM hy_partner_interview_plan
|
||||||
|
WHERE start_time >= #{startTime}
|
||||||
|
AND start_time <= #{endTime}
|
||||||
|
AND room_status = 0
|
||||||
|
AND deleted = 0
|
||||||
|
)
|
||||||
|
</select>
|
||||||
|
<select id="getOverTimeReserveLineList" resultType="com.cool.store.entity.HyPartnerLineInfoDO">
|
||||||
|
SELECT <include refid="Base_Column_List"></include>
|
||||||
|
FROM hy_partner_line_info hpli
|
||||||
|
WHERE line_status = 1
|
||||||
|
AND workflow_stage = #{workflowStage}
|
||||||
|
AND workflow_status = #{workflowStatus}
|
||||||
|
AND hpli.deleted = 0
|
||||||
|
AND deadline <= #{deadlineEnd}
|
||||||
|
</select>
|
||||||
|
|
||||||
<update id="updateWorkflowStatus">
|
<update id="updateWorkflowStatus">
|
||||||
UPDATE hy_partner_line_info
|
UPDATE hy_partner_line_info
|
||||||
SET workflow_status = #{status}
|
SET workflow_status = #{status}
|
||||||
WHERE id = #{lineId}
|
WHERE id = #{lineId}
|
||||||
</update>
|
</update>
|
||||||
|
<update id="batchUpdateStatusByLineIds">
|
||||||
|
UPDATE hy_partner_line_info
|
||||||
|
SET workflow_status = #{status}
|
||||||
|
WHERE id IN
|
||||||
|
<foreach collection="lineIds" item="lineId" open="(" close=")" separator=",">
|
||||||
|
#{lineId}
|
||||||
|
</foreach>
|
||||||
|
</update>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -40,9 +40,9 @@ public class JobHandler {
|
|||||||
@XxlJob("updateInterviewOverTime")
|
@XxlJob("updateInterviewOverTime")
|
||||||
public void updateInterviewOverTime(){
|
public void updateInterviewOverTime(){
|
||||||
try {
|
try {
|
||||||
log.info("面试超时定时任务开始");
|
log.info("面试超时预约定时任务开始");
|
||||||
hyPartnerInterviewPlanService.updateInterviewOverTime();
|
hyPartnerInterviewPlanService.updateInterviewOverTime();
|
||||||
log.info("面试超时定时任务结束");
|
log.info("面试超时预约定时任务结束");
|
||||||
XxlJobHelper.handleSuccess();
|
XxlJobHelper.handleSuccess();
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("面试超时定时任务异常",e);
|
log.error("面试超时定时任务异常",e);
|
||||||
@@ -63,6 +63,7 @@ public class JobHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@XxlJob("updateAbsentInterview")
|
||||||
public void updateAbsentInterview(){
|
public void updateAbsentInterview(){
|
||||||
try {
|
try {
|
||||||
log.info("面试缺席定时任务开始");
|
log.info("面试缺席定时任务开始");
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.cool.store.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.cool.store.constants.CommonConstants;
|
import com.cool.store.constants.CommonConstants;
|
||||||
|
import com.cool.store.dao.HyInterviewDAO;
|
||||||
import com.cool.store.dao.HyPartnerInterviewPlanDAO;
|
import com.cool.store.dao.HyPartnerInterviewPlanDAO;
|
||||||
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
||||||
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
||||||
@@ -15,6 +16,7 @@ import com.cool.store.enums.WorkflowStageEnum;
|
|||||||
import com.cool.store.enums.WorkflowStatusEnum;
|
import com.cool.store.enums.WorkflowStatusEnum;
|
||||||
import com.cool.store.mapper.HyPartnerInterviewMapper;
|
import com.cool.store.mapper.HyPartnerInterviewMapper;
|
||||||
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
|
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
|
||||||
|
import com.cool.store.mapper.HyPartnerLineInfoMapper;
|
||||||
import com.cool.store.request.CloseFollowRequest;
|
import com.cool.store.request.CloseFollowRequest;
|
||||||
import com.cool.store.request.GetInterviewListReq;
|
import com.cool.store.request.GetInterviewListReq;
|
||||||
import com.cool.store.service.HyPartnerInterviewPlanService;
|
import com.cool.store.service.HyPartnerInterviewPlanService;
|
||||||
@@ -28,6 +30,7 @@ import com.google.common.collect.Lists;
|
|||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -61,6 +64,13 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
|||||||
@Autowired
|
@Autowired
|
||||||
HyPartnerLineInfoService hyPartnerLineInfoService;
|
HyPartnerLineInfoService hyPartnerLineInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
HyPartnerLineInfoMapper hyPartnerLineInfoMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private HyInterviewDAO interviewDAO;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<InterviewDetailInfoVO> getInterviewPlanList(String userId) {
|
public List<InterviewDetailInfoVO> getInterviewPlanList(String userId) {
|
||||||
String currentTime = DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_DAY);
|
String currentTime = DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_DAY);
|
||||||
@@ -155,15 +165,14 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void updateInterviewOverTime() {
|
public void updateInterviewOverTime() {
|
||||||
//查询三天前到两天前未预约的数据
|
List<HyPartnerLineInfoDO> overTimeReserveLineList = hyPartnerLineInfoMapper.getOverTimeReserveLineList(new Date(), WorkflowStageEnum.RESERVATION.getCode(), WorkflowStatusEnum.RESERVATION_0.getCode());
|
||||||
String startTime = DateUtil.formatDate(DateUtil.offsetDay(new Date(),-3));
|
if(CollectionUtils.isEmpty(overTimeReserveLineList)){
|
||||||
String endTime = DateUtil.formatDate(DateUtil.offsetDay(new Date(),-2));
|
return;
|
||||||
GetInterviewListReq getInterviewListReq = new GetInterviewListReq();
|
}
|
||||||
getInterviewListReq.setStartTime(startTime);
|
List<Long> lineIds = overTimeReserveLineList.stream().map(o -> o.getId()).collect(Collectors.toList());
|
||||||
getInterviewListReq.setEndTime(endTime);
|
List<HyPartnerInterviewDO> interviewBaseInfoList = hyPartnerInterviewMapper.getInterviewBaseInfoListByLineIds(lineIds);
|
||||||
getInterviewListReq.setStatus(Integer.valueOf(WorkflowStatusEnum.RESERVATION_0.getCode()));
|
|
||||||
List<HyPartnerInterviewDO> interviewBaseInfoList = hyPartnerInterviewMapper.getInterviewBaseInfoList(getInterviewListReq);
|
|
||||||
if(CollectionUtils.isEmpty(interviewBaseInfoList)){
|
if(CollectionUtils.isEmpty(interviewBaseInfoList)){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -171,27 +180,32 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void openInterviewRoom() {
|
public void openInterviewRoom() {
|
||||||
//更新会议开始时间为十分钟之内的房间状态为开启
|
//更新会议开始时间为5分钟之内的房间状态为开启,会议状态变为已开始
|
||||||
Date startTime = new Date();
|
Date startTime = new Date();
|
||||||
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
|
||||||
hyPartnerInterviewPlanDO.setStartTime(startTime);
|
List<HyPartnerLineInfoDO> waitForOpenInterviewLineList = hyPartnerLineInfoMapper.getWaitForOpenInterviewLineList(startTime, DateUtil.offsetMinute(startTime, 5));
|
||||||
hyPartnerInterviewPlanDO.setEndTime(DateUtil.offsetMinute(startTime,10));
|
if(CollectionUtils.isEmpty(waitForOpenInterviewLineList)){
|
||||||
hyPartnerInterviewPlanDO.setRoomStatus(RoomStatus.WAIT_FOR_OPEN.getCode());
|
return;
|
||||||
hyPartnerInterviewPlanDO.setDeleted(false);
|
}
|
||||||
hyPartnerInterviewPlanMapper.openInterviewRoom(hyPartnerInterviewPlanDO, RoomStatus.OPEN.getCode());
|
//更新房间状态为开启
|
||||||
|
List<Long> lineIds = waitForOpenInterviewLineList.stream().map(HyPartnerLineInfoDO::getId).collect(Collectors.toList());
|
||||||
|
hyPartnerInterviewPlanMapper.openInterviewRoom(lineIds,RoomStatus.OPEN.getCode());
|
||||||
|
interviewDAO.batchUpdateInterviewWorkflowStatus(lineIds,Integer.parseInt(WorkflowStatusEnum.INTERVIEW_3.getCode()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void updateAbsentInterview() {
|
public void updateAbsentInterview() {
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
//查询当天未参加的面试
|
//查询当天未参加的面试
|
||||||
String startTime = DateUtil.formatDate(DateUtil.offsetHour(now,-6));
|
String startTime = DateUtil.formatDateTime(DateUtil.offsetHour(now,-6));
|
||||||
String endTime = DateUtil.formatDate(now);
|
String endTime = DateUtil.formatDateTime(now);
|
||||||
GetInterviewListReq getInterviewListReq = new GetInterviewListReq();
|
GetInterviewListReq getInterviewListReq = new GetInterviewListReq();
|
||||||
getInterviewListReq.setStartTime(startTime);
|
getInterviewListReq.setStartTime(startTime);
|
||||||
getInterviewListReq.setEndTime(endTime);
|
getInterviewListReq.setEndTime(endTime);
|
||||||
getInterviewListReq.setStatus(Integer.valueOf(WorkflowStatusEnum.RESERVATION_0.getCode()));
|
getInterviewListReq.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_3.getCode()));
|
||||||
getInterviewListReq.setIsPartnerInterview(0);
|
getInterviewListReq.setIsPartnerInterview(0);
|
||||||
List<HyPartnerInterviewDO> interviewBaseInfoList = hyPartnerInterviewMapper.getInterviewBaseInfoList(getInterviewListReq);
|
List<HyPartnerInterviewDO> interviewBaseInfoList = hyPartnerInterviewMapper.getInterviewBaseInfoList(getInterviewListReq);
|
||||||
if(CollectionUtils.isEmpty(interviewBaseInfoList)){
|
if(CollectionUtils.isEmpty(interviewBaseInfoList)){
|
||||||
@@ -206,17 +220,17 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
|||||||
* @param rejectPublicReason
|
* @param rejectPublicReason
|
||||||
*/
|
*/
|
||||||
public void handleOverTimeInterview(List<HyPartnerInterviewDO> interviewBaseInfoList,String rejectPublicReason){
|
public void handleOverTimeInterview(List<HyPartnerInterviewDO> interviewBaseInfoList,String rejectPublicReason){
|
||||||
//1.更新面试信息表中超时未预约的面试信息
|
//1.更新面试信息表中超时的面试信息
|
||||||
List<Long> interviewIds = interviewBaseInfoList.stream().map(HyPartnerInterviewDO::getId).distinct().collect(Collectors.toList());
|
List<Long> interviewIds = interviewBaseInfoList.stream().map(HyPartnerInterviewDO::getId).distinct().collect(Collectors.toList());
|
||||||
hyPartnerInterviewMapper.batchUpdateInterviewStatus(interviewIds,Integer.valueOf(WorkflowStatusEnum.RESERVATION_8.getCode()));
|
hyPartnerInterviewMapper.batchUpdateInterviewStatus(interviewIds,Integer.valueOf(WorkflowStatusEnum.RESERVATION_8.getCode()),1);
|
||||||
//2.更新面试计划表中超时未预约的信息
|
//2.更新面试计划表中超时的信息
|
||||||
List<Long> interviewPlanIds = interviewBaseInfoList.stream().map(HyPartnerInterviewDO::getInterviewPlanId).distinct().collect(Collectors.toList());
|
List<Long> interviewPlanIds = interviewBaseInfoList.stream().map(HyPartnerInterviewDO::getInterviewPlanId).distinct().collect(Collectors.toList());
|
||||||
hyPartnerInterviewPlanMapper.batchDeleteInterviewPlans(interviewPlanIds);
|
hyPartnerInterviewPlanMapper.batchDeleteInterviewPlans(interviewPlanIds);
|
||||||
//3.更新线索表中超时未预约的线路信息
|
//3.更新线索表中超时未预约的线路信息
|
||||||
List<Long> lineIds = interviewBaseInfoList.stream().map(HyPartnerInterviewDO::getPartnerLineId).distinct().collect(Collectors.toList());
|
List<Long> lineIds = interviewBaseInfoList.stream().map(HyPartnerInterviewDO::getPartnerLineId).distinct().collect(Collectors.toList());
|
||||||
for (Long lineId : lineIds) {
|
for (Long lineId : lineIds) {
|
||||||
CloseFollowRequest closeFollowRequest = new CloseFollowRequest();
|
CloseFollowRequest closeFollowRequest = new CloseFollowRequest();
|
||||||
closeFollowRequest.setRejectPublicReason("超时未面试");
|
closeFollowRequest.setRejectPublicReason(rejectPublicReason);
|
||||||
closeFollowRequest.setLineId(lineId);
|
closeFollowRequest.setLineId(lineId);
|
||||||
closeFollowRequest.setType("overtime_interview");
|
closeFollowRequest.setType("overtime_interview");
|
||||||
hyPartnerLineInfoService.closeOrPassFollow(null,closeFollowRequest);
|
hyPartnerLineInfoService.closeOrPassFollow(null,closeFollowRequest);
|
||||||
|
|||||||
Reference in New Issue
Block a user