公共处理
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.dao.LineAuditInfoDAO;
|
||||
import com.cool.store.dao.LineInfoDAO;
|
||||
import com.cool.store.entity.LineAuditInfoDO;
|
||||
import com.cool.store.entity.LineInfoDO;
|
||||
import com.cool.store.enums.AuditResultTypeEnum;
|
||||
import com.cool.store.request.AuditPassRequest;
|
||||
import com.cool.store.request.AuditRejectRequest;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: LineFlowService
|
||||
* @Description:
|
||||
* @date 2024-03-20 14:32
|
||||
*/
|
||||
@Service
|
||||
public abstract class LineFlowService {
|
||||
|
||||
@Resource
|
||||
private LineAuditInfoDAO lineAuditInfoDAO;
|
||||
@Resource
|
||||
private LineInfoDAO lineInfoDAO;
|
||||
|
||||
private LineFlowService lineFlowService;
|
||||
|
||||
public Boolean auditPass(LineInfoDO lineInfo, AuditPassRequest request){
|
||||
String partnerId = lineInfo.getPartnerId();
|
||||
LineAuditInfoDO auditInfo = new LineAuditInfoDO();
|
||||
auditInfo.setLineId(request.getLineId());
|
||||
auditInfo.setPartnerId(partnerId);
|
||||
auditInfo.setResultType(AuditResultTypeEnum.PASS.getCode());
|
||||
auditInfo.setPassReason(request.getPassReason());
|
||||
auditInfo.setCertifyFile(JSONObject.toJSONString(request.getCertifyFile()));
|
||||
Long auditId = lineAuditInfoDAO.addAuditInfo(auditInfo);
|
||||
return auditPass(auditId, lineInfo, request);
|
||||
}
|
||||
|
||||
public Boolean auditReject(LineInfoDO lineInfo, AuditRejectRequest request){
|
||||
String partnerId = lineInfo.getPartnerId();
|
||||
LineAuditInfoDO auditInfo = new LineAuditInfoDO();
|
||||
auditInfo.setLineId(request.getLineId());
|
||||
auditInfo.setPartnerId(partnerId);
|
||||
auditInfo.setResultType(AuditResultTypeEnum.REJECT.getCode());
|
||||
auditInfo.setRejectPublicReason(request.getRejectPublicReason());
|
||||
auditInfo.setRejectRealReason(request.getRejectRealReason());
|
||||
auditInfo.setCertifyFile(JSONObject.toJSONString(request.getCertifyFile()));
|
||||
Long auditId = lineAuditInfoDAO.addAuditInfo(auditInfo);
|
||||
return auditReject(auditId, lineInfo, request);
|
||||
}
|
||||
|
||||
public Boolean auditClose(LineInfoDO lineInfo, AuditRejectRequest request){
|
||||
String partnerId = lineInfo.getPartnerId();
|
||||
LineAuditInfoDO auditInfo = new LineAuditInfoDO();
|
||||
auditInfo.setLineId(request.getLineId());
|
||||
auditInfo.setPartnerId(partnerId);
|
||||
auditInfo.setResultType(AuditResultTypeEnum.CLOSE.getCode());
|
||||
auditInfo.setRejectPublicReason(request.getRejectPublicReason());
|
||||
auditInfo.setRejectRealReason(request.getRejectRealReason());
|
||||
auditInfo.setCertifyFile(JSONObject.toJSONString(request.getCertifyFile()));
|
||||
Long auditId = lineAuditInfoDAO.addAuditInfo(auditInfo);
|
||||
return auditClose(auditId, lineInfo, request);
|
||||
}
|
||||
|
||||
protected abstract Boolean auditPass(Long auditId, LineInfoDO lineInfo, AuditPassRequest request);
|
||||
|
||||
protected abstract Boolean auditReject(Long auditId, LineInfoDO lineInfo, AuditRejectRequest request);
|
||||
|
||||
protected abstract Boolean auditClose(Long auditId, LineInfoDO lineInfo, AuditRejectRequest request);
|
||||
|
||||
|
||||
}
|
||||
@@ -65,4 +65,13 @@ public interface LineInterviewService {
|
||||
* @return
|
||||
*/
|
||||
EnterInterviewVO enterInterviewRoom(Long interviewId, String interviewUserId, InterviewUserTypeEnum userType);
|
||||
|
||||
/**
|
||||
* 结束面试
|
||||
* @param interviewId
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
Integer finishInterview(Long interviewId, String userId);
|
||||
|
||||
}
|
||||
|
||||
@@ -9,10 +9,9 @@ import com.cool.store.entity.LineInterviewDO;
|
||||
import com.cool.store.enums.*;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.request.AppointmentTimeRequest;
|
||||
import com.cool.store.request.LineInterviewPageRequest;
|
||||
import com.cool.store.request.ModifyInterviewerRequest;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.service.LabelService;
|
||||
import com.cool.store.service.LineFlowService;
|
||||
import com.cool.store.service.LineInterviewService;
|
||||
import com.cool.store.utils.TRTCUtils;
|
||||
import com.cool.store.utils.UUIDUtils;
|
||||
@@ -22,6 +21,7 @@ import com.cool.store.vo.interview.EnterInterviewVO;
|
||||
import com.cool.store.vo.interview.LineInterviewPageVO;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -42,8 +42,9 @@ import java.util.stream.Stream;
|
||||
* @Description:
|
||||
* @date 2024-03-15 16:04
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class LineInterviewServiceImpl implements LineInterviewService {
|
||||
public class LineInterviewServiceImpl extends LineFlowService implements LineInterviewService {
|
||||
|
||||
@Value("${trtc.sdkAppId}")
|
||||
private Long sdkAppId;
|
||||
@@ -224,4 +225,38 @@ public class LineInterviewServiceImpl implements LineInterviewService {
|
||||
String userSig = TRTCUtils.genUserSig(sdkAppId, key, interviewUserId);
|
||||
return new EnterInterviewVO(userSig, interviewInfo.getInterviewer(), userName, lineInfo.getUsername());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer finishInterview(Long interviewId, String userId) {
|
||||
LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfoById(interviewId);
|
||||
if(Objects.isNull(interviewInfo)){
|
||||
throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
|
||||
}
|
||||
//已关闭就禁止进入房间了
|
||||
if (interviewInfo.getRoomStatus().equals(RoomStatus.CLOSED.getCode())) {
|
||||
throw new ServiceException(ErrorCodeEnum.ROOM_STATUS_ERROR);
|
||||
}
|
||||
interviewInfo.setRoomStatus(RoomStatus.CLOSED.getCode());
|
||||
interviewInfo.setActualEndTime(new Date());
|
||||
//更新线索状态
|
||||
LineInfoDO lineInfo = new LineInfoDO();
|
||||
lineInfoDAO.updateLineInfo(lineInfo);
|
||||
return lineInterviewDAO.updateInterviewInfo(interviewInfo);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected Boolean auditPass(Long auditId, LineInfoDO lineInfo, AuditPassRequest request) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Boolean auditReject(Long auditId, LineInfoDO lineInfo, AuditRejectRequest request) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Boolean auditClose(Long auditId, LineInfoDO lineInfo, AuditRejectRequest request) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user