From db8d682598bf9fe0f2da80ba3b5638e70716029b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Thu, 29 Jun 2023 14:51:26 +0800 Subject: [PATCH 1/8] RESERVATION_8 --- .../src/main/java/com/cool/store/enums/WorkflowStageEnum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowStageEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowStageEnum.java index 9e2ba4d54..8657255a8 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowStageEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/WorkflowStageEnum.java @@ -36,7 +36,7 @@ public enum WorkflowStageEnum { public static final HashMap getWorkflowStageMap(){ HashMap result = new HashMap<>(); result.put(INTENT.getCode(),WorkflowStatusEnum.INTENT_3.getCode()); - result.put(RESERVATION.getCode(),WorkflowStatusEnum.RESERVATION_8.getCode()); + result.put(RESERVATION.getCode(),WorkflowStatusEnum.RESERVATION_7.getCode()); result.put(INTERVIEW.getCode(),WorkflowStatusEnum.INTERVIEW_7.getCode()); return result; } From 7bf743305f433be6a3c0299b045f2924240bf3eb Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Thu, 29 Jun 2023 14:58:34 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cool/store/controller/OpenAreaController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java index cd2b641af..6a3d2c16e 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java @@ -53,7 +53,7 @@ public class OpenAreaController { }) public ResponseResult> getOpenAreaList(@RequestParam(value = "keyword",required = false)String keyword, @RequestParam(value = "applyFlag",required = false)Boolean applyFlag){ - List openAreaTreeVOS = openAreaService.searchOpenArea(keyword,applyFlag,Boolean.FALSE); + List openAreaTreeVOS = openAreaService.queryAllOpenAreaByKeyword(keyword,applyFlag,Boolean.FALSE); return ResponseResult.success(openAreaTreeVOS); } From 00f426392a0864550b1aceb56f2284fb67e67e36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Thu, 29 Jun 2023 15:18:00 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E6=98=AF=E5=85=AC=E6=B5=B7=E7=BA=BF?= =?UTF-8?q?=E7=B4=A2=20=E6=89=8D=E4=BC=9A=E4=BF=AE=E6=94=B9=E7=BA=BF?= =?UTF-8?q?=E7=B4=A2=E7=8A=B6=E6=80=81=E4=B8=8E=E6=8B=9B=E5=95=86=E7=BB=8F?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/HyPartnerIntentInfoServiceImpl.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java index 392e151ee..47da93a8d 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java @@ -184,13 +184,16 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO); // 更新线索状态和招商经理 HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(request.getPartnerLineId()); - Boolean flag = hyPartnerLineInfoService.assignFollowUser(request.getPartnerId(), request.getWantShopArea(), request.getAcceptAdjustType()); - hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode()); - if (flag){ - String investmentManager = hyPartnerLineInfoService.getAssignFollowUser(request.getPartnerId(), "intent"); - hyPartnerLineInfoDO.setInvestmentManager(investmentManager); + //是公海线索 才会修改线索状态与招商经理 + if (LineStatusEnum.PUBLIC_SEAS.getCode().equals(hyPartnerLineInfoDO.getLineStatus())){ + Boolean flag = hyPartnerLineInfoService.assignFollowUser(request.getPartnerId(), request.getWantShopArea(), request.getAcceptAdjustType()); + hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode()); + if (flag){ + String investmentManager = hyPartnerLineInfoService.getAssignFollowUser(request.getPartnerId(), "intent"); + hyPartnerLineInfoDO.setInvestmentManager(investmentManager); + } + hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); } - hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); } if (StringUtil.isNotBlank(request.getWantShopArea())){ HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(request.getWantShopArea())); From 8d6d0001c46c2b19865c7259d97fa0f0c04ce1d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BF=9E=E6=89=AC?= Date: Thu, 29 Jun 2023 15:25:28 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E9=A2=84=E7=BA=A6=E9=9D=A2=E8=AF=95?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/cool/store/job/JobHandler.java | 12 ++++++++++++ .../store/service/HyPartnerInterviewPlanService.java | 1 + .../impl/HyPartnerInterviewPlanServiceImpl.java | 10 ++++++++++ .../store/service/impl/InterviewServiceImpl.java | 2 ++ 4 files changed, 25 insertions(+) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/job/JobHandler.java b/coolstore-partner-service/src/main/java/com/cool/store/job/JobHandler.java index a62df02c9..1780a81e2 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/job/JobHandler.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/job/JobHandler.java @@ -76,5 +76,17 @@ public class JobHandler { } } + @XxlJob("approvalReminder") + public void approvalReminder(){ + try { + log.info("审批即将超时提醒开始"); + hyPartnerInterviewPlanService.approvalReminder(); + log.info("审批即将超时提醒结束"); + XxlJobHelper.handleSuccess(); + }catch (Exception e){ + log.error("审批即将超时提醒定时任务异常",e); + XxlJobHelper.log("审批即将超时提醒定时任务异常"+e.getMessage()); + } + } } 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 c4351a7f1..6d79a8ca1 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 @@ -62,4 +62,5 @@ public interface HyPartnerInterviewPlanService { * @return */ void updateAbsentInterview() throws ApiException; + void approvalReminder() 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 8caac2ed0..31c0d1b37 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 @@ -221,6 +221,16 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan handleOverTimeInterview(interviewBaseInfoList,"超时未面试"); } + @Override + public void approvalReminder() throws ApiException { + //查询即将超时但未审批的面试 + HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO(); + hyPartnerInterviewPlanDO.setDeleted(Boolean.FALSE); + hyPartnerInterviewPlanDO.setApplicationApproved(0); +// hyPartnerInterviewPlanDO.setStartTime(); + List hyPartnerInterviewPlanDOS = hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO); + } + /** * 统一处理面试超时情况,包括超时未预约和超时未面试 * @param interviewBaseInfoList diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java index 0670591fe..0724c00dd 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java @@ -587,6 +587,8 @@ public class InterviewServiceImpl implements InterviewService { //根据加盟商用户ID查询面试官ID HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO(); hyPartnerInterviewPlanDO.setPartnerId(partnerId); + hyPartnerInterviewPlanDO.setPartnerLineId(Long.valueOf(lineId)); + hyPartnerInterviewPlanDO.setDeleted(false); List hyPartnerInterviewPlanDOS = hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO); //如果查询结果为空,则去线索中获取招商经理,面试官只有两个阶段,一个是在第一次申请时不存在面试安排直接取招商经理,第二个时面试信息中可修改面试官信息,这个时候以面试信息中为准 if (CollectionUtils.isEmpty(hyPartnerInterviewPlanDOS)) { From 2f27043854c7581e2fa18bdd1fe5e6f293b93634 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BF=9E=E6=89=AC?= Date: Thu, 29 Jun 2023 15:34:05 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E9=9D=A2=E8=AF=95=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E4=B8=AD=E5=A2=9E=E5=8A=A0=E7=BA=BF=E7=B4=A2=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/HyPartnerInterviewPlanMapper.xml | 1 + .../src/main/java/com/cool/store/vo/interview/InterviewVO.java | 3 +++ 2 files changed, 4 insertions(+) diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewPlanMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewPlanMapper.xml index 62a911d94..5316b4a10 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewPlanMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewPlanMapper.xml @@ -386,6 +386,7 @@ hpll.id as partnerLineId, hpci.qualify_verify_id as qualifyVerifyId, hpci.intention_contract_no as intentionContractNo, + hpll.workflow_stage as workflowStage, hpi.pass_time as passTime, hpi.pass_reason as passReason, hpi.recorder as recorderId, diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewVO.java index 71b479450..3ac58a5eb 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewVO.java @@ -25,6 +25,9 @@ public class InterviewVO { @ApiModelProperty(value = "线索id", required = true) private Long partnerLineId; + @ApiModelProperty(value = "线索状态") + private Long workflowStage; + @ApiModelProperty("资质审核流程id") private String qualifyVerifyId; From ecbe5a8b87f2c4784f721f6ef23e07dc0479d516 Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Thu, 29 Jun 2023 15:37:00 +0800 Subject: [PATCH 6/8] fix --- .../java/com/cool/store/vo/OpenAreaTreeVO.java | 16 ++++++++-------- .../store/controller/OpenAreaController.java | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAreaTreeVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAreaTreeVO.java index b0ffe2fc3..484a13c96 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAreaTreeVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAreaTreeVO.java @@ -54,7 +54,7 @@ public class OpenAreaTreeVO { public static List convertTree(List allOpenArea, String keyword, Boolean applyFlag){ long startTime = System.currentTimeMillis(); List firstArea = allOpenArea.stream().filter(o -> Objects.isNull(o.getParentId())).collect(Collectors.toList()); - Map> openAreaParentMap = allOpenArea.stream().filter(o->Objects.nonNull(o.getParentId())).collect(Collectors.groupingBy(k -> k.getParentId())); + Map> openAreaParentMap = allOpenArea.stream().distinct().filter(o->Objects.nonNull(o.getParentId())).collect(Collectors.groupingBy(k -> k.getParentId())); List allTree = new ArrayList<>(); for (HyOpenAreaInfoDO openAreaInfo : firstArea) { OpenAreaTreeVO node = copyProperties(openAreaInfo); @@ -68,23 +68,23 @@ public class OpenAreaTreeVO { && (Objects.isNull(applyFlag) || AreaStatusEnum.OPEN.getCode().equals(o.getAreaStatus()) || AreaStatusEnum.OPEN.getCode().equals(o.getAreaStatus()))) .collect(Collectors.toList()); Map openAreaMap = allOpenArea.stream().collect(Collectors.toMap(k -> k.getId(), Function.identity())); - List list = new ArrayList<>(); + List filterAndParentList = new ArrayList<>(); //向上处理节点 for (HyOpenAreaInfoDO openAreaInfo : filterList) { - list.add(openAreaInfo); + filterAndParentList.add(openAreaInfo); while (Objects.nonNull(openAreaInfo) && Objects.nonNull(openAreaInfo.getParentId())){ openAreaInfo = openAreaMap.get(openAreaInfo.getParentId()); - if(Objects.isNull(openAreaInfo)){ - continue; + if(Objects.nonNull(openAreaInfo) && !filterAndParentList.contains(openAreaInfo)){ + filterAndParentList.add(openAreaInfo); } - list.add(openAreaInfo); } } log.info("2#耗时:{}", System.currentTimeMillis() - startTime); List resultList = new ArrayList<>(); - List filterFirstArea = list.stream().filter(o -> Objects.isNull(o.getParentId())).distinct().collect(Collectors.toList()); - Map> filterOpenAreaParentMap = list.stream().filter(Objects::nonNull).filter(o->Objects.nonNull(o.getParentId())).collect(Collectors.groupingBy(k -> k.getParentId())); + List filterFirstArea = filterAndParentList.stream().filter(o -> Objects.isNull(o.getParentId())).collect(Collectors.toList()); + Map> filterOpenAreaParentMap = filterAndParentList.stream().filter(Objects::nonNull).filter(o->Objects.nonNull(o.getParentId())).collect(Collectors.groupingBy(k -> k.getParentId())); for (HyOpenAreaInfoDO openAreaInfo : filterFirstArea) { + Long id = openAreaInfo.getId(); OpenAreaTreeVO node = copyProperties(openAreaInfo); List childList = dealChild(openAreaInfo, filterOpenAreaParentMap); if(CollectionUtils.isEmpty(childList)){ diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java index 6a3d2c16e..cd2b641af 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java @@ -53,7 +53,7 @@ public class OpenAreaController { }) public ResponseResult> getOpenAreaList(@RequestParam(value = "keyword",required = false)String keyword, @RequestParam(value = "applyFlag",required = false)Boolean applyFlag){ - List openAreaTreeVOS = openAreaService.queryAllOpenAreaByKeyword(keyword,applyFlag,Boolean.FALSE); + List openAreaTreeVOS = openAreaService.searchOpenArea(keyword,applyFlag,Boolean.FALSE); return ResponseResult.success(openAreaTreeVOS); } From 23655f249b5bbe0856c4bcbc800849f7ed8626e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BF=9E=E6=89=AC?= Date: Thu, 29 Jun 2023 15:37:51 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E6=98=BE=E7=A4=BA=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/service/impl/CommonServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 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 9851eb0f8..83b82e4f7 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 @@ -72,14 +72,14 @@ public class CommonServiceImpl implements CommonService { if(partnerCertificationInfoDO != null){ intentionContractNo = partnerCertificationInfoDO.getIntentionContractNo(); } - return getInterviewTips(partnerLineId, OperateTypeEnum.FINISH_INTERVIEW, "发起加盟商资质审核|"+intentionContractNo); + return getInterviewTips(partnerLineId, OperateTypeEnum.FINISH_INTERVIEW, "发起加盟商资质审核 | "+intentionContractNo); }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 getInterviewTips(partnerLineId, OperateTypeEnum.FINISH_INTERVIEW, "审核通过|"+intentionContractNo); + return getInterviewTips(partnerLineId, OperateTypeEnum.FINISH_INTERVIEW, "审核通过 | "+intentionContractNo); } return null; From 07a19f12b3215cb3f2d7322c4e34e8b3eeb4f19a Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Thu, 29 Jun 2023 15:40:41 +0800 Subject: [PATCH 8/8] fix --- .../src/main/java/com/cool/store/vo/OpenAreaTreeVO.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAreaTreeVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAreaTreeVO.java index 484a13c96..281d0794a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAreaTreeVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAreaTreeVO.java @@ -62,6 +62,10 @@ public class OpenAreaTreeVO { node.setChildNode(childList); allTree.add(node); } + //不需要过滤 直接返回 + if(StringUtils.isBlank(keyword) && (Objects.isNull(applyFlag) || !applyFlag)){ + return allTree; + } log.info("1#耗时:{}", System.currentTimeMillis() - startTime); Map> childMap = allTree.stream().collect(Collectors.toMap(k -> k.getId(), v -> v.getChildNode())); List filterList = allOpenArea.stream().filter(o -> (StringUtils.isBlank(keyword) || o.getAreaPath().contains(keyword))