From 8ea7cff36740c0c2e5c610b6057b0eccb89968ab Mon Sep 17 00:00:00 2001 From: yechenhao Date: Thu, 21 May 2020 01:14:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kiisoo/ic/job/detail/CustomerDataJob.java | 27 ++++++++++++++----- .../job/detail/SyncDetailJobController.java | 10 ++++++- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/kiisoo/ic/job/detail/CustomerDataJob.java b/src/main/java/com/kiisoo/ic/job/detail/CustomerDataJob.java index cb5c968..332e4c8 100644 --- a/src/main/java/com/kiisoo/ic/job/detail/CustomerDataJob.java +++ b/src/main/java/com/kiisoo/ic/job/detail/CustomerDataJob.java @@ -10,9 +10,11 @@ import com.lmax.disruptor.*; import com.lmax.disruptor.dsl.Disruptor; import com.lmax.disruptor.dsl.ProducerType; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Arrays; import java.util.List; import java.util.concurrent.*; @@ -46,7 +48,7 @@ public class CustomerDataJob { private CustomerService customerService; - public void handle(){ + public void handle(String cpUserIds){ //创建线程池 ExecutorService executors = Executors.newFixedThreadPool(THREAD_NUMBERS); @@ -65,15 +67,26 @@ public class CustomerDataJob { disruptor.start(); - DetailDTOMessageEventProducer producer = new DetailDTOMessageEventProducer(ringBuffer, qwMailListManageService, customerService, poiStoreStaffDOMapper); - List privilageCpUserDOS = privilageCpUserDOMapper.selectList(null); int index =0; - for (PrivilageCpUserDO privilageCpUserDO : privilageCpUserDOS) { - Long storeId = privilageCpUserStoreDOMapper.selectOneByCpUserId(privilageCpUserDO.getCpUserId()); - producer.produceData(index,storeId,privilageCpUserDO.getCpUserId()); - index++; + DetailDTOMessageEventProducer producer = new DetailDTOMessageEventProducer(ringBuffer, qwMailListManageService, customerService, poiStoreStaffDOMapper); + if (StringUtils.isBlank(cpUserIds)){ + List privilageCpUserDOS = privilageCpUserDOMapper.selectList(null); + for (PrivilageCpUserDO privilageCpUserDO : privilageCpUserDOS) { + Long storeId = privilageCpUserStoreDOMapper.selectOneByCpUserId(privilageCpUserDO.getCpUserId()); + producer.produceData(index,storeId,privilageCpUserDO.getCpUserId()); + index++; + } + }else{ + String[] split = cpUserIds.split(","); + List cpUserIdList = Arrays.asList(split); + for (String cpUserId : cpUserIdList) { + Long storeId = privilageCpUserStoreDOMapper.selectOneByCpUserId(cpUserId); + producer.produceData(index,storeId,cpUserId); + index++; + } } + disruptor.shutdown(); } } diff --git a/src/main/java/com/kiisoo/ic/job/detail/SyncDetailJobController.java b/src/main/java/com/kiisoo/ic/job/detail/SyncDetailJobController.java index e672119..c378f8d 100644 --- a/src/main/java/com/kiisoo/ic/job/detail/SyncDetailJobController.java +++ b/src/main/java/com/kiisoo/ic/job/detail/SyncDetailJobController.java @@ -17,7 +17,15 @@ public class SyncDetailJobController { @GetMapping("/sync/customer") public void getCustomerInfo(){ try { - customerDataJob.handle(); + customerDataJob.handle(null); + }catch (Exception e){ + log.error("",e); + } + } + @GetMapping("/sync/customer/shop") + public void getCustomerInfo(@RequestParam("cpUserId")String cpUserIds){ + try { + customerDataJob.handle(cpUserIds); }catch (Exception e){ log.error("",e); }