diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java
index 28472bf8e..b36804eb7 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java
@@ -35,6 +35,7 @@ public interface HyPartnerInterviewMapper {
* @return
*/
PartnerInterviewInfoVO queryByPartnerId(@Param("partnerId") String partnerId);
+ PartnerInterviewInfoVO queryByPartnerLineId(@Param("partnerLineId") String partnerLineId);
/**
* 根据会议 id 查询面试官 id
diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml
index 48dad0be1..3bf931cae 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml
@@ -477,6 +477,14 @@
FROM hy_partner_interview
WHERE interview_plan_id = #{interviewPlanId}
+
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/LineQueryInterviewDto.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/LineQueryInterviewDto.java
new file mode 100644
index 000000000..bf01e58bc
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/LineQueryInterviewDto.java
@@ -0,0 +1,12 @@
+package com.cool.store.dto.partner;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class LineQueryInterviewDto {
+
+ @ApiModelProperty("加盟商线索id")
+ private String partnerLineId;
+
+}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerInterviewPlanService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerInterviewPlanService.java
index 8303b40de..c4351a7f1 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerInterviewPlanService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerInterviewPlanService.java
@@ -1,5 +1,6 @@
package com.cool.store.service;
+import com.cool.store.exception.ApiException;
import com.cool.store.vo.InterviewDetailInfoVO;
import com.cool.store.vo.PartnerInterviewInfoVO;
import com.github.pagehelper.PageInfo;
@@ -46,7 +47,7 @@ public interface HyPartnerInterviewPlanService {
* updateInterviewOverTime
* @return
*/
- void updateInterviewOverTime();
+ void updateInterviewOverTime() throws ApiException;
/**
* 批量打开十分钟之内开始的面试房间
@@ -60,5 +61,5 @@ public interface HyPartnerInterviewPlanService {
* updateInterviewOverTime
* @return
*/
- void updateAbsentInterview();
+ void updateAbsentInterview() throws ApiException;
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java
index c1fd5af9a..ca51f1c12 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java
@@ -100,7 +100,7 @@ public interface HyPartnerLineInfoService {
* @param closeFollowRequest
* @return
*/
- Boolean closeOrPassFollow(LoginUserInfo user,CloseFollowRequest closeFollowRequest);
+ Boolean closeOrPassFollow(LoginUserInfo user,CloseFollowRequest closeFollowRequest) throws ApiException;
/**
* 公海线索
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerInterviewService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerInterviewService.java
index 85c24fed1..fc090431c 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerInterviewService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerInterviewService.java
@@ -1,6 +1,7 @@
package com.cool.store.service;
import com.cool.store.dto.partner.EnterInterviewDto;
+import com.cool.store.dto.partner.LineQueryInterviewDto;
import com.cool.store.exception.ApiException;
import com.cool.store.request.ModifyInterviewTimeReq;
import com.cool.store.vo.EnterInterviewVO;
@@ -16,6 +17,8 @@ public interface PartnerInterviewService {
*/
PartnerInterviewInfoVO queryByPartnerId(String partnerId);
+ PartnerInterviewInfoVO queryByPartnerLineId(LineQueryInterviewDto request) throws ApiException;
+
/**
* 进入面试间的方法
* 修改一些面试状态
@@ -35,4 +38,6 @@ public interface PartnerInterviewService {
*/
void modifyInterviewTime(ModifyInterviewTimeReq request) throws ApiException;
+
+
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/WorkFlowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/WorkFlowService.java
index 5c7a408a7..b81f2daa6 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/WorkFlowService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/WorkFlowService.java
@@ -18,7 +18,7 @@ public interface WorkFlowService {
* @param workflowStage
* @param request
*/
- void endProcess(WorkflowStageEnum workflowStage, CloseFollowRequest request);
+ void endProcess(WorkflowStageEnum workflowStage, CloseFollowRequest request) throws ApiException;
/**
* 转让招商经理
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerInterviewPlanServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerInterviewPlanServiceImpl.java
index 5a45b2067..dcc219dc4 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerInterviewPlanServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerInterviewPlanServiceImpl.java
@@ -8,6 +8,7 @@ import com.cool.store.entity.*;
import com.cool.store.enums.RoomStatus;
import com.cool.store.enums.WorkflowStageEnum;
import com.cool.store.enums.WorkflowStatusEnum;
+import com.cool.store.exception.ApiException;
import com.cool.store.mapper.HyPartnerInterviewMapper;
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
import com.cool.store.mapper.HyPartnerLineInfoMapper;
@@ -170,7 +171,7 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
@Override
@Transactional
- public void updateInterviewOverTime() {
+ public void updateInterviewOverTime() throws ApiException {
List overTimeReserveLineList = hyPartnerLineInfoMapper.getOverTimeReserveLineList(new Date(), WorkflowStageEnum.RESERVATION.getCode(), WorkflowStatusEnum.RESERVATION_0.getCode());
if(CollectionUtils.isEmpty(overTimeReserveLineList)){
return;
@@ -201,7 +202,7 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
@Override
@Transactional
- public void updateAbsentInterview() {
+ public void updateAbsentInterview() throws ApiException {
Date now = new Date();
//查询当天未参加的面试
String startTime = DateUtil.formatDateTime(DateUtil.offsetHour(now,-6));
@@ -223,7 +224,7 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
* @param interviewBaseInfoList
* @param rejectPublicReason
*/
- public void handleOverTimeInterview(List interviewBaseInfoList,String rejectPublicReason){
+ public void handleOverTimeInterview(List interviewBaseInfoList,String rejectPublicReason) throws ApiException {
//1.更新面试信息表中超时的面试信息
List interviewIds = interviewBaseInfoList.stream().map(HyPartnerInterviewDO::getId).distinct().collect(Collectors.toList());
hyPartnerInterviewMapper.batchUpdateInterviewStatus(interviewIds,Integer.valueOf(WorkflowStatusEnum.RESERVATION_8.getCode()),1);
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java
index a6b1bd038..58a29c24c 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java
@@ -318,7 +318,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Override
@Transactional(rollbackFor = Exception.class)
- public Boolean closeOrPassFollow(LoginUserInfo user,CloseFollowRequest closeFollowRequest) {
+ public Boolean closeOrPassFollow(LoginUserInfo user,CloseFollowRequest closeFollowRequest) throws ApiException {
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(closeFollowRequest.getLineId());
if (hyPartnerLineInfoDO==null){
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java
index 51f8151ab..d41148052 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java
@@ -7,6 +7,7 @@ import com.cool.store.context.PartnerUserHolder;
import com.cool.store.dao.HyInterviewDAO;
import com.cool.store.dto.log.ModifyInterviewTimeDTO;
import com.cool.store.dto.partner.EnterInterviewDto;
+import com.cool.store.dto.partner.LineQueryInterviewDto;
import com.cool.store.entity.HyPartnerInterviewDO;
import com.cool.store.entity.HyPartnerInterviewPlanDO;
import com.cool.store.enums.ErrorCodeEnum;
@@ -68,6 +69,11 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
return interviewMapper.queryByPartnerId(partnerId);
}
+ @Override
+ public PartnerInterviewInfoVO queryByPartnerLineId(LineQueryInterviewDto request) throws ApiException {
+ return interviewMapper.queryByPartnerLineId(request.getPartnerLineId());
+ }
+
/**
* 进入面试间的方法
* 修改一些面试状态
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WorkFlowServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WorkFlowServiceImpl.java
index 1a40d3cb6..1a3e9c3ad 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WorkFlowServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WorkFlowServiceImpl.java
@@ -35,7 +35,7 @@ public class WorkFlowServiceImpl implements WorkFlowService{
@Override
- public void endProcess(WorkflowStageEnum workflowStage, CloseFollowRequest request) {
+ public void endProcess(WorkflowStageEnum workflowStage, CloseFollowRequest request) throws ApiException {
getWorkflowService(workflowStage).endProcess(request);
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/InterviewWorkFlowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/InterviewWorkFlowService.java
index b8b3258b1..dfe6e1122 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/InterviewWorkFlowService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/InterviewWorkFlowService.java
@@ -24,6 +24,7 @@ import com.cool.store.utils.CoolDateUtils;
import com.cool.store.vo.interview.InterviewVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -61,7 +62,7 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
}
@Override
- public void endProcess(CloseFollowRequest request) throws ServiceException{
+ public void endProcess(CloseFollowRequest request) throws ApiException {
Long lineId = request.getLineId();
//根据线索id查询面试信息
List interviewBaseInfos = hyPartnerInterviewMapper.getInterviewBaseInfoListByLineIds(Arrays.asList(lineId));
@@ -69,6 +70,22 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
}
HyPartnerInterviewDO interviewBaseInfo = interviewBaseInfos.get(0);
+ InterviewVO interviewInfo = hyPartnerInterviewPlanMapper.getInterviewInfo(String.valueOf(interviewBaseInfo.getInterviewPlanId()));
+ if(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_2.getCode()) == interviewBaseInfo.getStatus()
+ && StringUtils.isNotEmpty(interviewInfo.getRoomStatus())
+ && String.valueOf(RoomStatus.WAIT_FOR_OPEN.getCode()).equals(interviewInfo.getRoomStatus())
+ && StringUtils.isNotEmpty(interviewInfo.getFeishuCalendarId())
+ && StringUtils.isNotEmpty(interviewInfo.getFeishuScheduleId())){
+ // 原面试官日程删除
+ DeleteCalendarEventDTO deleteCalendarEventDTO = new DeleteCalendarEventDTO();
+ deleteCalendarEventDTO.setCalendarId(interviewInfo.getFeishuCalendarId());
+ deleteCalendarEventDTO.setEventId(interviewInfo.getFeishuScheduleId());
+ deleteCalendarEventDTO.setUserId(interviewInfo.getInterviewerId());
+ UserCalendarsEventDTO userCalendarsEventDTO = isvHttpRequest.deleteUserCalendarEvent(deleteCalendarEventDTO);
+ if(userCalendarsEventDTO == null ){
+ throw new ApiException(ErrorCodeEnum.FEISHU_DELETE_SCHEDULE_ERROR);
+ }
+ }
interviewService.rejectInterviewAndSuspendLine(interviewBaseInfo.getId(),interviewBaseInfo.getInterviewPlanId(),null);
//记录日志
LoginUserInfo operator = CurrentUserHolder.getUser();
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/WorkFlowBaseService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/WorkFlowBaseService.java
index 1d32dd1dc..4b60a7017 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/WorkFlowBaseService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/workflow/WorkFlowBaseService.java
@@ -23,7 +23,7 @@ public abstract class WorkFlowBaseService {
* 结束流程
* @param request
*/
- public abstract void endProcess(CloseFollowRequest request);
+ public abstract void endProcess(CloseFollowRequest request) throws ApiException;
/**
* 转让招商经理
diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/InterviewController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/InterviewController.java
index fd4ae835a..ad22ef790 100644
--- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/InterviewController.java
+++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/InterviewController.java
@@ -1,6 +1,7 @@
package com.cool.store.controller;
import com.cool.store.dto.partner.EnterInterviewDto;
+import com.cool.store.dto.partner.LineQueryInterviewDto;
import com.cool.store.dto.partner.PartnerGetPassLetterDetailDto;
import com.cool.store.dto.partner.PartnerQueryInterviewDto;
import com.cool.store.exception.ApiException;
@@ -30,12 +31,19 @@ public class InterviewController {
@Autowired
private InterviewService interviewBaseService;
- @PostMapping("/queryByPartnerId")
- @ApiOperation("根据用户id查询面试信息")
- public ResponseResult queryByPartnerId(@RequestBody PartnerQueryInterviewDto dto) {
- return ResponseResult.success(interviewService.queryByPartnerId(dto.getPartnerId()));
+// @PostMapping("/queryByPartnerId")
+// @ApiOperation("根据用户id查询面试信息")
+// public ResponseResult queryByPartnerId(@RequestBody PartnerQueryInterviewDto dto) {
+// return ResponseResult.success(interviewService.queryByPartnerId(dto.getPartnerId()));
+// }
+
+ @PostMapping("/queryByPartnerLineId")
+ @ApiOperation("根据线索id查询面试信息")
+ public ResponseResult queryByPartnerLineId(@RequestBody LineQueryInterviewDto dto) throws ApiException {
+ return ResponseResult.success(interviewService.queryByPartnerLineId(dto));
}
+
@PostMapping("/enter")
@ApiOperation("进入面试间")
public ResponseResult enterInterviewRoom(@RequestBody EnterInterviewDto dto) throws ApiException {