|
|
|
|
@@ -2,14 +2,13 @@ package com.cool.store.service.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.cool.store.dao.HyPartnerExhibitionDAO;
|
|
|
|
|
import com.cool.store.dto.log.LogFieldDTO;
|
|
|
|
|
import com.cool.store.entity.HyPartnerCertificationInfoDO;
|
|
|
|
|
import com.cool.store.entity.HyPartnerExhibitionDO;
|
|
|
|
|
import com.cool.store.entity.HyPartnerLineInfoDO;
|
|
|
|
|
import com.cool.store.entity.HyPartnerTaskInfoLogDO;
|
|
|
|
|
import com.cool.store.enums.OperateLogFieldValueEnum;
|
|
|
|
|
import com.cool.store.enums.OperateTypeEnum;
|
|
|
|
|
import com.cool.store.enums.WorkflowStageEnum;
|
|
|
|
|
import com.cool.store.enums.WorkflowStatusEnum;
|
|
|
|
|
import com.cool.store.enums.*;
|
|
|
|
|
import com.cool.store.exception.ApiException;
|
|
|
|
|
import com.cool.store.mapper.HyPartnerCertificationInfoMapper;
|
|
|
|
|
import com.cool.store.mapper.HyPartnerLineInfoMapper;
|
|
|
|
|
@@ -45,6 +44,9 @@ public class CommonServiceImpl implements CommonService {
|
|
|
|
|
@Autowired
|
|
|
|
|
private HyPartnerCertificationInfoMapper hyPartnerCertificationInfoMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private HyPartnerExhibitionDAO partnerExhibitionDAO;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String getTipsInfo(GetTipsInfoReq request) throws ApiException {
|
|
|
|
|
List<HyPartnerLineInfoDO> lineInfoList = hyPartnerLineInfoMapper.getHyPartnerLineInfoListByIds(Arrays.asList(Long.parseLong(request.getPartnerLineId())));
|
|
|
|
|
@@ -55,53 +57,98 @@ public class CommonServiceImpl implements CommonService {
|
|
|
|
|
String workflowStage = hyPartnerLineInfoDO.getWorkflowStage();
|
|
|
|
|
String workflowStatus = hyPartnerLineInfoDO.getWorkflowStatus();
|
|
|
|
|
Long partnerLineId = hyPartnerLineInfoDO.getId();
|
|
|
|
|
if ((workflowStage.equals(WorkflowStageEnum.RESERVATION.getCode()) && workflowStatus.equals(WorkflowStatusEnum.RESERVATION_1.getCode()))||
|
|
|
|
|
(workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_2.getCode()))) {
|
|
|
|
|
String interviewAppointmentTips = getInterviewTips(partnerLineId, OperateTypeEnum.INTERVIEW_APPOINTMENT, "提交面试预约时间");
|
|
|
|
|
if (StringUtils.isEmpty(interviewAppointmentTips)) {
|
|
|
|
|
interviewAppointmentTips = getInterviewTips(partnerLineId, OperateTypeEnum.INTERVIEWER_BOOK_INTERVIEW, "提交面试预约时间");
|
|
|
|
|
//会销面试信息
|
|
|
|
|
HyPartnerExhibitionDO partnerExhibitionDO = new HyPartnerExhibitionDO();
|
|
|
|
|
partnerExhibitionDO.setPartnerLineId(hyPartnerLineInfoDO.getId());
|
|
|
|
|
partnerExhibitionDO.setDeleted(Boolean.FALSE);
|
|
|
|
|
partnerExhibitionDO.setParticipationStatus(ExhibitionPartnerStatus.INTERVIEWING.getCode());
|
|
|
|
|
partnerExhibitionDO = partnerExhibitionDAO.querySelective(partnerExhibitionDO);
|
|
|
|
|
|
|
|
|
|
//是否是会销面试
|
|
|
|
|
if (partnerExhibitionDO == null || partnerExhibitionDO.getParticipationStatus().compareTo(ExhibitionPartnerStatus.INTERVIEWING.getCode()) < 0) {
|
|
|
|
|
return getCommonTipsInfo(workflowStage, workflowStatus, partnerLineId);
|
|
|
|
|
} else {
|
|
|
|
|
return getExhibitionTipsInfo(workflowStage, workflowStatus, partnerLineId);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//普通线索
|
|
|
|
|
private String getCommonTipsInfo(String workflowStage, String workflowStatus, Long partnerLineId) {
|
|
|
|
|
String interviewTips = "";
|
|
|
|
|
//1. 预约面试待审核
|
|
|
|
|
if ((workflowStage.equals(WorkflowStageEnum.RESERVATION.getCode()) && workflowStatus.equals(WorkflowStatusEnum.RESERVATION_1.getCode()))) {
|
|
|
|
|
interviewTips = getInterviewTips(partnerLineId, OperateTypeEnum.MODIFY_INTERVIEW_TIME, "于", "修改面试预约时间");
|
|
|
|
|
if (StringUtils.isEmpty(interviewTips)) {
|
|
|
|
|
interviewTips = getInterviewTips(partnerLineId, OperateTypeEnum.INTERVIEW_APPOINTMENT, "通过合伙人小程序于", "发起预约面试申请");
|
|
|
|
|
}
|
|
|
|
|
return interviewAppointmentTips;
|
|
|
|
|
//2. 待面试
|
|
|
|
|
} else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_2.getCode())) {
|
|
|
|
|
interviewTips = getInterviewTips(partnerLineId, OperateTypeEnum.INTERVIEW_APPOINTMENT_AGREEMENT, "于", "同意了客户的预约面试申请");
|
|
|
|
|
//3. 面试已开始
|
|
|
|
|
} else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_3.getCode())) {
|
|
|
|
|
String tips = getInterviewTips(partnerLineId, OperateTypeEnum.MODIFY_INTERVIEW_TIME, "");
|
|
|
|
|
if (StringUtils.isNotEmpty(tips)) {
|
|
|
|
|
return tips + ("修改面试预约时间");
|
|
|
|
|
} else {
|
|
|
|
|
String interviewAppointmentTips = getInterviewTips(partnerLineId, OperateTypeEnum.INTERVIEW_APPOINTMENT, "提交面试预约时间");
|
|
|
|
|
if (StringUtils.isEmpty(interviewAppointmentTips)) {
|
|
|
|
|
interviewAppointmentTips = getInterviewTips(partnerLineId, OperateTypeEnum.INTERVIEWER_BOOK_INTERVIEW, "提交面试预约时间");
|
|
|
|
|
}
|
|
|
|
|
return interviewAppointmentTips;
|
|
|
|
|
}
|
|
|
|
|
interviewTips = getInterviewTips(partnerLineId, OperateTypeEnum.AUTO_OPEN_INTERVIEW, "面试房间于", "正式开放");
|
|
|
|
|
//4. 面试已结束
|
|
|
|
|
} else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_4.getCode())) {
|
|
|
|
|
return getInterviewTips(partnerLineId, OperateTypeEnum.FINISH_INTERVIEW, "结束面试");
|
|
|
|
|
}else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_5.getCode())) {
|
|
|
|
|
return getInterviewTips(partnerLineId, OperateTypeEnum.CREATE_QUALIFYVERIFY, "发起加盟商资质审核");
|
|
|
|
|
}else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_6.getCode())) {
|
|
|
|
|
interviewTips = getInterviewTips(partnerLineId, OperateTypeEnum.FINISH_INTERVIEW, "于", "结束面试");
|
|
|
|
|
//5. 发起资质审批
|
|
|
|
|
} else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_5.getCode())) {
|
|
|
|
|
interviewTips = getInterviewTips(partnerLineId, OperateTypeEnum.CREATE_QUALIFYVERIFY, "于","发起加盟商资质审核");
|
|
|
|
|
//6. 资质审批通过
|
|
|
|
|
} else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_6.getCode())) {
|
|
|
|
|
HyPartnerCertificationInfoDO partnerCertificationInfoDO = hyPartnerCertificationInfoMapper.selectByPartnerLineId(partnerLineId);
|
|
|
|
|
String intentionContractNo = null;
|
|
|
|
|
if(partnerCertificationInfoDO != null){
|
|
|
|
|
intentionContractNo = partnerCertificationInfoDO.getIntentionContractNo();
|
|
|
|
|
}
|
|
|
|
|
return getVerifyResultTips(partnerLineId, OperateTypeEnum.QUALIFYVERIFY_PASS, "审核通过 | "+intentionContractNo);
|
|
|
|
|
interviewTips = getVerifyResultTips(partnerLineId, OperateTypeEnum.QUALIFYVERIFY_PASS, "审核通过 | " + intentionContractNo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
return interviewTips;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String getInterviewTips(Long partnerLineId, OperateTypeEnum operateTypeEnum, String action) {
|
|
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
|
|
//会销面试线索,通过会销进行面试的线索已开始就是面试已开始状态
|
|
|
|
|
private String getExhibitionTipsInfo(String workflowStage, String workflowStatus, Long partnerLineId) {
|
|
|
|
|
String interviewTips = "";
|
|
|
|
|
//1. 面试已开始
|
|
|
|
|
if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_3.getCode())) {
|
|
|
|
|
interviewTips = getInterviewTips(partnerLineId, OperateTypeEnum.INTERVIEWER_BOOK_INTERVIEW, "通过展会于", "发起面试");
|
|
|
|
|
//2. 面试已结束
|
|
|
|
|
} else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_4.getCode())) {
|
|
|
|
|
interviewTips = getInterviewTips(partnerLineId, OperateTypeEnum.FINISH_INTERVIEW, "通过展会于", "结束面试");
|
|
|
|
|
//3. 发起资质审批
|
|
|
|
|
} else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_5.getCode())) {
|
|
|
|
|
// TODO 判断是否是通过会销发起的
|
|
|
|
|
interviewTips = getInterviewTips(partnerLineId, OperateTypeEnum.EXHIBITION_CREATE_QUALIFYVERIFY, "通过展会于", "发起加盟商资质审核");
|
|
|
|
|
if (interviewTips == null) {
|
|
|
|
|
getInterviewTips(partnerLineId, OperateTypeEnum.CREATE_QUALIFYVERIFY, "于", "发起加盟商资质审核");
|
|
|
|
|
}
|
|
|
|
|
//4. 资质审批通过
|
|
|
|
|
} else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_6.getCode())) {
|
|
|
|
|
HyPartnerCertificationInfoDO partnerCertificationInfoDO = hyPartnerCertificationInfoMapper.selectByPartnerLineId(partnerLineId);
|
|
|
|
|
String intentionContractNo = null;
|
|
|
|
|
if(partnerCertificationInfoDO != null){
|
|
|
|
|
intentionContractNo = partnerCertificationInfoDO.getIntentionContractNo();
|
|
|
|
|
}
|
|
|
|
|
interviewTips = getVerifyResultTips(partnerLineId, OperateTypeEnum.QUALIFYVERIFY_PASS, "审核通过 | "+intentionContractNo);
|
|
|
|
|
}
|
|
|
|
|
return interviewTips;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String getInterviewTips(Long partnerLineId, OperateTypeEnum operateTypeEnum, String middleInfo, String action) {
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
sb.append(StringUtil.REPLACE_0)
|
|
|
|
|
.append(" ")
|
|
|
|
|
.append(StringUtil.REPLACE_1)
|
|
|
|
|
.append(" 于 ").append(StringUtil.REPLACE_2).append(" ").append(action);
|
|
|
|
|
.append(" ")
|
|
|
|
|
.append(middleInfo)
|
|
|
|
|
.append(" ")
|
|
|
|
|
.append(StringUtil.REPLACE_2)
|
|
|
|
|
.append(" ").append(action);
|
|
|
|
|
String content = sb.toString();
|
|
|
|
|
return getSuitableTipsInfo(content, partnerLineId,
|
|
|
|
|
operateTypeEnum,
|
|
|
|
|
OperateLogFieldValueEnum.OPERATE_USER_NAME.getCode(),
|
|
|
|
|
OperateLogFieldValueEnum.MOBILE.getCode(),
|
|
|
|
|
OperateLogFieldValueEnum.OPERATE_TIME.getCode());
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String getVerifyResultTips(Long partnerLineId, OperateTypeEnum operateTypeEnum, String action) {
|
|
|
|
|
@@ -132,7 +179,6 @@ public class CommonServiceImpl implements CommonService {
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
//异常代表不是时间格式,不做处理
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
params.add(value);
|
|
|
|
|
}
|
|
|
|
|
|