diff --git a/src/main/java/com/kiisoo/ic/job/behavior/BehaviorDTOMessage.java b/src/main/java/com/kiisoo/ic/job/behavior/BehaviorDTOMessage.java index d5e60fc..0e6836e 100644 --- a/src/main/java/com/kiisoo/ic/job/behavior/BehaviorDTOMessage.java +++ b/src/main/java/com/kiisoo/ic/job/behavior/BehaviorDTOMessage.java @@ -1,5 +1,6 @@ package com.kiisoo.ic.job.behavior; +import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper; import com.kiisoo.ic.generalize.mapper.PoiCustomerContactDataStatMapper; import com.kiisoo.ic.store.mapper.PrivilageCpUserStoreDOMapper; import com.kiisoo.ic.store.mapper.StorePromotionDataDOMapper; @@ -20,6 +21,7 @@ public class BehaviorDTOMessage { private String id; private String cpUserId; private Date statDate; + private PrivilageCpUserDOMapper privilageCpUserDOMapper; private PrivilageCpUserStoreDOMapper privilageCpUserStoreDOMapper; private PoiCustomerContactDataStatMapper poiCustomerContactDataStatMapper; private StorePromotionDataDOMapper storePromotionDataDOMapper; diff --git a/src/main/java/com/kiisoo/ic/job/behavior/BehaviorDTOMessageEventProducer.java b/src/main/java/com/kiisoo/ic/job/behavior/BehaviorDTOMessageEventProducer.java index c633645..be91365 100644 --- a/src/main/java/com/kiisoo/ic/job/behavior/BehaviorDTOMessageEventProducer.java +++ b/src/main/java/com/kiisoo/ic/job/behavior/BehaviorDTOMessageEventProducer.java @@ -1,5 +1,6 @@ package com.kiisoo.ic.job.behavior; +import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper; import com.kiisoo.ic.generalize.mapper.PoiCustomerContactDataStatMapper; import com.kiisoo.ic.store.mapper.PrivilageCpUserStoreDOMapper; import com.kiisoo.ic.store.mapper.StorePromotionDataDOMapper; @@ -12,15 +13,17 @@ public class BehaviorDTOMessageEventProducer { private final RingBuffer ringBuffer; private PrivilageCpUserStoreDOMapper privilageCpUserStoreDOMapper; + private PrivilageCpUserDOMapper privilageCpUserDOMapper; private PoiCustomerContactDataStatMapper poiCustomerContactDataStatMapper; private StorePromotionDataDOMapper storePromotionDataDOMapper; - public BehaviorDTOMessageEventProducer(RingBuffer ringBuffer, PrivilageCpUserStoreDOMapper privilageCpUserStoreDOMapper,PoiCustomerContactDataStatMapper poiCustomerContactDataStatMapper,StorePromotionDataDOMapper storePromotionDataDOMapper) { + public BehaviorDTOMessageEventProducer(RingBuffer ringBuffer, PrivilageCpUserStoreDOMapper privilageCpUserStoreDOMapper,PoiCustomerContactDataStatMapper poiCustomerContactDataStatMapper,StorePromotionDataDOMapper storePromotionDataDOMapper,PrivilageCpUserDOMapper privilageCpUserDOMapper) { this.ringBuffer = ringBuffer; this.privilageCpUserStoreDOMapper =privilageCpUserStoreDOMapper; this.poiCustomerContactDataStatMapper =poiCustomerContactDataStatMapper; this.storePromotionDataDOMapper =storePromotionDataDOMapper; + this.privilageCpUserDOMapper =privilageCpUserDOMapper; } public void produceData(int index, String cpUserId, Date statDate) { @@ -33,6 +36,7 @@ public class BehaviorDTOMessageEventProducer { ringBuffer.get(seq).setCpUserId(cpUserId); ringBuffer.get(seq).setStatDate(statDate); ringBuffer.get(seq).setPrivilageCpUserStoreDOMapper(privilageCpUserStoreDOMapper); + ringBuffer.get(seq).setPrivilageCpUserDOMapper(privilageCpUserDOMapper); ringBuffer.get(seq).setPoiCustomerContactDataStatMapper(poiCustomerContactDataStatMapper); ringBuffer.get(seq).setStorePromotionDataDOMapper(storePromotionDataDOMapper); } finally { diff --git a/src/main/java/com/kiisoo/ic/job/behavior/BehaviorDTOMessageGroupConsumer.java b/src/main/java/com/kiisoo/ic/job/behavior/BehaviorDTOMessageGroupConsumer.java index 4c96f38..6a32b52 100644 --- a/src/main/java/com/kiisoo/ic/job/behavior/BehaviorDTOMessageGroupConsumer.java +++ b/src/main/java/com/kiisoo/ic/job/behavior/BehaviorDTOMessageGroupConsumer.java @@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.kiisoo.ic.config.WxCpConfiguration; +import com.kiisoo.ic.employee.entity.PrivilageCpUserDO; +import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper; import com.kiisoo.ic.generalize.entity.PoiCustomerContactDataStat; import com.kiisoo.ic.generalize.mapper.PoiCustomerContactDataStatMapper; import com.kiisoo.ic.store.constant.Constants; @@ -42,6 +44,7 @@ public class BehaviorDTOMessageGroupConsumer implements WorkHandler qw = new QueryWrapper<>(); + qw.eq("cp_user_id",cpUserId).last("limit 1"); + regionId = privilageCpUserDOMapper.selectOne(qw).getId(); + } + WxCusInfoReqDO wxCusInfoReqDO = new WxCusInfoReqDO(); wxCusInfoReqDO.setAccess_token(wxCpService.getAccessToken()); wxCusInfoReqDO.setUserid(cpUserId); @@ -66,7 +75,11 @@ public class BehaviorDTOMessageGroupConsumer implements WorkHandler qw = new QueryWrapper(); - qw.eq("store_id", storeId).eq("region_id", regionId).eq("stat_time", statDate).last("limit 1"); + if (storeId == null && regionId !=null){ + qw.isNull("store_id").eq("region_id", regionId).eq("stat_time", statDate).last("limit 1"); + }else if (regionId == null && storeId !=null){ + qw.eq("store_id",storeId).isNull("region_id").eq("stat_time", statDate).last("limit 1"); + } PoiCustomerContactDataStat poiCustomerContactDataStat = poiCustomerContactDataStatMapper.selectOne(qw); int syncRes = 0; if (poiCustomerContactDataStat == null) { diff --git a/src/main/java/com/kiisoo/ic/job/behavior/CustomerBehaviorJob.java b/src/main/java/com/kiisoo/ic/job/behavior/CustomerBehaviorJob.java index 7b049bc..c78a252 100644 --- a/src/main/java/com/kiisoo/ic/job/behavior/CustomerBehaviorJob.java +++ b/src/main/java/com/kiisoo/ic/job/behavior/CustomerBehaviorJob.java @@ -70,7 +70,7 @@ public class CustomerBehaviorJob { disruptor.start(); - BehaviorDTOMessageEventProducer producer = new BehaviorDTOMessageEventProducer(ringBuffer, privilageCpUserStoreDOMapper,poiCustomerContactDataStatMapper,storePromotionDataDOMapper); + BehaviorDTOMessageEventProducer producer = new BehaviorDTOMessageEventProducer(ringBuffer, privilageCpUserStoreDOMapper,poiCustomerContactDataStatMapper,storePromotionDataDOMapper,privilageCpUserDOMapper); List privilageCpUserDOS = privilageCpUserDOMapper.selectList(null);