面试/面谈

This commit is contained in:
zhangchenbiao
2024-03-25 15:38:13 +08:00
parent 97f8321bbe
commit b3cea99159
6 changed files with 100 additions and 70 deletions

View File

@@ -78,31 +78,31 @@ public enum ErrorCodeEnum {
TIME_OCCUPIED(500018, "预约时间被占用", null), TIME_OCCUPIED(500018, "预约时间被占用", null),
INTERVIEW_ENTER_FAIL(1021101, "进入面间失败", null), INTERVIEW_ENTER_FAIL(1021101, "进入面间失败", null),
DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null), DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null),
INTERVIEW_NOT_EXIST(1021103, "信息不存在!", null), INTERVIEW_NOT_EXIST(1021103, "信息不存在!", null),
INTERVIEW_AND_PARTNER_ID_IS_NULL(1021104, "加盟商用户ID&线索ID和面官ID不能同时为空", null), INTERVIEW_AND_PARTNER_ID_IS_NULL(1021104, "加盟商用户ID&线索ID和面官ID不能同时为空", null),
INTERVIEW_PLAN_IS_NULL(1021105, "未查询到相关面安排!", null), INTERVIEW_PLAN_IS_NULL(1021105, "未查询到相关面安排!", null),
DATE_PARAMS_IS_ERROR(1021106, "日期参数错误!", null), DATE_PARAMS_IS_ERROR(1021106, "日期参数错误!", null),
INTERVIEW_PLAN_NOT_EXIST(1021107, "计划不存在!", null), INTERVIEW_PLAN_NOT_EXIST(1021107, "计划不存在!", null),
FEISHU_DELETE_SCHEDULE_ERROR(1021108, "删除原面安排失败!", null), FEISHU_DELETE_SCHEDULE_ERROR(1021108, "删除原面安排失败!", null),
CREATE_CALENDAR_EVENT_FAIL(1021109, "创建面安排失败!", null), CREATE_CALENDAR_EVENT_FAIL(1021109, "创建面安排失败!", null),
FEISHU_UPDATE_SCHEDULE_ERROR(1021110, "修改面安排失败!", null), FEISHU_UPDATE_SCHEDULE_ERROR(1021110, "修改面安排失败!", null),
INTERVIEW_STATUS_ERROR(1021111, "当前面状态不允许该操作!", null), INTERVIEW_STATUS_ERROR(1021111, "当前面状态不允许该操作!", null),
INTERVIEW_PLAN_ALREADY_EXIST(1021112, "计划已存在,请勿重复申请!", null), INTERVIEW_PLAN_ALREADY_EXIST(1021112, "计划已存在,请勿重复申请!", null),
INTERVIEW_LINE_ID_IS_NULL(1021113, "线索id为空", null), INTERVIEW_LINE_ID_IS_NULL(1021113, "线索id为空", null),
INTERVIEW_INTERVIEW_TIME_IS_UNUSABLE(1021114, "当前预约时间不可用,请和线索用户协商其他时间后确定预约时间\n面人:{0} 手机号:{1}", null), INTERVIEW_INTERVIEW_TIME_IS_UNUSABLE(1021114, "当前预约时间不可用,请和线索用户协商其他时间后确定预约时间\n面人:{0} 手机号:{1}", null),
INTERVIEW_PARTNER_NOT_EXIST(1021115, "线索下的加盟商不存在!", null), INTERVIEW_PARTNER_NOT_EXIST(1021115, "线索下的加盟商不存在!", null),
INTERVIEW_STATUS_NOT_TRANSFER(1021116, "当前面状态不允许转让! 面状态:{0}", null), INTERVIEW_STATUS_NOT_TRANSFER(1021116, "当前面状态不允许转让! 面状态:{0}", null),
MOBILE_WECHAT_EXIST(1021116, "此号码已绑定其他微信", null), MOBILE_WECHAT_EXIST(1021116, "此号码已绑定其他微信", null),
ROOM_STATUS_ERROR(10211156, "当前面房间状态不允许进行该操作!", null), ROOM_STATUS_ERROR(10211156, "当前面房间状态不允许进行该操作!", null),
MOBILE_APP_NOT_ONLINE_ERROR(10211157, "呼叫失败,请确认呼出号码正确并检查是否安装并打开呼叫插件", null), MOBILE_APP_NOT_ONLINE_ERROR(10211157, "呼叫失败,请确认呼出号码正确并检查是否安装并打开呼叫插件", null),
CALL_RECORD_NOT_EXIST_ERROR(10211158, "通话记录不存在!", null), CALL_RECORD_NOT_EXIST_ERROR(10211158, "通话记录不存在!", null),
CALL_UP_ERROR(10211159, "拨出电话异常!", null), CALL_UP_ERROR(10211159, "拨出电话异常!", null),
CREATE_CALL_REQUEST_ERROR(10211160, "创建电话请求失败!", null), CREATE_CALL_REQUEST_ERROR(10211160, "创建电话请求失败!", null),
CREATE_APPOINTMENT_TIME_ERROR(10211161, "当前时间不可预约面,请选择其他时间", null), CREATE_APPOINTMENT_TIME_ERROR(10211161, "当前时间不可预约面,请选择其他时间", null),
USER_CHANNEL_NOT_EXISTS(10211162, "当前用户渠道不存在", null), USER_CHANNEL_NOT_EXISTS(10211162, "当前用户渠道不存在", null),
LINE_ALREADY_EXISTS(10211163, "该线索已存在,跟进人为{0}", null), LINE_ALREADY_EXISTS(10211163, "该线索已存在,跟进人为{0}", null),
@@ -129,7 +129,7 @@ public enum ErrorCodeEnum {
EXHIBITION_NOT_EXIST(106003, "会销不存在或被删除", null), EXHIBITION_NOT_EXIST(106003, "会销不存在或被删除", null),
EXHIBITION_NOT_SIGNED(106004, "线索未进行会销签到", null), EXHIBITION_NOT_SIGNED(106004, "线索未进行会销签到", null),
EXHIBITION_NOT_SUBMIT_INTENTION(106005, "线索未提交意向申请", null), EXHIBITION_NOT_SUBMIT_INTENTION(106005, "线索未提交意向申请", null),
EXHIBITION_LINE_INTERVIEWED(106006, "线索已预约面", null), EXHIBITION_LINE_INTERVIEWED(106006, "线索已预约面", null),
; ;

View File

@@ -91,4 +91,17 @@ public enum InterviewTypeEnum {
return result; return result;
} }
public static WorkflowSubStageStatusEnum getWorkflowSubStageStatus(InterviewTypeEnum interviewType){
if(MEET.equals(interviewType)){
return WorkflowSubStageStatusEnum.INVITING_INTERVIEWS_15;
}
if(INTERVIEW.equals(interviewType)){
return WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_30;
}
if(SECOND_INTERVIEW.equals(interviewType)){
return WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_105;
}
return null;
}
} }

View File

@@ -13,20 +13,20 @@ import java.util.stream.Collectors;
*/ */
public enum WorkflowStageEnum { public enum WorkflowStageEnum {
INTENT("1","意向申请阶段"), INTENT(1,"意向申请阶段"),
STORE("2","新店进展"), STORE(2,"新店进展"),
; ;
private String code; private Integer code;
private String message; private String message;
WorkflowStageEnum(String code, String message) { WorkflowStageEnum(Integer code, String message) {
this.code = code; this.code = code;
this.message = message; this.message = message;
} }
public String getCode() { public Integer getCode() {
return code; return code;
} }
@@ -34,7 +34,7 @@ public enum WorkflowStageEnum {
return message; return message;
} }
protected static final Map<String, WorkflowStageEnum> map = Arrays.stream(values()).collect( protected static final Map<Integer, WorkflowStageEnum> map = Arrays.stream(values()).collect(
Collectors.toMap(WorkflowStageEnum::getCode, Function.identity())); Collectors.toMap(WorkflowStageEnum::getCode, Function.identity()));
public static WorkflowStageEnum getWorkflowStageByCode(String code) { public static WorkflowStageEnum getWorkflowStageByCode(String code) {

View File

@@ -1,6 +1,11 @@
package com.cool.store.dao; package com.cool.store.dao;
import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.LineInfoDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.WorkflowStageEnum;
import com.cool.store.enums.WorkflowSubStageEnum;
import com.cool.store.enums.WorkflowSubStageStatusEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.LineInfoMapper; import com.cool.store.mapper.LineInfoMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@@ -38,6 +43,18 @@ public class LineInfoDAO {
return lineInfoMapper.updateByPrimaryKeySelective(param); return lineInfoMapper.updateByPrimaryKeySelective(param);
} }
public Integer updateWorkflowStage(Long lineId, WorkflowSubStageEnum workflowSubStage, WorkflowSubStageStatusEnum workflowSubStageStatus) {
if(Objects.isNull(workflowSubStage) && Objects.isNull(workflowSubStageStatus)){
log.info("更新线索阶段,子阶段 和 子阶段状态不能同时为空");
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
LineInfoDO lineInfo = new LineInfoDO();
lineInfo.setId(lineId);
lineInfo.setWorkflowSubStage(workflowSubStage.getCode());
lineInfo.setWorkflowSubStageStatus(workflowSubStageStatus.getCode());
return lineInfoMapper.updateByPrimaryKeySelective(lineInfo);
}
public LineInfoDO getByPartnerId(String partnerId) { public LineInfoDO getByPartnerId(String partnerId) {
LineInfoDO lineInfo = lineInfoMapper.getByPartnerId(partnerId); LineInfoDO lineInfo = lineInfoMapper.getByPartnerId(partnerId);
if(Objects.nonNull(lineInfo) && !lineInfo.getDeleted()){ if(Objects.nonNull(lineInfo) && !lineInfo.getDeleted()){

View File

@@ -89,7 +89,7 @@ public interface LineInterviewService {
* @param videoUrlList * @param videoUrlList
* @return * @return
*/ */
Boolean uploadVideo(Long interviewId, List<String> videoUrlList); Integer uploadVideo(Long interviewId, List<String> videoUrlList);
/** /**
* 重新预约面审 * 重新预约面审

View File

@@ -28,6 +28,7 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
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.time.LocalDate; import java.time.LocalDate;
@@ -84,6 +85,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public Boolean appointmentTime(AppointmentTimeRequest request) { public Boolean appointmentTime(AppointmentTimeRequest request) {
//查询线索信息 //查询线索信息
//如果是面谈获取招商经理 如果是面试获取大区经理 //如果是面谈获取招商经理 如果是面试获取大区经理
@@ -106,8 +108,9 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
Date endTime = DateUtils.strToDate(request.getEndTime(), DateUtils.YYYY_MM_DD_HH_MM_SS); Date endTime = DateUtils.strToDate(request.getEndTime(), DateUtils.YYYY_MM_DD_HH_MM_SS);
LineCalendarsEventDO calendarsEvent = LineCalendarsEventDO.convertDO(lineInfo, interviewType.getCode(), startTime, endTime, interviewer); LineCalendarsEventDO calendarsEvent = LineCalendarsEventDO.convertDO(lineInfo, interviewType.getCode(), startTime, endTime, interviewer);
Long eventId = lineCalendarsEventDAO.addCalendarsEvent(calendarsEvent); Long eventId = lineCalendarsEventDAO.addCalendarsEvent(calendarsEvent);
WorkflowSubStageStatusEnum workflowSubStageStatus = InterviewTypeEnum.getWorkflowSubStageStatus(interviewType);
//跟新线索状态为已预约 //跟新线索状态为已预约
lineInfoDAO.updateLineInfo(lineInfo); lineInfoDAO.updateWorkflowStage(lineInfo.getId(), null, workflowSubStageStatus);
LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfo(lineInfo.getId(), interviewType); LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfo(lineInfo.getId(), interviewType);
if(Objects.nonNull(interviewInfo)){ if(Objects.nonNull(interviewInfo)){
if(!WorkflowSubStageStatusEnum.isReappointmentStatus(lineInfo.getWorkflowSubStageStatus())){ if(!WorkflowSubStageStatusEnum.isReappointmentStatus(lineInfo.getWorkflowSubStageStatus())){
@@ -123,6 +126,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public Boolean modifyAppointmentTime(AppointmentTimeRequest request) { public Boolean modifyAppointmentTime(AppointmentTimeRequest request) {
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(request.getLineId()); LineInfoDO lineInfo = lineInfoDAO.getLineInfo(request.getLineId());
if(Objects.isNull(lineInfo)){ if(Objects.isNull(lineInfo)){
@@ -227,6 +231,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public Integer finishInterview(Long interviewId, String userId) { public Integer finishInterview(Long interviewId, String userId) {
LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfoById(interviewId); LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfoById(interviewId);
if(Objects.isNull(interviewInfo)){ if(Objects.isNull(interviewInfo)){
@@ -236,20 +241,25 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
if (interviewInfo.getRoomStatus().equals(RoomStatus.CLOSED.getCode())) { if (interviewInfo.getRoomStatus().equals(RoomStatus.CLOSED.getCode())) {
throw new ServiceException(ErrorCodeEnum.ROOM_STATUS_ERROR); throw new ServiceException(ErrorCodeEnum.ROOM_STATUS_ERROR);
} }
interviewInfo.setRoomStatus(RoomStatus.CLOSED.getCode()); LineInfoDO lineInfo = lineInfoDAO.getLineInfo(interviewInfo.getLineId());
interviewInfo.setActualEndTime(new Date()); if(!WorkflowSubStageEnum.isReappointmentStage(lineInfo.getWorkflowSubStage())){
interviewInfo.setInterviewStatus(InterviewStatusEnum.WAIT_AUDIT.getCode()); throw new ServiceException(ErrorCodeEnum.LINE_STATUS_NOT_ALLOW_OPERATE);
}
LineInterviewDO updateInterviewInfo = new LineInterviewDO();
updateInterviewInfo.setId(interviewId);
updateInterviewInfo.setRoomStatus(RoomStatus.CLOSED.getCode());
updateInterviewInfo.setActualEndTime(new Date());
updateInterviewInfo.setInterviewStatus(InterviewStatusEnum.WAIT_AUDIT.getCode());
//更新线索状态 //更新线索状态
LineInfoDO lineInfo = new LineInfoDO(); WorkflowSubStageStatusEnum workflowSubStageStatus = null;
lineInfo.setId(interviewInfo.getLineId());
if(InterviewTypeEnum.INTERVIEW.getCode().equals(interviewInfo.getInterviewType())){ if(InterviewTypeEnum.INTERVIEW.getCode().equals(interviewInfo.getInterviewType())){
lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_35.getCode()); workflowSubStageStatus = WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_35;
} }
if(InterviewTypeEnum.SECOND_INTERVIEW.getCode().equals(interviewInfo.getInterviewType())){ if(InterviewTypeEnum.SECOND_INTERVIEW.getCode().equals(interviewInfo.getInterviewType())){
lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_110.getCode()); workflowSubStageStatus = WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_110;
} }
lineInfoDAO.updateLineInfo(lineInfo); lineInfoDAO.updateWorkflowStage(interviewInfo.getLineId(), null, workflowSubStageStatus);
return lineInterviewDAO.updateInterviewInfo(interviewInfo); return lineInterviewDAO.updateInterviewInfo(updateInterviewInfo);
} }
@Override @Override
@@ -271,7 +281,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
} }
@Override @Override
public Boolean uploadVideo(Long interviewId, List<String> videoUrlList) { public Integer uploadVideo(Long interviewId, List<String> videoUrlList) {
LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfoById(interviewId); LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfoById(interviewId);
if(Objects.isNull(interviewInfo)){ if(Objects.isNull(interviewInfo)){
throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST); throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
@@ -281,8 +291,10 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
videoList = new ArrayList<>(); videoList = new ArrayList<>();
} }
videoList.addAll(videoUrlList); videoList.addAll(videoUrlList);
interviewInfo.setVideoUrl(JSONObject.toJSONString(videoList.stream().distinct().collect(Collectors.toList()))); LineInterviewDO updateInterviewInfo = new LineInterviewDO();
return lineInterviewDAO.updateInterviewInfo(interviewInfo) > 0; updateInterviewInfo.setId(interviewId);
updateInterviewInfo.setVideoUrl(JSONObject.toJSONString(videoList.stream().distinct().collect(Collectors.toList())));
return lineInterviewDAO.updateInterviewInfo(updateInterviewInfo);
} }
@Override @Override
@@ -295,15 +307,14 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
log.info("当前线索状态不允许重新预约"); log.info("当前线索状态不允许重新预约");
throw new ServiceException(ErrorCodeEnum.LINE_STATUS_NOT_ALLOW_OPERATE); throw new ServiceException(ErrorCodeEnum.LINE_STATUS_NOT_ALLOW_OPERATE);
} }
Integer workflowSubStageStatus = null; WorkflowSubStageStatusEnum workflowSubStageStatus = null;
if(WorkflowSubStageEnum.FIRST_INTERVIEWS.getCode().equals(lineInfo.getWorkflowSubStage())){ if(WorkflowSubStageEnum.FIRST_INTERVIEWS.getCode().equals(lineInfo.getWorkflowSubStage())){
workflowSubStageStatus = WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_41.getCode(); workflowSubStageStatus = WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_41;
} }
if(WorkflowSubStageEnum.SECOND_INTERVIEWS.getCode().equals(lineInfo.getWorkflowSubStage())){ if(WorkflowSubStageEnum.SECOND_INTERVIEWS.getCode().equals(lineInfo.getWorkflowSubStage())){
workflowSubStageStatus = WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_120.getCode(); workflowSubStageStatus = WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_120;
} }
lineInfo.setWorkflowSubStageStatus(workflowSubStageStatus); return lineInfoDAO.updateWorkflowStage(lineInfo.getId(), null, workflowSubStageStatus);
return lineInfoDAO.updateLineInfo(lineInfo);
} }
@@ -314,44 +325,33 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
@Override @Override
protected Boolean auditPass(Long auditId, LineInfoDO lineInfo) { protected Boolean auditPass(Long auditId, LineInfoDO lineInfo) {
InterviewTypeEnum interviewType = null; InterviewTypeEnum interviewType = WorkflowSubStageEnum.getInterviewType(lineInfo.getWorkflowSubStage());
WorkflowSubStageEnum workflowSubStageEnum = WorkflowSubStageEnum.getWorkflowSubStageEnum(lineInfo.getWorkflowSubStage()); WorkflowSubStageEnum workflowSubStageEnum = WorkflowSubStageEnum.getWorkflowSubStageEnum(lineInfo.getWorkflowSubStage());
WorkflowSubStageEnum nextStage = workflowSubStageEnum.getNextStage(); WorkflowSubStageEnum nextStage = workflowSubStageEnum.getNextStage();
Integer nextStageInitStatus = nextStage.getInitStatus().getCode();
if(WorkflowSubStageEnum.INVITING_INTERVIEWS.getCode().equals(lineInfo.getWorkflowSubStage())){
interviewType = InterviewTypeEnum.MEET;
}
if(WorkflowSubStageEnum.FIRST_INTERVIEWS.getCode().equals(lineInfo.getWorkflowSubStage())){
interviewType = InterviewTypeEnum.INTERVIEW;
}
if(WorkflowSubStageEnum.SECOND_INTERVIEWS.getCode().equals(lineInfo.getWorkflowSubStage())){
interviewType = InterviewTypeEnum.SECOND_INTERVIEW;
nextStageInitStatus = InterviewStatusEnum.PASS.getCode();
}
LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfo(lineInfo.getId(), interviewType); LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfo(lineInfo.getId(), interviewType);
interviewInfo.setAuditId(auditId); if(Objects.isNull(interviewInfo)){
interviewInfo.setInterviewStatus(InterviewStatusEnum.PASS.getCode()); throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
lineInfo.setWorkflowSubStage(nextStage.getCode()); }
lineInfo.setWorkflowSubStageStatus(nextStageInitStatus); LineInterviewDO updateInterviewInfo = new LineInterviewDO();
lineInfoDAO.updateLineInfo(lineInfo); updateInterviewInfo.setId(interviewInfo.getId());
return lineInterviewDAO.updateInterviewInfo(interviewInfo) > 0; updateInterviewInfo.setAuditId(auditId);
updateInterviewInfo.setInterviewStatus(InterviewStatusEnum.PASS.getCode());
//更新线索阶段
lineInfoDAO.updateWorkflowStage(lineInfo.getId(), nextStage, nextStage.getInitStatus());
return lineInterviewDAO.updateInterviewInfo(updateInterviewInfo) > 0;
} }
@Override @Override
protected Boolean auditReject(Long auditId, LineInfoDO lineInfo) { protected Boolean auditReject(Long auditId, LineInfoDO lineInfo) {
InterviewTypeEnum interviewType = null; InterviewTypeEnum interviewType = WorkflowSubStageEnum.getInterviewType(lineInfo.getWorkflowSubStage());
if(WorkflowSubStageEnum.INVITING_INTERVIEWS.getCode().equals(lineInfo.getWorkflowSubStage())){
interviewType = InterviewTypeEnum.MEET;
}
if(WorkflowSubStageEnum.FIRST_INTERVIEWS.getCode().equals(lineInfo.getWorkflowSubStage())){
interviewType = InterviewTypeEnum.INTERVIEW;
}
if(WorkflowSubStageEnum.SECOND_INTERVIEWS.getCode().equals(lineInfo.getWorkflowSubStage())){
interviewType = InterviewTypeEnum.SECOND_INTERVIEW;
}
LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfo(lineInfo.getId(), interviewType); LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfo(lineInfo.getId(), interviewType);
interviewInfo.setAuditId(auditId); if(Objects.isNull(interviewInfo)){
interviewInfo.setInterviewStatus(InterviewStatusEnum.NOT_PASS.getCode()); throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
}
LineInterviewDO updateInterviewInfo = new LineInterviewDO();
updateInterviewInfo.setId(interviewInfo.getId());
updateInterviewInfo.setAuditId(auditId);
updateInterviewInfo.setInterviewStatus(InterviewStatusEnum.NOT_PASS.getCode());
return lineInterviewDAO.updateInterviewInfo(interviewInfo) > 0; return lineInterviewDAO.updateInterviewInfo(interviewInfo) > 0;
} }