修改通用信息方法

This commit is contained in:
feng.li
2023-12-08 18:25:32 +08:00
parent c2cb40bb62
commit a1b33f2ed8
6 changed files with 109 additions and 39 deletions

View File

@@ -21,6 +21,8 @@ public enum OperateTypeEnum {
CLOSE_FOLLOW("close_follow", "结束跟进", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REJECT_PUBLIC_REASON, REJECT_REAL_REASON, CERTIFY_FILE)),
TRANSFER_INVESTMENT_MANAGER("transfer_investment_manager", "转让招商经理", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_INVESTMENT_MANAGER_USERNAME, BEFORE_INVESTMENT_MANAGER_MOBILE, AFTER_INVESTMENT_MANAGER_USERNAME, AFTER_INVESTMENT_MANAGER_MOBILE)),
INTERVIEW_APPOINTMENT("interview_appointment", "预约面试时间", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
INTERVIEW_APPOINTMENT_AGREEMENT("interview_appointment_agreement", "同意面试预约申请", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
AUTO_OPEN_INTERVIEW("auto_open_interview", "自动打开面试房间", Arrays.asList(OPERATE_TIME)),
INTERVIEWER_BOOK_INTERVIEW("interviewer_book_interview", "招商经理主动预约面试时间", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
MODIFY_INTERVIEW_TIME("modify_interview_time", "修改面试时间", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_INTERVIEW_TIME, AFTER_INTERVIEW_TIME)),
ENTRUST_OTHERS("entrust_others", "委托他人", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, BEFORE_INTERVIEWR_NAME, AFTER_INTERVIEWR_NAME, BEFORE_INTERVIEWR_MOBILE, AFTER_INTERVIEWR_MOBILE)),
@@ -31,6 +33,7 @@ public enum OperateTypeEnum {
REJECT_INTERVIEW("reject_interview", "合作资格面试-拒绝并结束跟进", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REJECT_PUBLIC_REASON,REJECT_REAL_REASON, CERTIFY_FILE)),
CREATE_QUALIFYVERIFY("create_qualifyverify", "合作资格面试-创建资格审核", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME,SUMMARY,QUALI_VERIFY_CONTENT)),
EXHIBITION_CREATE_QUALIFYVERIFY("exhibition_create_qualifyverify", "会销资格面试-创建资格审核", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME,SUMMARY,QUALI_VERIFY_CONTENT)),
QUALIFYVERIFY_PASS("qualifyverify_pass", "合作资格面试-审核通过", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME,SUMMARY,QUALI_VERIFY_CONTENT)),
QUALIFYVERIFY_REJECT("qualifyverify_reject", "合作资格面试-审核拒绝", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME,SUMMARY,QUALI_VERIFY_CONTENT)),

View File

@@ -1,12 +1,5 @@
package com.cool.store.enums;
import org.apache.commons.lang3.StringUtils;
import java.util.Arrays;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @Author suzhuhong
* @Date 2023/6/9 16:35

View File

@@ -1,12 +1,14 @@
package com.cool.store.mapper;
import com.cool.store.entity.HyPartnerCertificationInfoDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @author zhangchenbiao
* @date 2023-05-29 03:51
*/
@Mapper
public interface HyPartnerCertificationInfoMapper {
/**
*

View File

@@ -2,6 +2,7 @@ package com.cool.store.mapper;
import com.cool.store.entity.HyPartnerTaskInfoLogDO;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -10,6 +11,7 @@ import java.util.List;
* @author zhangchenbiao
* @date 2023-05-29 03:53
*/
@Mapper
public interface HyPartnerTaskInfoLogMapper {
/**
*

View File

@@ -0,0 +1,24 @@
package com.cool.store.job;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* @author Fun Li 2023/12/8 13:50
* @version 1.0
*/
@Slf4j
@Component
public class ExhibitionJob {
@XxlJob("finishExhibition")
public void syncUserSourceJob() {
XxlJobHelper.log("-------------------------------自动结束会销任务开始-------------------------------");
XxlJobHelper.log("-------------------------------自动结束会销任务结束-------------------------------");
XxlJobHelper.handleSuccess();
}
}

View File

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