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