招商经理主动预约面试为当前时间段直接开始面试

This commit is contained in:
feng.li
2023-11-20 13:08:55 +08:00
parent dfcb2a630d
commit 0f3575b55a

View File

@@ -264,11 +264,6 @@ public class InterviewServiceImpl implements InterviewService {
*/
@Override
public void modifyInterviewTime(ModifyInterviewTimeReq request) throws ApiException {
//只有房间状态是待开放才可以修改时间
// Integer roomStatus = hyPartnerInterviewPlanMapper.getRoomStatus(request.getInterviewPlanId());
// if (!roomStatus.equals(RoomStatus.WAIT_FOR_OPEN.getCode())) {
// throw new ApiException(ErrorCodeEnum.ROOM_STATUS_ERROR);
// }
InterviewVO interviewInfo = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId());
//如果面试信息为空,抛出异常
if (interviewInfo == null) {
@@ -820,8 +815,15 @@ public class InterviewServiceImpl implements InterviewService {
if(StringUtils.isEmpty(interviewrId)){
interviewrId = getInterviewerByPartner(request.getPartnerId(),String.valueOf(request.getPartnerLineId()));
}
//1.创建面试计划
Date now = new Date();
//同意时是否是当前时间段的面试
boolean whetherBeginInterview = false;
DateTime interviewStartTime = DateUtil.offsetMinute(DateUtil.parseDateTime(request.getStartBookingTime()), -5);
if (interviewStartTime.isBeforeOrEquals(now)) {
whetherBeginInterview = true;
}
//1.创建面试计划
HyPartnerInterviewPlanDO interviewPlanDO = new HyPartnerInterviewPlanDO();
String startBookingTime = request.getStartBookingTime();
String startDate = startBookingTime.substring(0, 10);
@@ -837,13 +839,23 @@ public class InterviewServiceImpl implements InterviewService {
interviewPlanDO.setApplicationApproved(1);
//1.2 生成房间号
interviewPlanDO.setRoomId(StringUtil.generateRoomId(startBookingTime));
interviewPlanDO.setRoomStatus(RoomStatus.WAIT_FOR_OPEN.getCode());
//1.3 如果同意的时候已经超过预约的时间前 5 分钟,直接进入面试已开始阶段
if (whetherBeginInterview) {
interviewPlanDO.setRoomStatus(RoomStatus.OPEN.getCode());
} else {
interviewPlanDO.setRoomStatus(RoomStatus.WAIT_FOR_OPEN.getCode());
}
hyPartnerInterviewPlanMapper.insertSelective(interviewPlanDO);
//2.创建面试信息
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
hyPartnerInterviewDO.setInterviewPlanId(interviewPlanDO.getId());
hyPartnerInterviewDO.setStatus(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_2.getCode()));
//2.1 如果同意的时候已经超过预约的时间前 5 分钟,直接进入面试已开始阶段
if (whetherBeginInterview) {
hyPartnerInterviewDO.setStatus(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_3.getCode()));
} else {
hyPartnerInterviewDO.setStatus(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_2.getCode()));
}
hyPartnerInterviewDO.setPartnerLineId(request.getPartnerLineId());
hyPartnerInterviewDO.setPartnerId(request.getPartnerId());
hyPartnerInterviewDO.setInterviewer(interviewrId);
@@ -858,7 +870,12 @@ public class InterviewServiceImpl implements InterviewService {
hyPartnerLineDO.setId(request.getPartnerLineId());
hyPartnerLineDO.setUpdateTime(now);
hyPartnerLineDO.setWorkflowStage(WorkflowStageEnum.INTERVIEW.getCode());
hyPartnerLineDO.setWorkflowStatus(WorkflowStatusEnum.INTERVIEW_2.getCode());
//3.1 如果同意的时候已经超过预约的时间前 5 分钟,直接进入面试已开始阶段
if (whetherBeginInterview) {
hyPartnerLineDO.setWorkflowStatus(WorkflowStatusEnum.INTERVIEW_3.getCode());
} else {
hyPartnerLineDO.setWorkflowStatus(WorkflowStatusEnum.INTERVIEW_2.getCode());
}
hyPartnerLineInfoMapper.updateByPrimaryKeySelective(hyPartnerLineDO);
//4. 异步发送短信给加盟商