公共处理

This commit is contained in:
zhangchenbiao
2024-03-20 16:04:13 +08:00
parent 6e49510340
commit b44a20b2b9
10 changed files with 304 additions and 20 deletions

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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;
}
}