From 98b22ff8c45dd22486f0c4f1f08bae1fab1f8132 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 20 Sep 2022 14:31:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E9=99=86=E6=8E=A5=E5=8F=A3=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BC=93=E5=AD=98=E5=92=8C=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E6=B1=A0=E6=89=A7=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/CustomerAgencyServiceImpl.java | 21 +++++++++++++++++-- .../service/impl/CustomerServiceImpl.java | 20 ++++++++++++++++-- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 760f9690ad..3ee1bc565e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -66,6 +66,9 @@ import org.springframework.transaction.annotation.Transactional; import java.lang.reflect.Field; import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; @@ -112,6 +115,8 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl(); } - List list = baseDao.selectStaffOrgList(staffOrgsFormDTO.getCustomerIdList()); + CompletableFuture> listFuture = CompletableFuture.supplyAsync(()-> baseDao.selectStaffOrgList(staffOrgsFormDTO.getCustomerIdList()),executorService); + //List list = baseDao.selectStaffOrgList(staffOrgsFormDTO.getCustomerIdList()); + CustomerFormDTO customerFormDTO = new CustomerFormDTO(); customerFormDTO.setCustomerIdList(staffOrgsFormDTO.getCustomerIdList()); - Result> customerDTOResult = operCrmFeignClient.queryCustomerList(customerFormDTO); + CompletableFuture>> customerDTOResultFuture = CompletableFuture.supplyAsync(()-> operCrmFeignClient.queryCustomerList(customerFormDTO),executorService); + //Result> customerDTOResult = operCrmFeignClient.queryCustomerList(customerFormDTO); + List list = null; + Result> customerDTOResult = null; + try { + list = listFuture.get(10, TimeUnit.SECONDS); + customerDTOResult = customerDTOResultFuture.get(10, TimeUnit.SECONDS); + } catch (Exception e) { + log.error("getStaffOrgList exception",e); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getMsg()); + } List customerDTOList = customerDTOResult.getData(); if (customerDTOResult.success() && customerDTOList.size() > 0) { for (CustomerDTO customer : customerDTOList) { diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java index 856a72c96d..fb26af5f00 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java @@ -229,8 +229,24 @@ public class CustomerServiceImpl extends BaseServiceImpl> queryCustomerList(CustomerFormDTO formDTO) { - List customerDTOList = baseDao.selectListByIds(formDTO.getCustomerIdList()); - return new Result>().ok(customerDTOList); + List result = new ArrayList<>(); + if(formDTO.getCustomerIdList() != null){ + for (String customerId : formDTO.getCustomerIdList()) { + //先从缓存取 取不到从数据库取 + CustomerDTO customerDTO = customerRedis.queryCustomerInfo(customerId); + if (customerDTO == null) { + CustomerEntity customerEntity = baseDao.selectById(customerId); + if (customerEntity != null) { + customerDTO = ConvertUtils.sourceToTarget(customerEntity, CustomerDTO.class); + } + } + if (customerDTO != null) { + result.add(customerDTO); + } + } + //List customerDTOList = baseDao.selectListByIds(formDTO.getCustomerIdList()); + } + return new Result>().ok(result); } @Override