diff --git a/src/main/java/com/kiisoo/ic/job/CustomerSyncJob.java b/src/main/java/com/kiisoo/ic/job/CustomerSyncJob.java index 2544fca..b91c78d 100644 --- a/src/main/java/com/kiisoo/ic/job/CustomerSyncJob.java +++ b/src/main/java/com/kiisoo/ic/job/CustomerSyncJob.java @@ -63,21 +63,13 @@ public class CustomerSyncJob { long seq; for (PrivilageCpUserStoreDO privilageCpUserStoreDO : privilageCpUserStoreDOS) { String cpUserId = privilageCpUserStoreDOMapper.selectCpUserIdByStoreId(privilageCpUserStoreDO.getStoreId()); - List customers = null; - try { - customers = qwMailListManageService.getCustomer(cpUserId); - }catch (Exception e) { - log.error("查询联系人失败:"+cpUserId,e); - } - if (CollectionUtils.isNotEmpty(customers)){ - continue; - } + seq=ringBuffer.next();//占个坑 --ringBuffer一个可用区块 //给这个区块放入 数据 如果此处不理解,想想RingBuffer的结构图 ringBuffer.get(seq).setCpUserId(cpUserId); ringBuffer.get(seq).setPrivilageCpUserStoreDO(privilageCpUserStoreDO); - ringBuffer.get(seq).setCustomers(customers); +// ringBuffer.get(seq).setCustomers(customers); ringBuffer.publish(seq);//发布这个区块的数据使handler(consumer)可见 } diff --git a/src/main/java/com/kiisoo/ic/job/DTOMessageHandler.java b/src/main/java/com/kiisoo/ic/job/DTOMessageHandler.java index 30e3b40..4859e4e 100644 --- a/src/main/java/com/kiisoo/ic/job/DTOMessageHandler.java +++ b/src/main/java/com/kiisoo/ic/job/DTOMessageHandler.java @@ -6,6 +6,7 @@ import com.kiisoo.ic.store.entity.PrivilageCpUserStoreDO; import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper; import com.kiisoo.ic.synchronous.entity.TurnBackDTO; import com.kiisoo.ic.synchronous.entity.WxDataDTO; +import com.kiisoo.ic.wx.service.QWMailListManageService; import com.lmax.disruptor.EventHandler; import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.cp.bean.WxCpUserExternalContactInfo; @@ -29,6 +30,9 @@ public class DTOMessageHandler implements EventHandler { @Autowired private CustomerService customerService; + @Autowired + private QWMailListManageService qwMailListManageService; + /** * 处理事件, 如入库操作 * @param dtoMessage @@ -42,7 +46,15 @@ public class DTOMessageHandler implements EventHandler { dtoMessage.setId(UUID.randomUUID().toString()); String cpUserId = dtoMessage.getCpUserId(); PrivilageCpUserStoreDO cpUserStoreDO = dtoMessage.getPrivilageCpUserStoreDO(); - List customers = dtoMessage.getCustomers(); + List customers = null; + try { + customers = qwMailListManageService.getCustomer(cpUserId); + }catch (Exception e) { + log.error("查询联系人失败:"+cpUserId,e); + } + if (CollectionUtils.isNotEmpty(customers)){ + return; + } for (WxCpUserExternalContactInfo customer:customers){ TurnBackDTO turnBackDTO = new TurnBackDTO();