diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerExhibitionDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerExhibitionDAO.java index 24033b38e..ffcdddd8e 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerExhibitionDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerExhibitionDAO.java @@ -163,4 +163,11 @@ public class HyPartnerExhibitionDAO { } hyPartnerExhibitionMapper.updateStatusAfterSubmitIndustry(partnerLineId); } + + public void updateStatusAfterFinishInterview(String interviewPlanId) { + if (StringUtils.isEmpty(interviewPlanId)) { + return; + } + hyPartnerExhibitionMapper.updateStatusAfterFinishInterview(Long.parseLong(interviewPlanId)); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerExhibitionMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerExhibitionMapper.java index 5e66b5ea9..088b80113 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerExhibitionMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerExhibitionMapper.java @@ -122,4 +122,11 @@ public interface HyPartnerExhibitionMapper { * @param partnerLineId */ int updateStatusAfterSubmitIndustry(@Param("partnerLineId") Long partnerLineId); + + /** + * 结束面试后刷线线索报名会销的状态 + * @param interviewPlanId + * @return + */ + int updateStatusAfterFinishInterview(@Param("interviewPlanId")Long interviewPlanId); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerExhibitionMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerExhibitionMapper.xml index e49fcfb80..524884723 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerExhibitionMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerExhibitionMapper.xml @@ -511,5 +511,12 @@ AND participation_status = 1 + + UPDATE hy_partner_exhibition + SET participation_status = 4 + WHERE deleted = 0 + AND participation_status = 3 + AND interview_plan_id = #{interviewPlanId} + \ No newline at end of file diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ExhibitionService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ExhibitionService.java index e5d231497..af51b2fe2 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/ExhibitionService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ExhibitionService.java @@ -6,6 +6,7 @@ import com.cool.store.dto.exhibition.ExhibitionEnterInterviewDTO; import com.cool.store.dto.exhibition.ExhibitionGroupDTO; import com.cool.store.dto.exhibition.SignUpExhibitionDTO; import com.cool.store.exception.ApiException; +import com.cool.store.request.FinishInterviewReq; import com.cool.store.vo.EnterInterviewVO; import com.cool.store.vo.exhibition.*; import com.github.pagehelper.PageInfo; @@ -26,6 +27,11 @@ public interface ExhibitionService { */ EnterInterviewVO startExhibitionInterview(ExhibitionEnterInterviewDTO dto) throws ApiException; + /** + * 结束会销面试 + * @param request + */ + void finishInterview(FinishInterviewReq request) throws ApiException; /** * 新增会销组 @@ -164,5 +170,4 @@ public interface ExhibitionService { * 给被自动结束会销的参会人发短信通知 */ void sendSMSToExhibitionApplicants(); - } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/exhibition/ExhibitionServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/exhibition/ExhibitionServiceImpl.java index cdea240f1..29b8fd6ec 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/exhibition/ExhibitionServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/exhibition/ExhibitionServiceImpl.java @@ -19,6 +19,7 @@ import com.cool.store.http.EventCenterHttpRequest; import com.cool.store.mapper.HyPartnerInterviewMapper; import com.cool.store.mapper.HyPartnerInterviewPlanMapper; import com.cool.store.request.CreateAppointmentReq; +import com.cool.store.request.FinishInterviewReq; import com.cool.store.service.ExhibitionService; import com.cool.store.service.InterviewService; import com.cool.store.service.WechatMiniAppService; @@ -141,6 +142,7 @@ public class ExhibitionServiceImpl implements ExhibitionService { //3. 修改线索参加会销状态 HyPartnerExhibitionDO updatePartnerExhibition = new HyPartnerExhibitionDO(); updatePartnerExhibition.setId(hyPartnerExhibitionDO.getId()); + updatePartnerExhibition.setInterviewPlanId(interviewPlan.getId()); updatePartnerExhibition.setParticipationStatus(ExhibitionPartnerStatus.INTERVIEWING.getCode()); hyPartnerExhibitionDAO.updateByPrimaryKeySelective(updatePartnerExhibition); @@ -164,6 +166,15 @@ public class ExhibitionServiceImpl implements ExhibitionService { return enterInterviewVO; } + @Override + @Transactional + public void finishInterview(FinishInterviewReq request) throws ApiException { + //1. 正常的结束面试逻辑 + interviewService.finishInterview(request); + //2. 更新线索参加会销状态 + hyPartnerExhibitionDAO.updateStatusAfterFinishInterview(request.getInterviewPlanId()); + } + @Override @Transactional(rollbackFor = Exception.class) public Boolean addExhibitionGroup(ExhibitionGroupDTO exhibitionGroupDTO, LoginUserInfo userInfo) throws ApiException { diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/ExhibitionController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/ExhibitionController.java index 44aa3c375..bfaf8a83b 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/ExhibitionController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/ExhibitionController.java @@ -7,6 +7,7 @@ import com.cool.store.dto.exhibition.ExhibitionEnterInterviewDTO; import com.cool.store.dto.exhibition.ExhibitionGroupDTO; import com.cool.store.dto.exhibition.SignUpExhibitionDTO; import com.cool.store.exception.ApiException; +import com.cool.store.request.FinishInterviewReq; import com.cool.store.response.ResponseResult; import com.cool.store.service.ExhibitionService; import com.cool.store.vo.EnterInterviewVO; @@ -88,6 +89,12 @@ public class ExhibitionController { return ResponseResult.success(exhibitionService.startExhibitionInterview(dto)); } + @PostMapping("/finish/interview") + @ApiOperation("结束面试") + public ResponseResult finishInterview(@RequestBody FinishInterviewReq request) throws ApiException { + exhibitionService.finishInterview(request); + return ResponseResult.success(); + } @GetMapping(value = "/lineListByExhibitionId") @ApiOperation("会销报名列表")