From f77163b57dc5b4285478dedf22dc66d685f4d593 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 13 Apr 2021 10:58:10 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=8C=BA=E5=88=92=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E6=A1=86=E6=8E=A5=E5=8F=A3V2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/DataSourceConstant.java | 1 + .../data-aggregator-server/pom.xml | 28 +++++++++++++++++ .../dao/opercrm/CustomerRelationDao.java | 16 ++++++++++ .../govorg/impl/GovOrgServiceImpl.java | 19 ++++++++---- .../service/opercrm/CustomerRelation.java | 13 ++++++++ .../opercrm/impl/CustomerRelationImpl.java | 30 +++++++++++++++++++ .../src/main/resources/bootstrap.yml | 5 ++++ .../mapper/opercrm/CustomerRelationDao.xml | 16 ++++++++++ 8 files changed, 123 insertions(+), 5 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java index 2dee5bb941..07604c401d 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java @@ -25,4 +25,5 @@ public interface DataSourceConstant { String EPMET_COMMON_SERVICE="commonservice"; + String OPER_CRM="opercrm"; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/pom.xml b/epmet-module/data-aggregator/data-aggregator-server/pom.xml index a0fcbb3f6d..7b74f08a23 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/pom.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/pom.xml @@ -150,6 +150,13 @@ epmet_common_service_user EpmEt-db-UsEr + + + + + epmet_oper_crm_user + EpmEt-db-UsEr + 0 192.168.1.130 @@ -224,6 +231,13 @@ epmet_common_service_user EpmEt-db-UsEr + + + + + epmet_oper_crm_user + EpmEt-db-UsEr + 0 192.168.1.130 @@ -298,6 +312,13 @@ epmet elink@833066 + + + + + epmet + elink@833066 + 0 r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com @@ -372,6 +393,13 @@ epmet_common_service_user EpmEt-db-UsEr + + + + + epmet_oper_crm_user + EpmEt-db-UsEr + 0 r-m5ez3n1j0qc3ykq2ut.redis.rds.aliyuncs.com diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java new file mode 100644 index 0000000000..ed7aef852a --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java @@ -0,0 +1,16 @@ +package com.epmet.dataaggre.dao.opercrm; + +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/13 10:43 + */ +@Mapper +public interface CustomerRelationDao { + List selectUsedAreaCodeList(String areaCode); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index a076f1b73d..5006efd5f7 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -17,6 +17,7 @@ import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import com.epmet.dataaggre.service.commonservice.AreaCodeService; import com.epmet.dataaggre.service.govorg.GovOrgService; +import com.epmet.dataaggre.service.opercrm.CustomerRelation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; @@ -46,6 +47,8 @@ public class GovOrgServiceImpl implements GovOrgService { private CustomerGridDao customerGridDao; @Autowired private AreaCodeService areaCodeService; + @Autowired + private CustomerRelation customerRelation; /** * @param staffId @@ -133,18 +136,24 @@ public class GovOrgServiceImpl implements GovOrgService { //全部下级 List allList = areaCodeService.queryNextLevelAreaCodeList(formDTO); if (CollectionUtils.isNotEmpty(allList)) { - //已经被使用过的areaCode - List usedAreaCodeList = customerAgencyDao.selectUsedAreaCodeList(formDTO.getAreaCode()); + //内部客户: 已经被使用过的areaCode + List usedAreaCodeList1 = customerAgencyDao.selectUsedAreaCodeList(formDTO.getAreaCode()); + //外部子客户: + List usedAreaCodeList2= customerRelation.selectUsedAreaCodeList(formDTO.getAreaCode()); //已经被使用的移除不显示 Iterator iterator = allList.iterator(); while (iterator.hasNext()) { NextAreaCodeResultDTO next = iterator.next(); - for (String usedAreaCode : usedAreaCodeList) { - if (next.getAreaCode().equals(usedAreaCode)) { + for (String usedAreaCode1 : usedAreaCodeList1) { + if (next.getAreaCode().equals(usedAreaCode1)) { + iterator.remove(); + } + } + for (String usedAreaCode2 : usedAreaCodeList2) { + if (next.getAreaCode().contains(usedAreaCode2)) { iterator.remove(); } } - //todo 移除掉 子客户下使用的 } } return allList; diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java new file mode 100644 index 0000000000..af0dc94e88 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java @@ -0,0 +1,13 @@ +package com.epmet.dataaggre.service.opercrm; + +import java.util.List; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/13 10:38 + */ +public interface CustomerRelation { + List selectUsedAreaCodeList(String areaCode); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java new file mode 100644 index 0000000000..045232e1a7 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java @@ -0,0 +1,30 @@ +package com.epmet.dataaggre.service.opercrm.impl; + +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.opercrm.CustomerRelationDao; +import com.epmet.dataaggre.service.opercrm.CustomerRelation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/13 10:38 + */ +@DataSource(DataSourceConstant.OPER_CRM) +@Slf4j +@Service +public class CustomerRelationImpl implements CustomerRelation { + @Autowired + private CustomerRelationDao customerRelationDao; + + @Override + public List selectUsedAreaCodeList(String areaCode) { + return customerRelationDao.selectUsedAreaCodeList(areaCode); + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml index 86be3fc91c..6e27140e97 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml @@ -124,6 +124,11 @@ dynamic: url: @datasource.druid.commonservice.url@ username: @datasource.druid.commonservice.username@ password: @datasource.druid.commonservice.password@ + opercrm: + driver-class-name: com.mysql.cj.jdbc.Driver + url: @datasource.druid.opercrm.url@ + username: @datasource.druid.opercrm.username@ + password: @datasource.druid.opercrm.password@ feign: hystrix: enabled: true diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml new file mode 100644 index 0000000000..5c0ec4f533 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file