From 4d3fede6596d32b5dbbb1ef102e11bde30fe4b97 Mon Sep 17 00:00:00 2001 From: "feng.li" Date: Tue, 9 Jan 2024 11:35:03 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=A2=E8=AF=95=E6=8F=90=E7=A4=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=8E=BB=E9=99=A4=E6=8B=9B=E5=95=86=E7=BB=8F=E7=90=86?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9D=A2=E8=AF=95=E6=97=B6=E9=97=B4=E6=93=8D?= =?UTF-8?q?=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/service/impl/CommonServiceImpl.java | 39 ++++++------------- 1 file changed, 11 insertions(+), 28 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonServiceImpl.java index 9ffd7b6fa..f70789895 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonServiceImpl.java @@ -57,6 +57,7 @@ public class CommonServiceImpl implements CommonService { //获取面试计划 id 信息 HyPartnerInterviewPlanDO interviewPlanByLineId = partnerInterviewPlanMapper.getInterviewPlanByLineId(Long.parseLong(request.getPartnerLineId())); HyPartnerLineInfoDO hyPartnerLineInfoDO = lineInfoList.get(0); + String partnerId = hyPartnerLineInfoDO.getPartnerId(); String workflowStage = hyPartnerLineInfoDO.getWorkflowStage(); String workflowStatus = hyPartnerLineInfoDO.getWorkflowStatus(); //会销面试信息 @@ -68,47 +69,29 @@ public class CommonServiceImpl implements CommonService { partnerExhibitionDO = partnerExhibitionDAO.querySelective(partnerExhibitionDO); //是否是会销面试 + //1. 非会销面试 if (partnerExhibitionDO == null || partnerExhibitionDO.getParticipationStatus().compareTo(ExhibitionPartnerStatus.INTERVIEWING.getCode()) < 0) { - return getCommonTipsFix(Long.parseLong(request.getPartnerLineId()), workflowStage, workflowStatus); + return getCommonTipsFix(Long.parseLong(request.getPartnerLineId()), partnerId, workflowStage, workflowStatus); } else { + //2. 会销面试 return getExhibitionTipsInfoFix(Long.parseLong(request.getPartnerLineId())); } } - private String getCommonTipsFix(Long partnerLineId, String workflowStage, String workflowStatus) { + private String getCommonTipsFix(Long partnerLineId, String partnerId, String workflowStage, String workflowStatus) { //1. 查询该线索需要展示的操作类型相应的操作记录 List operationLogs = hyPartnerTaskInfoLogMapper.getLastTipsLog(partnerLineId); HyPartnerTaskInfoLogDO lastLog; if (!operationLogs.isEmpty()) { - lastLog = operationLogs.get(0); + lastLog = operationLogs.stream().filter(operationLog -> + //修改面试时间的 log 只要线索操作的 + (OperateTypeEnum.MODIFY_INTERVIEW_TIME.getCode().equals(operationLog.getOperateType()) + && operationLog.getOperateUserId().equals(partnerId)) + || !operationLog.getOperateType().equals(OperateTypeEnum.MODIFY_INTERVIEW_TIME.getCode()) + ).findFirst().orElse(new HyPartnerTaskInfoLogDO()); } else { return null; } - //以下两种情况下最后一条操作记录时修改面试时间却不展示修改面试时间的 tips - //1.1 加盟商提交预约时间后,客户经理修改面试时间但未同意,展示加盟商预约面试时间的 tips - if (lastLog.getOperateType().equals(OperateTypeEnum.MODIFY_INTERVIEW_TIME.getCode())) { - if (WorkflowStageEnum.RESERVATION.getCode().equals(workflowStage) - && WorkflowStatusEnum.RESERVATION_1.getCode().equals(workflowStatus)) { - //取出线索提交预约时间的操作记录 - Optional logDO = operationLogs.stream() - .filter(log -> log.getOperateType().equals(OperateTypeEnum.INTERVIEW_APPOINTMENT.getCode())) - .findFirst(); - return logDO - .map(hyPartnerTaskInfoLogDO -> getInterviewTipsFix(hyPartnerTaskInfoLogDO, "通过合伙人小程序于", "发起预约面试申请")) - .orElse(null); - } - //1.2 客户经理帮约后,再修改面试时间,展示客户经理主动预约面试的 tips - if (WorkflowStageEnum.INTERVIEW.getCode().equals(workflowStage) - && WorkflowStatusEnum.INTERVIEW_2.getCode().equals(workflowStatus)) { - Optional logDO = operationLogs.stream() - .filter(log -> !log.getOperateType().equals(OperateTypeEnum.MODIFY_INTERVIEW_TIME.getCode())) - .findFirst(); - if (logDO.isPresent() - && logDO.get().getOperateType().equals(OperateTypeEnum.INTERVIEWER_BOOK_INTERVIEW.getCode())) { - return getInterviewTipsFix(logDO.get(), "通过操作后台于", "主动为客户预约面试时间"); - } - } - } String interviewTips = ""; //2. 判断类型并返回对应的tips