面试流程逻辑修改-全流程测试
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
package com.cool.store.job;
|
||||
|
||||
import com.cool.store.service.EnterpriseSyncService;
|
||||
import com.cool.store.service.HyPartnerInterviewPlanService;
|
||||
import com.xxl.job.core.context.XxlJobHelper;
|
||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -21,6 +23,9 @@ public class JobHandler {
|
||||
@Resource
|
||||
private EnterpriseSyncService enterpriseSyncService;
|
||||
|
||||
@Autowired
|
||||
private HyPartnerInterviewPlanService hyPartnerInterviewPlanService;
|
||||
|
||||
@XxlJob("syncOrganization")
|
||||
public void syncOrganization(){
|
||||
log.info("组织架构定时同步开始");
|
||||
@@ -29,4 +34,31 @@ public class JobHandler {
|
||||
XxlJobHelper.handleSuccess();
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新面试预约超时状态
|
||||
*/
|
||||
@XxlJob("updateInterviewOverTime")
|
||||
public void updateInterviewOverTime(){
|
||||
log.info("面试超时定时任务开始");
|
||||
hyPartnerInterviewPlanService.updateInterviewOverTime();
|
||||
log.info("面试超时定时任务结束");
|
||||
XxlJobHelper.handleSuccess();
|
||||
}
|
||||
|
||||
@XxlJob("openInterviewRoom")
|
||||
public void openInterviewRoom(){
|
||||
log.info("房间状态开启定时任务开始");
|
||||
hyPartnerInterviewPlanService.openInterviewRoom();
|
||||
log.info("房间状态开启定时任务结束");
|
||||
XxlJobHelper.handleSuccess();
|
||||
}
|
||||
|
||||
public void updateAbsentInterview(){
|
||||
log.info("面试缺席定时任务开始");
|
||||
hyPartnerInterviewPlanService.updateAbsentInterview();
|
||||
log.info("面试缺席定时任务结束");
|
||||
XxlJobHelper.handleSuccess();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -39,4 +39,25 @@ public interface HyPartnerInterviewPlanService {
|
||||
* @return
|
||||
*/
|
||||
PageInfo<PartnerInterviewInfoVO> getQualifiedInterviewList(String userId,String type,Integer pageSize,Integer pageNumber);
|
||||
|
||||
/**
|
||||
* 批量更新超时未预约面试
|
||||
* updateInterviewOverTime
|
||||
* @return
|
||||
*/
|
||||
void updateInterviewOverTime();
|
||||
|
||||
/**
|
||||
* 批量打开十分钟之内开始的面试房间
|
||||
* updateInterviewOverTime
|
||||
* @return
|
||||
*/
|
||||
void openInterviewRoom();
|
||||
|
||||
/**
|
||||
* 批量关闭十分钟之内结束的面试房间
|
||||
* updateInterviewOverTime
|
||||
* @return
|
||||
*/
|
||||
void updateAbsentInterview();
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ public interface InterviewService {
|
||||
* 结束面试
|
||||
* @param request
|
||||
*/
|
||||
void finishInterview(FinishInterviewReq request);
|
||||
void finishInterview(FinishInterviewReq request) throws ApiException;
|
||||
|
||||
/**
|
||||
* 进入面试间的方法
|
||||
|
||||
@@ -127,7 +127,7 @@ public class FlowServiceImpl implements FlowService {
|
||||
partnerCertificationInfoDO.setPartnerLineId(Long.valueOf(request.getLineId()));
|
||||
partnerCertificationInfoDO.setPartnerInterviewId(Long.valueOf(request.getInterviewId()));
|
||||
partnerCertificationInfoDO.setPartnership(String.valueOf(request.getPartnership()));
|
||||
partnerCertificationInfoDO.setWantSignTime(DateUtil.parseDate(request.getWantSignTime()));
|
||||
partnerCertificationInfoDO.setWantSignTime(DateUtil.parse(request.getWantSignTime()));
|
||||
partnerCertificationInfoDO.setPartnerFee(request.getPartnerFee());
|
||||
partnerCertificationInfoDO.setSecurityFund(request.getSecurityFund());
|
||||
partnerCertificationInfoDO.setTechnicalServiceFee(request.getTechnicalServiceFee());
|
||||
@@ -156,7 +156,7 @@ public class FlowServiceImpl implements FlowService {
|
||||
}
|
||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||
//更新
|
||||
hyPartnerInterviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_4.getCode()));
|
||||
hyPartnerInterviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_5.getCode()));
|
||||
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
||||
|
||||
//4. 更新线索信息(开发主管)
|
||||
|
||||
@@ -6,12 +6,19 @@ import com.cool.store.dao.HyPartnerInterviewPlanDAO;
|
||||
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
||||
import com.cool.store.dto.partner.PartnerInterviewInfoDTO;
|
||||
import com.cool.store.entity.HyPartnerInterviewDO;
|
||||
import com.cool.store.entity.HyPartnerInterviewPlanDO;
|
||||
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||
import com.cool.store.entity.HyPartnerUserInfoDO;
|
||||
import com.cool.store.enums.RoomStatus;
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.enums.WorkflowStatusEnum;
|
||||
import com.cool.store.mapper.HyPartnerInterviewMapper;
|
||||
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
|
||||
import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.GetInterviewListReq;
|
||||
import com.cool.store.service.HyPartnerInterviewPlanService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.utils.CoolDateUtils;
|
||||
import com.cool.store.vo.InterviewDetailInfoVO;
|
||||
import com.cool.store.vo.PartnerInterviewInfoVO;
|
||||
@@ -19,6 +26,7 @@ import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -44,6 +52,15 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
||||
@Resource
|
||||
HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
|
||||
|
||||
@Autowired
|
||||
HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper;
|
||||
|
||||
@Autowired
|
||||
HyPartnerInterviewMapper hyPartnerInterviewMapper;
|
||||
|
||||
@Autowired
|
||||
HyPartnerLineInfoService hyPartnerLineInfoService;
|
||||
|
||||
@Override
|
||||
public List<InterviewDetailInfoVO> getInterviewPlanList(String userId) {
|
||||
String currentTime = DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_DAY);
|
||||
@@ -137,7 +154,74 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
||||
return partnerInterviewInfoList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateInterviewOverTime() {
|
||||
//查询三天前到两天前未预约的数据
|
||||
String startTime = DateUtil.formatDate(DateUtil.offsetDay(new Date(),-3));
|
||||
String endTime = DateUtil.formatDate(DateUtil.offsetDay(new Date(),-2));
|
||||
GetInterviewListReq getInterviewListReq = new GetInterviewListReq();
|
||||
getInterviewListReq.setStartTime(startTime);
|
||||
getInterviewListReq.setEndTime(endTime);
|
||||
getInterviewListReq.setStatus(Integer.valueOf(WorkflowStatusEnum.RESERVATION_0.getCode()));
|
||||
List<HyPartnerInterviewDO> interviewBaseInfoList = hyPartnerInterviewMapper.getInterviewBaseInfoList(getInterviewListReq);
|
||||
if(CollectionUtils.isEmpty(interviewBaseInfoList)){
|
||||
return;
|
||||
}
|
||||
handleOverTimeInterview(interviewBaseInfoList,"超时未预约");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openInterviewRoom() {
|
||||
//更新会议开始时间为十分钟之内的房间状态为开启
|
||||
Date startTime = new Date();
|
||||
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
||||
hyPartnerInterviewPlanDO.setStartTime(startTime);
|
||||
hyPartnerInterviewPlanDO.setEndTime(DateUtil.offsetMinute(startTime,10));
|
||||
hyPartnerInterviewPlanDO.setRoomStatus(RoomStatus.WAIT_FOR_OPEN.getCode());
|
||||
hyPartnerInterviewPlanDO.setDeleted(false);
|
||||
hyPartnerInterviewPlanMapper.openInterviewRoom(hyPartnerInterviewPlanDO, RoomStatus.OPEN.getCode());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAbsentInterview() {
|
||||
Date now = new Date();
|
||||
//查询当天未参加的面试
|
||||
String startTime = DateUtil.formatDate(DateUtil.offsetHour(now,-6));
|
||||
String endTime = DateUtil.formatDate(now);
|
||||
GetInterviewListReq getInterviewListReq = new GetInterviewListReq();
|
||||
getInterviewListReq.setStartTime(startTime);
|
||||
getInterviewListReq.setEndTime(endTime);
|
||||
getInterviewListReq.setStatus(Integer.valueOf(WorkflowStatusEnum.RESERVATION_0.getCode()));
|
||||
getInterviewListReq.setIsPartnerInterview(0);
|
||||
List<HyPartnerInterviewDO> interviewBaseInfoList = hyPartnerInterviewMapper.getInterviewBaseInfoList(getInterviewListReq);
|
||||
if(CollectionUtils.isEmpty(interviewBaseInfoList)){
|
||||
return;
|
||||
}
|
||||
handleOverTimeInterview(interviewBaseInfoList,"超时未面试");
|
||||
}
|
||||
|
||||
/**
|
||||
* 统一处理面试超时情况,包括超时未预约和超时未面试
|
||||
* @param interviewBaseInfoList
|
||||
* @param rejectPublicReason
|
||||
*/
|
||||
public void handleOverTimeInterview(List<HyPartnerInterviewDO> interviewBaseInfoList,String rejectPublicReason){
|
||||
//1.更新面试信息表中超时未预约的面试信息
|
||||
List<Long> interviewIds = interviewBaseInfoList.stream().map(HyPartnerInterviewDO::getId).distinct().collect(Collectors.toList());
|
||||
hyPartnerInterviewMapper.batchUpdateInterviewStatus(interviewIds,Integer.valueOf(WorkflowStatusEnum.RESERVATION_8.getCode()));
|
||||
//2.更新面试计划表中超时未预约的信息
|
||||
List<Long> interviewPlanIds = interviewBaseInfoList.stream().map(HyPartnerInterviewDO::getInterviewPlanId).distinct().collect(Collectors.toList());
|
||||
hyPartnerInterviewPlanMapper.batchDeleteInterviewPlans(interviewPlanIds);
|
||||
//3.更新线索表中超时未预约的线路信息
|
||||
List<Long> lineIds = interviewBaseInfoList.stream().map(HyPartnerInterviewDO::getPartnerLineId).distinct().collect(Collectors.toList());
|
||||
for (Long lineId : lineIds) {
|
||||
CloseFollowRequest closeFollowRequest = new CloseFollowRequest();
|
||||
closeFollowRequest.setRejectPublicReason("超时未面试");
|
||||
closeFollowRequest.setLineId(lineId);
|
||||
closeFollowRequest.setType("overtime_interview");
|
||||
hyPartnerLineInfoService.closeOrPassFollow(null,closeFollowRequest);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* convertDoToInterviewDetailInfoVO
|
||||
* @param hyPartnerInterviewPlanDO
|
||||
|
||||
@@ -284,6 +284,20 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
hyPartnerLineInfoDO.setCloseTime(new Date());
|
||||
hyPartnerLineInfoDO.setCloseUserId(userId);
|
||||
}
|
||||
|
||||
//面试超时
|
||||
if ("overtime_interview".equals(closeFollowRequest.getType())){
|
||||
//面试超时未预约
|
||||
hyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.RESERVATION_8.getCode());
|
||||
//15天 冷静期
|
||||
String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, closeFollowRequest.getLineId());
|
||||
redisUtilPool.setString(coolingPeriodFirstLoginCacheKey,JSONObject.toJSONString(closeFollowRequest));
|
||||
hyPartnerLineInfoDO.setDeadline(CoolDateUtils.getDateBefore(new Date(),15));
|
||||
hyPartnerLineInfoDO.setRejectPublicReason(closeFollowRequest.getRejectPublicReason());
|
||||
hyPartnerLineInfoDO.setRejectRealReason(closeFollowRequest.getRejectRealReason());
|
||||
hyPartnerLineInfoDO.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode());
|
||||
hyPartnerLineInfoDO.setCloseTime(new Date());
|
||||
}
|
||||
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
|
||||
import com.cool.store.mapper.HyPartnerLineInfoMapper;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.service.EnterpriseUserService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.service.InterviewService;
|
||||
import com.cool.store.service.SmsService;
|
||||
import com.cool.store.utils.StringUtil;
|
||||
@@ -82,6 +83,9 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
@Autowired
|
||||
private SmsService smsService;
|
||||
|
||||
@Autowired
|
||||
private HyPartnerLineInfoService hyPartnerLineInfoService;
|
||||
|
||||
@Override
|
||||
public List<InterviewVO> getInterviewList(GetInterviewListReq request) {
|
||||
List<InterviewVO> interviewList = hyPartnerInterviewPlanMapper.getInterviewList(request);
|
||||
@@ -124,6 +128,7 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void entrustOthers(EntrustOthersReq request) throws ApiException {
|
||||
|
||||
InterviewVO interviewInfo = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId());
|
||||
@@ -131,6 +136,9 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
if (interviewInfo == null) {
|
||||
throw new ApiException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
|
||||
}
|
||||
if(RoomStatus.WAIT_FOR_OPEN.getCode() != Integer.parseInt(interviewInfo.getRoomStatus())){
|
||||
throw new ApiException(ErrorCodeEnum.ROOM_STATUS_ERROR);
|
||||
}
|
||||
//1.原面试官日程删除
|
||||
DeleteCalendarEventDTO deleteCalendarEventDTO = new DeleteCalendarEventDTO();
|
||||
deleteCalendarEventDTO.setCalendarId(interviewInfo.getFeishuCalendarId());
|
||||
@@ -142,8 +150,8 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
}
|
||||
//2.新面试官日程新增
|
||||
CreateCalendarEventDTO createCalendarEventDTO = new CreateCalendarEventDTO();
|
||||
createCalendarEventDTO.setStartTime(DateUtil.parseDate(interviewInfo.getStartTime()).getTime());
|
||||
createCalendarEventDTO.setEndTime(DateUtil.parseDate(interviewInfo.getEndTime()).getTime());
|
||||
createCalendarEventDTO.setStartTime(DateUtil.parse(interviewInfo.getStartTime()).getTime());
|
||||
createCalendarEventDTO.setEndTime(DateUtil.parse(interviewInfo.getEndTime()).getTime());
|
||||
createCalendarEventDTO.setUserId(request.getNewInterviewerId());
|
||||
createCalendarEventDTO.setJoinUserIds(Arrays.asList(request.getNewInterviewerId()));
|
||||
createCalendarEventDTO.setSummary(generateInterviewTitle(request.getPartnerLineId()));
|
||||
@@ -158,9 +166,11 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
record.setUpdateTime(new Date());
|
||||
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(record);
|
||||
|
||||
|
||||
//更新面试计划信息
|
||||
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
|
||||
hyPartnerInterviewDO.setInterviewPlanId(Long.valueOf(request.getInterviewPlanId()));
|
||||
record.setFeishuCalendarId(userCalendarEvent.getCalendarId());
|
||||
record.setFeishuScheduleId(userCalendarEvent.getEventId());
|
||||
hyPartnerInterviewDO.setInterviewer(request.getNewInterviewerId());
|
||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
||||
@@ -179,16 +189,9 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
if (interviewInfo == null) {
|
||||
throw new ApiException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
|
||||
}
|
||||
// UpdateCalendarEventDTO updateCalendarEventDTO = new UpdateCalendarEventDTO();
|
||||
// updateCalendarEventDTO.setCalendarId(interviewInfo.getFeishuCalendarId());
|
||||
// updateCalendarEventDTO.setEventId(interviewInfo.getFeishuScheduleId());
|
||||
// updateCalendarEventDTO.setStartTime(DateUtil.parseDate(request.getNewStartBookingTime()).getTime());
|
||||
// updateCalendarEventDTO.setEndTime(DateUtil.parseDate(request.getNewEndBookingTime()).getTime());
|
||||
// updateCalendarEventDTO.setUserId(interviewInfo.getInterviewerId());
|
||||
// UserCalendarsEventDTO userCalendarsEventDTO = isvHttpRequest.updateUserCalendarEvent(updateCalendarEventDTO);
|
||||
// if(userCalendarsEventDTO == null ){
|
||||
// throw new ApiException(ErrorCodeEnum.FEISHU_UPDATE_SCHEDULE_ERROR);
|
||||
// }
|
||||
if(RoomStatus.WAIT_FOR_OPEN.getCode() != Integer.parseInt(interviewInfo.getRoomStatus())){
|
||||
throw new ApiException(ErrorCodeEnum.ROOM_STATUS_ERROR);
|
||||
}
|
||||
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
|
||||
record.setId(Long.valueOf(request.getInterviewPlanId()));
|
||||
record.setStartTime(Convert.toDate(request.getNewStartBookingTime()));
|
||||
@@ -198,22 +201,27 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finishInterview(FinishInterviewReq request) {
|
||||
public void finishInterview(FinishInterviewReq request) throws ApiException {
|
||||
InterviewVO interviewInfo = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId());
|
||||
//如果面试信息为空,抛出异常
|
||||
if (interviewInfo == null) {
|
||||
throw new ApiException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
|
||||
}
|
||||
Date now = new Date();
|
||||
//更新面试计划信息
|
||||
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
|
||||
record.setId(Long.valueOf(request.getInterviewId()));
|
||||
record.setRoomStatus(0);
|
||||
record.setUpdateTime(new Date());
|
||||
record.setId(Long.valueOf(request.getInterviewPlanId()));
|
||||
record.setRoomStatus(RoomStatus.CLOSED.getCode());
|
||||
record.setUpdateTime(now);
|
||||
record.setActualEndTime(now);
|
||||
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(record);
|
||||
|
||||
//更新面试信息
|
||||
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
|
||||
hyPartnerInterviewDO.setInterviewPlanId(Long.valueOf(request.getInterviewId()));
|
||||
hyPartnerInterviewDO.setStatus(3);
|
||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||
hyPartnerInterviewDO.setInterviewPlanId(Long.valueOf(interviewInfo.getInterviewPlanId()));
|
||||
hyPartnerInterviewDO.setStatus(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_4.getCode()));
|
||||
hyPartnerInterviewDO.setUpdateTime(now);
|
||||
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -268,6 +276,7 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
}
|
||||
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
||||
hyPartnerInterviewPlanDO.setPartnerLineId(request.getPartnerLineId());
|
||||
hyPartnerInterviewPlanDO.setDeleted(false);
|
||||
List<HyPartnerInterviewPlanDO> hyPartnerInterviewPlanDOS = hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO);
|
||||
if(CollectionUtils.isNotEmpty(hyPartnerInterviewPlanDOS)&&hyPartnerInterviewPlanDOS.get(0).getId()!=null){
|
||||
throw new ApiException(ErrorCodeEnum.INTERVIEW_PLAN_ALREADY_EXIST);
|
||||
@@ -313,6 +322,7 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
hyPartnerInterviewDO.setCreateTime(new Date());
|
||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||
hyPartnerInterviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.RESERVATION_1.getCode()));
|
||||
hyPartnerInterviewDO.setDeleted(false);
|
||||
hyPartnerInterviewMapper.insertSelective(hyPartnerInterviewDO);
|
||||
|
||||
//修改线索状态
|
||||
@@ -337,6 +347,7 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void approveAppointment(ApproveAppointmentReq request) throws ApiException {
|
||||
|
||||
//查询面试计划信息
|
||||
@@ -396,13 +407,71 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void reInterview(ReInterviewReq request) throws ApiException {
|
||||
//查询面试计划信息
|
||||
InterviewVO interviewVO = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId());
|
||||
//如果面试计划不存在,抛出异常
|
||||
if (interviewVO == null||StringUtil.isEmpty(interviewVO.getInterviewPlanId())) {
|
||||
throw new ServiceException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
|
||||
}
|
||||
//更新面试信息
|
||||
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
|
||||
hyPartnerInterviewDO.setId(Long.valueOf(interviewVO.getInterviewId()));
|
||||
hyPartnerInterviewDO.setDeleted(true);
|
||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||
hyPartnerInterviewDO.setSummary(request.getReason());
|
||||
hyPartnerInterviewDO.setCertifyFile(request.getCertifyFile());
|
||||
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
||||
//更新面试计划信息
|
||||
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
||||
hyPartnerInterviewPlanDO.setId(Long.valueOf(request.getInterviewPlanId()));
|
||||
hyPartnerInterviewPlanDO.setDeleted(true);
|
||||
hyPartnerInterviewPlanDO.setUpdateTime(new Date());
|
||||
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
|
||||
|
||||
//更新线索状态
|
||||
HyPartnerLineInfoDO hyPartnerLineDO = new HyPartnerLineInfoDO();
|
||||
hyPartnerLineDO.setId(Long.valueOf(request.getInterviewPlanId()));
|
||||
hyPartnerLineDO.setWorkflowStage(WorkflowStageEnum.RESERVATION.getCode());
|
||||
hyPartnerLineDO.setWorkflowStatus(WorkflowStatusEnum.RESERVATION_0.getCode());
|
||||
hyPartnerLineDO.setUpdateTime(new Date());
|
||||
hyPartnerLineInfoMapper.updateByPrimaryKeySelective(hyPartnerLineDO);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void rejectInterview(RejectInterviewReq request) throws ApiException {
|
||||
//查询面试计划信息
|
||||
InterviewVO interviewVO = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId());
|
||||
//如果面试计划不存在,抛出异常
|
||||
if (interviewVO == null||StringUtil.isEmpty(interviewVO.getInterviewPlanId())) {
|
||||
throw new ServiceException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
|
||||
}
|
||||
//更新面试信息
|
||||
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
|
||||
hyPartnerInterviewDO.setId(Long.valueOf(interviewVO.getInterviewId()));
|
||||
hyPartnerInterviewDO.setDeleted(true);
|
||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||
hyPartnerInterviewDO.setCertifyFile(request.getCertifyFile());
|
||||
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
||||
//更新面试计划信息
|
||||
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
||||
hyPartnerInterviewPlanDO.setId(Long.valueOf(request.getInterviewPlanId()));
|
||||
hyPartnerInterviewPlanDO.setDeleted(true);
|
||||
hyPartnerInterviewPlanDO.setUpdateTime(new Date());
|
||||
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
|
||||
|
||||
//更新线索状态
|
||||
CloseFollowRequest closeFollowRequest = new CloseFollowRequest();
|
||||
closeFollowRequest.setRejectPublicReason(request.getRejectPublicReason());
|
||||
closeFollowRequest.setRejectRealReason(request.getRejectRealReason());
|
||||
closeFollowRequest.setLineId(Long.valueOf(request.getLineId()));
|
||||
closeFollowRequest.setType("reject");
|
||||
if(StringUtils.isNotEmpty(request.getCertifyFile())){
|
||||
closeFollowRequest.setCertifyFile(Arrays.asList(request.getCertifyFile().split(",")));
|
||||
}
|
||||
hyPartnerLineInfoService.closeOrPassFollow(request.getOperatorId(),closeFollowRequest);
|
||||
}
|
||||
|
||||
public String generateFeiShuInterviewMsg(String partnerName, String partnerMobile, String interviewTime){
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.cool.store.dto.partner.EnterInterviewDto;
|
||||
import com.cool.store.entity.HyPartnerInterviewDO;
|
||||
import com.cool.store.entity.HyPartnerInterviewPlanDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.RoomStatus;
|
||||
import com.cool.store.enums.WorkflowStatusEnum;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
@@ -88,7 +89,6 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
|
||||
hyPartnerInterviewPlanDO.setIsPartnerInterview(1);
|
||||
}
|
||||
//6. 修改房间状态为已开放
|
||||
hyPartnerInterviewPlanDO.setRoomStatus(1);
|
||||
interviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
|
||||
//7. 查询对应的面试官id、姓名及加盟商姓名
|
||||
EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewPlanId(dto.getInterviewPlanId());
|
||||
@@ -135,6 +135,9 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
|
||||
if (interviewInfo.getStatus() != Integer.parseInt(WorkflowStatusEnum.RESERVATION_1.getCode())) {
|
||||
throw new ApiException(ErrorCodeEnum.INTERVIEW_STATUS_ERROR);
|
||||
}
|
||||
if(RoomStatus.WAIT_FOR_OPEN.getCode() != Integer.parseInt(interviewInfo.getRoomStatus())){
|
||||
throw new ApiException(ErrorCodeEnum.ROOM_STATUS_ERROR);
|
||||
}
|
||||
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
|
||||
record.setId(Long.valueOf(request.getInterviewPlanId()));
|
||||
record.setStartTime(Convert.toDate(request.getNewStartBookingTime()));
|
||||
|
||||
Reference in New Issue
Block a user