Просмотр исходного кода

//legionActivity

release_toaliyun_real
xiaohu 1 год назад
Родитель
Сommit
8e640fe8c6
1 измененных файлов: 38 добавлений и 24 удалений
  1. +38
    -24
      mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java

+ 38
- 24
mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java Просмотреть файл

@@ -380,33 +380,45 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
throw new MallinkException(Result.ERROR,"未查询到活动");
}

List<Long> merchantIds = new ArrayList<>();

//用户
WxLegionActivityUser userQ = new WxLegionActivityUser();
userQ.updateTenantInfo(activity);
userQ.setActivityId(activity.getId());
userQ.setStatus(EnumLegionActivityUserStatus.VALID.getCode());
List<LegionActivityUserStatistics> merchantCountStatistics = wxLegionActivityUserMapper.merchantCountStatistics(userQ);
Map<Long, Integer> merchantCountStatisticsMap = new HashMap<>();
if(merchantCountStatistics != null && !merchantCountStatistics.isEmpty()){
merchantIds.addAll(merchantCountStatistics.stream().map(LegionActivityUserStatistics::getMerchantId).distinct().collect(Collectors.toList()));
merchantCountStatisticsMap = merchantCountStatistics.stream().collect(Collectors.toMap(LegionActivityUserStatistics::getMerchantId, LegionActivityUserStatistics::getCount));
}

//订单
WxLegionActivityOrder orderQ = new WxLegionActivityOrder();
orderQ.updateTenantInfo(activity);
orderQ.setActivityId(activity.getId());
orderQ.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode());
List<LegionActivityOrderTypeStatistics> merchantStatistics = wxLegionActivityOrderMapper.merchantStatistics(orderQ);
if(merchantStatistics == null || merchantStatistics.isEmpty()){
Map<Long, List<LegionActivityOrderTypeStatistics>> merchantStatisticsMap = new HashMap<>();
if(merchantStatistics != null && !merchantStatistics.isEmpty()){
merchantIds.addAll(merchantStatistics.stream().map(LegionActivityOrderTypeStatistics::getMerchantId).distinct().collect(Collectors.toList()));
merchantStatisticsMap = merchantStatistics.stream().collect(groupingBy(LegionActivityOrderTypeStatistics::getMerchantId));
}
if(merchantIds.isEmpty()){
return Collections.emptyList();
}

List<Long> merchantIds = merchantStatistics.stream().map(LegionActivityOrderTypeStatistics::getMerchantId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
merchantIds = merchantIds.stream().distinct().collect(Collectors.toList());

WxMerchant merchantQ = new WxMerchant();
merchantQ.updateTenantInfo(activity);
merchantQ.setIds(merchantIds);
Map<Long, String> idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ);
Map<Long,String> merchantShopNumberMap = wxShopService.getMerchantShopNumberMap(activity, merchantIds, EnumYesOrNo.NO.getCode());

Map<Long, List<LegionActivityOrderTypeStatistics>> merchantStatisticsMap = merchantStatistics.stream().collect(groupingBy(LegionActivityOrderTypeStatistics::getMerchantId));

WxLegionActivityUser userQ = new WxLegionActivityUser();
userQ.updateTenantInfo(activity);
userQ.setActivityId(activity.getId());
userQ.setStatus(EnumLegionActivityUserStatus.VALID.getCode());
List<LegionActivityUserStatistics> merchantCountStatistics = wxLegionActivityUserMapper.merchantCountStatistics(userQ);
Map<Long, Integer> merchantCountStatisticsMap = merchantCountStatistics.stream().collect(Collectors.toMap(LegionActivityUserStatistics::getMerchantId, LegionActivityUserStatistics::getCount));
Map<Long, String> merchantShopNumberMap = wxShopService.getMerchantShopNumberMap(activity, merchantIds, EnumYesOrNo.NO.getCode());

List<LegionActivityMerchantStatistics> merchantStatisticsList = new ArrayList<>();
for (Long merchantId : merchantStatisticsMap.keySet()) {
for (Long merchantId : idAndNamesMap.keySet()) {
LegionActivityMerchantStatistics merchantS = new LegionActivityMerchantStatistics();
merchantS.setMerchantId(merchantId);
merchantS.setMerchantName(idAndNamesMap.get(merchantId));
@@ -414,17 +426,19 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
Integer userCount = merchantCountStatisticsMap.get(merchantId)==null?0:merchantCountStatisticsMap.get(merchantId);
merchantS.setUserCount(userCount);
Integer sign_order = 0,dif_legion = 0,dif_union = 0,eq_union = 0,not_union = 0;
for(LegionActivityOrderTypeStatistics statistics : merchantStatisticsMap.get(merchantId)){
if(EnumLegionActivityOrderType.SIGN_ORDER.getCode().equals(statistics.getOrderType())){
sign_order = statistics.getCount();
}else if (EnumLegionActivityOrderType.DIF_LEGION.getCode().equals(statistics.getOrderType())){
dif_legion = statistics.getCount();
}else if(EnumLegionActivityOrderType.DIF_UNION.getCode().equals(statistics.getOrderType())){
dif_union = statistics.getCount();
}else if(EnumLegionActivityOrderType.EQ_UNION.getCode().equals(statistics.getOrderType())){
eq_union = statistics.getCount();
}else if(EnumLegionActivityOrderType.NOT_UNION.getCode().equals(statistics.getOrderType())){
not_union = statistics.getCount();
if(merchantStatisticsMap.get(merchantId) != null){
for(LegionActivityOrderTypeStatistics statistics : merchantStatisticsMap.get(merchantId)){
if(EnumLegionActivityOrderType.SIGN_ORDER.getCode().equals(statistics.getOrderType())){
sign_order = statistics.getCount();
}else if (EnumLegionActivityOrderType.DIF_LEGION.getCode().equals(statistics.getOrderType())){
dif_legion = statistics.getCount();
}else if(EnumLegionActivityOrderType.DIF_UNION.getCode().equals(statistics.getOrderType())){
dif_union = statistics.getCount();
}else if(EnumLegionActivityOrderType.EQ_UNION.getCode().equals(statistics.getOrderType())){
eq_union = statistics.getCount();
}else if(EnumLegionActivityOrderType.NOT_UNION.getCode().equals(statistics.getOrderType())){
not_union = statistics.getCount();
}
}
}
//签单=总订单数


Загрузка…
Отмена
Сохранить