大屏接口

dev_0531
yechenhao 6 years ago
parent 7180c626f5
commit 2ba9891a02

@ -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;

@ -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<BehaviorDTOMessage> ringBuffer;
private PrivilageCpUserStoreDOMapper privilageCpUserStoreDOMapper;
private PrivilageCpUserDOMapper privilageCpUserDOMapper;
private PoiCustomerContactDataStatMapper poiCustomerContactDataStatMapper;
private StorePromotionDataDOMapper storePromotionDataDOMapper;
public BehaviorDTOMessageEventProducer(RingBuffer<BehaviorDTOMessage> ringBuffer, PrivilageCpUserStoreDOMapper privilageCpUserStoreDOMapper,PoiCustomerContactDataStatMapper poiCustomerContactDataStatMapper,StorePromotionDataDOMapper storePromotionDataDOMapper) {
public BehaviorDTOMessageEventProducer(RingBuffer<BehaviorDTOMessage> 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 {

@ -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<BehaviorDTOM
PrivilageCpUserStoreDOMapper privilageCpUserStoreDOMapper = behaviorDtoMessage.getPrivilageCpUserStoreDOMapper();
PoiCustomerContactDataStatMapper poiCustomerContactDataStatMapper = behaviorDtoMessage.getPoiCustomerContactDataStatMapper();
StorePromotionDataDOMapper storePromotionDataDOMapper = behaviorDtoMessage.getStorePromotionDataDOMapper();
PrivilageCpUserDOMapper privilageCpUserDOMapper = behaviorDtoMessage.getPrivilageCpUserDOMapper();
wxCpService = WxCpConfiguration.getCpService(APPLICATIONID);
WxCpExternalContactService externalContactService = wxCpService.getExternalContactService();
@ -50,6 +53,12 @@ public class BehaviorDTOMessageGroupConsumer implements WorkHandler<BehaviorDTOM
Long storeId = privilageCpUserStoreDOMapper.selectOneByCpUserId(cpUserId);
Long regionId = null;
if (storeId == null){
QueryWrapper<PrivilageCpUserDO> 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<BehaviorDTOM
wxCusInfoRespDO.setStatTime(statDate);
QueryWrapper<PoiCustomerContactDataStat> 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) {

@ -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<PrivilageCpUserDO> privilageCpUserDOS = privilageCpUserDOMapper.selectList(null);

Loading…
Cancel
Save