面试&面谈

This commit is contained in:
zhangchenbiao
2024-03-29 17:47:55 +08:00
parent 7fa1d93a88
commit 4592166202
2 changed files with 22 additions and 14 deletions

View File

@@ -22,7 +22,7 @@ public enum WorkflowSubStageStatusEnum {
FIRST_INTERVIEWS_30(30,"待面试"),
FIRST_INTERVIEWS_35(35,"待审核"),
FIRST_INTERVIEWS_40(40,"一审未通过"),
FIRST_INTERVIEWS_41(41,"一审重新预约"),
FIRST_INTERVIEWS_42(42,"一审重新预约"),
//缴纳意向金
@@ -73,7 +73,7 @@ public enum WorkflowSubStageStatusEnum {
}
public static boolean isReappointmentStatus(Integer workflowSubStageStatus){
return FIRST_INTERVIEWS_41.getCode().equals(workflowSubStageStatus) || SECOND_INTERVIEWS_120.getCode().equals(workflowSubStageStatus);
return FIRST_INTERVIEWS_42.getCode().equals(workflowSubStageStatus) || SECOND_INTERVIEWS_120.getCode().equals(workflowSubStageStatus);
}
public static boolean isModifyAppointmentTime(Integer workflowSubStageStatus){
@@ -89,4 +89,14 @@ public enum WorkflowSubStageStatusEnum {
}
}
public static WorkflowSubStageStatusEnum getInterviewRejectStatus(InterviewTypeEnum interviewType){
if(InterviewTypeEnum.INTERVIEW.equals(interviewType)){
return FIRST_INTERVIEWS_40;
}
if(InterviewTypeEnum.SECOND_INTERVIEW.equals(interviewType)){
return SECOND_INTERVIEWS_115;
}
return null;
}
}

View File

@@ -123,18 +123,12 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
throw new ServiceException(ErrorCodeEnum.LINE_STATUS_NOT_ALLOW_OPERATE);
}
InterviewTypeEnum interviewType = WorkflowSubStageEnum.getInterviewType(lineInfo.getWorkflowSubStage());
String interviewerUserId, firstInterviewer = null, secondInterviewer = null;
if(!WorkflowSubStageStatusEnum.isReappointmentStatus(lineInfo.getWorkflowSubStageStatus())){
interviewerUserId = lineInfo.getInvestmentManager();
if(!InterviewTypeEnum.MEET.equals(interviewType)){
interviewerUserId = commonService.getUserIdByAreaAndUserRole(lineInfo.getWantShopAreaId(), UserRoleEnum.REGION_MANAGER);
}
firstInterviewer = InterviewTypeEnum.INTERVIEW.equals(interviewType) ? interviewerUserId : null;
secondInterviewer = InterviewTypeEnum.SECOND_INTERVIEW.equals(interviewType) ? interviewerUserId : null;
}else{
//重新预约直接拿线索对应的面试官
interviewerUserId = InterviewTypeEnum.INTERVIEW.equals(interviewType) ? lineInfo.getFirstInterviewer() : lineInfo.getSecondInterviewer();
String interviewerUserId = lineInfo.getInvestmentManager(), firstInterviewer = null, secondInterviewer = null;
if(!InterviewTypeEnum.MEET.equals(interviewType)){
interviewerUserId = commonService.getUserIdByAreaAndUserRole(lineInfo.getWantShopAreaId(), UserRoleEnum.REGION_MANAGER);
}
firstInterviewer = InterviewTypeEnum.INTERVIEW.equals(interviewType) ? interviewerUserId : null;
secondInterviewer = InterviewTypeEnum.SECOND_INTERVIEW.equals(interviewType) ? interviewerUserId : null;
Boolean occupied = lineCalendarsEventDAO.isOccupied(interviewType.getCode(), lineInfo.getRegionId(), interviewerUserId, request.getStartTime(), request.getEndTime(), null);
if(occupied){
throw new ServiceException(ErrorCodeEnum.TIME_OCCUPIED);
@@ -364,7 +358,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
}
WorkflowSubStageStatusEnum workflowSubStageStatus = null;
if(WorkflowSubStageEnum.FIRST_INTERVIEWS.getCode().equals(lineInfo.getWorkflowSubStage())){
workflowSubStageStatus = WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_41;
workflowSubStageStatus = WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_42;
}
if(WorkflowSubStageEnum.SECOND_INTERVIEWS.getCode().equals(lineInfo.getWorkflowSubStage())){
workflowSubStageStatus = WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_120;
@@ -399,6 +393,9 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
@Override
protected Boolean auditReject(Long auditId, LineInfoDO lineInfo) {
InterviewTypeEnum interviewType = WorkflowSubStageEnum.getInterviewType(lineInfo.getWorkflowSubStage());
if(InterviewTypeEnum.MEET.equals(interviewType)){
return Boolean.FALSE;
}
LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfo(lineInfo.getId(), interviewType);
if(Objects.isNull(interviewInfo)){
throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
@@ -407,6 +404,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
updateInterviewInfo.setId(interviewInfo.getId());
updateInterviewInfo.setAuditId(auditId);
updateInterviewInfo.setInterviewStatus(InterviewStatusEnum.NOT_PASS.getCode());
lineInfoDAO.updateWorkflowStage(lineInfo.getId(), null, WorkflowSubStageStatusEnum.getInterviewRejectStatus(interviewType));
return lineInterviewDAO.updateInterviewInfo(interviewInfo) > 0;
}