|
|
|
@@ -205,6 +205,10 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
if(StringUtil.isBlank(wxLegionActivityOrder.getCusAddress())){ |
|
|
|
wxLegionActivityOrder.setCusAddress(user.getAddress()); |
|
|
|
} |
|
|
|
wxLegionActivityOrder.setCusMerchantId(user.getMerchantId()); |
|
|
|
wxLegionActivityOrder.setCusLegionId(user.getLegionId()); |
|
|
|
wxLegionActivityOrder.setCusUnionId(user.getUnionId()); |
|
|
|
|
|
|
|
WxLegionActivityMerchantConfig merchantConfigQuery = new WxLegionActivityMerchantConfig(); |
|
|
|
merchantConfigQuery.updateTenantInfo(wxLegionActivityOrder); |
|
|
|
merchantConfigQuery.setActivityId(wxLegionActivityOrder.getActivityId()); |
|
|
|
@@ -398,6 +402,7 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
public Map<String, Object> handleActivityData(WxLegionActivity activity, WxLegionActivityOrder wxLegionActivityOrder) { |
|
|
|
Map<String, Object> result = new HashMap<>(); |
|
|
|
|
|
|
|
//售卡 |
|
|
|
WxLegionActivityUser userQ = new WxLegionActivityUser(); |
|
|
|
userQ.updateTenantInfo(activity); |
|
|
|
userQ.setActivityId(activity.getId()); |
|
|
|
@@ -408,13 +413,25 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
Integer userCount = wxLegionActivityUserMapper.selectCount(userQ); |
|
|
|
result.put("userCount",userCount); |
|
|
|
|
|
|
|
//签单 |
|
|
|
WxLegionActivityOrder orderQ = new WxLegionActivityOrder(); |
|
|
|
orderQ.updateTenantInfo(activity); |
|
|
|
orderQ.setActivityId(activity.getId()); |
|
|
|
orderQ.setCusLegionId(wxLegionActivityOrder.getLegionId()); |
|
|
|
orderQ.setLegionId(wxLegionActivityOrder.getLegionId()); |
|
|
|
orderQ.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode()); |
|
|
|
orderQ.setCreateDateBegin(wxLegionActivityOrder.getCreateDateBegin()); |
|
|
|
orderQ.setCreateDateEnd(wxLegionActivityOrder.getCreateDateEnd()); |
|
|
|
Integer orderCount = wxLegionActivityOrderMapper.orderCount(orderQ); |
|
|
|
result.put("orderCount",orderCount); |
|
|
|
|
|
|
|
//带单 |
|
|
|
// orderQ.updateTenantInfo(activity); |
|
|
|
// orderQ.setActivityId(activity.getId()); |
|
|
|
orderQ.setLegionId(null); |
|
|
|
orderQ.setCusLegionId(wxLegionActivityOrder.getLegionId()); |
|
|
|
// orderQ.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode()); |
|
|
|
// orderQ.setCreateDateBegin(wxLegionActivityOrder.getCreateDateBegin()); |
|
|
|
// orderQ.setCreateDateEnd(wxLegionActivityOrder.getCreateDateEnd()); |
|
|
|
List<LegionActivityOrderTypeStatistics> orderTypeStatistics = wxLegionActivityOrderMapper.orderTypeStatistics(orderQ); |
|
|
|
Integer sign_order = 0,dif_legion = 0,dif_union = 0,eq_union = 0,not_union = 0; |
|
|
|
for(LegionActivityOrderTypeStatistics statistics : orderTypeStatistics){ |
|
|
|
@@ -431,8 +448,8 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
} |
|
|
|
} |
|
|
|
//签单=总订单数 |
|
|
|
Integer order_count = sign_order+dif_legion+dif_union+eq_union+not_union; |
|
|
|
result.put("orderCount",order_count); |
|
|
|
// Integer order_count = sign_order+dif_legion+dif_union+eq_union+not_union; |
|
|
|
// result.put("orderCount",order_count); |
|
|
|
//带单 |
|
|
|
result.put("sellOrderCount",dif_legion+dif_union+eq_union+not_union); |
|
|
|
result.put("difLegion",dif_legion); |
|
|
|
@@ -440,7 +457,7 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
result.put("difUnion",dif_union); |
|
|
|
result.put("notUnion",not_union); |
|
|
|
|
|
|
|
Double total_score = userCount*activity.getSellingCard()+order_count*activity.getSignOrder() |
|
|
|
Double total_score = userCount*activity.getSellingCard()+orderCount*activity.getSignOrder() |
|
|
|
+dif_legion*activity.getDifLegionOrder()+dif_union*activity.getDifUnionOrder() |
|
|
|
+eq_union*activity.getEqUnionOrder()+not_union*activity.getNotUnionOrder(); |
|
|
|
result.put("totalScore",total_score); |
|
|
|
@@ -470,13 +487,26 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
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()); |
|
|
|
orderQ.setCreateDateBegin(wxLegionActivityOrder.getCreateDateBegin()); |
|
|
|
orderQ.setCreateDateEnd(wxLegionActivityOrder.getCreateDateEnd()); |
|
|
|
List<LegionActivityOrderTypeStatistics> merchantOrderCount = wxLegionActivityOrderMapper.merchantOrderCount(orderQ); |
|
|
|
Map<Long,Integer> merchantOrderCountMap = new HashMap<>(); |
|
|
|
if(merchantOrderCount != null && !merchantOrderCount.isEmpty()){ |
|
|
|
merchantIds.addAll(merchantOrderCount.stream().map(LegionActivityOrderTypeStatistics::getMerchantId).distinct().collect(Collectors.toList())); |
|
|
|
merchantOrderCountMap = merchantOrderCount.stream().collect(Collectors.toMap(LegionActivityOrderTypeStatistics::getMerchantId, LegionActivityOrderTypeStatistics::getCount)); |
|
|
|
} |
|
|
|
|
|
|
|
//带单 |
|
|
|
// orderQ.updateTenantInfo(activity); |
|
|
|
// orderQ.setActivityId(activity.getId()); |
|
|
|
// orderQ.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode()); |
|
|
|
// orderQ.setCreateDateBegin(wxLegionActivityOrder.getCreateDateBegin()); |
|
|
|
// orderQ.setCreateDateEnd(wxLegionActivityOrder.getCreateDateEnd()); |
|
|
|
List<LegionActivityOrderTypeStatistics> merchantStatistics = wxLegionActivityOrderMapper.merchantStatistics(orderQ); |
|
|
|
Map<Long, List<LegionActivityOrderTypeStatistics>> merchantStatisticsMap = new HashMap<>(); |
|
|
|
if(merchantStatistics != null && !merchantStatistics.isEmpty()){ |
|
|
|
@@ -519,6 +549,9 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
} |
|
|
|
Integer userCount = merchantCountStatisticsMap.get(merchantId)==null?0:merchantCountStatisticsMap.get(merchantId); |
|
|
|
merchantS.setUserCount(userCount); |
|
|
|
Integer orderCount = merchantOrderCountMap.get(merchantId)==null?0:merchantOrderCountMap.get(merchantId); |
|
|
|
merchantS.setOrderCount(orderCount); |
|
|
|
|
|
|
|
Integer sign_order = 0,dif_legion = 0,dif_union = 0,eq_union = 0,not_union = 0; |
|
|
|
if(merchantStatisticsMap.get(merchantId) != null){ |
|
|
|
for(LegionActivityOrderTypeStatistics statistics : merchantStatisticsMap.get(merchantId)){ |
|
|
|
@@ -536,8 +569,8 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
} |
|
|
|
} |
|
|
|
//签单=总订单数 |
|
|
|
Integer order_count = sign_order+dif_legion+dif_union+eq_union+not_union; |
|
|
|
merchantS.setOrderCount(order_count); |
|
|
|
// Integer order_count = sign_order+dif_legion+dif_union+eq_union+not_union; |
|
|
|
// merchantS.setOrderCount(order_count); |
|
|
|
//带单 |
|
|
|
merchantS.setSellOrderCount(dif_legion+dif_union+eq_union+not_union); |
|
|
|
merchantS.setDifLegion(dif_legion); |
|
|
|
@@ -545,7 +578,7 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
merchantS.setDifUnion(dif_union); |
|
|
|
merchantS.setNotUnion(not_union); |
|
|
|
|
|
|
|
Double total_score = userCount*activity.getSellingCard()+order_count*activity.getSignOrder() |
|
|
|
Double total_score = userCount*activity.getSellingCard()+orderCount*activity.getSignOrder() |
|
|
|
+dif_legion*activity.getDifLegionOrder()+dif_union*activity.getDifUnionOrder() |
|
|
|
+eq_union*activity.getEqUnionOrder()+not_union*activity.getNotUnionOrder(); |
|
|
|
merchantS.setTotalScore(total_score); |
|
|
|
@@ -712,13 +745,20 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
legionCountMap = legionCountList.stream().collect(Collectors.toMap(LegionActivityUserStatistics::getLegionId, LegionActivityUserStatistics::getCount)); |
|
|
|
} |
|
|
|
|
|
|
|
//军团订单 |
|
|
|
//军团签单 |
|
|
|
WxLegionActivityOrder orderQ = new WxLegionActivityOrder(); |
|
|
|
orderQ.updateTenantInfo(activity); |
|
|
|
orderQ.setActivityId(activity.getId()); |
|
|
|
orderQ.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode()); |
|
|
|
orderQ.setCreateDateBegin(wxLegionActivityOrder.getCreateDateBegin()); |
|
|
|
orderQ.setCreateDateEnd(wxLegionActivityOrder.getCreateDateEnd()); |
|
|
|
List<LegionActivityOrderTypeStatistics> legionOrderCount = wxLegionActivityOrderMapper.legionOrderCount(orderQ); |
|
|
|
Map<Long, Integer> legionOrderCountMap = new HashMap<>(); |
|
|
|
if(legionOrderCount != null && !legionOrderCount.isEmpty()){ |
|
|
|
legionOrderCountMap = legionOrderCount.stream().collect(Collectors.toMap(LegionActivityOrderTypeStatistics::getLegionId, LegionActivityOrderTypeStatistics::getCount)); |
|
|
|
} |
|
|
|
|
|
|
|
//军团带单 |
|
|
|
List<LegionActivityOrderTypeStatistics> legionStatistics = wxLegionActivityOrderMapper.legionStatistics(orderQ); |
|
|
|
Map<Long, List<LegionActivityOrderTypeStatistics>> legionStatisticsMap = new HashMap<>(); |
|
|
|
if(legionStatistics != null && !legionStatistics.isEmpty()){ |
|
|
|
@@ -732,6 +772,9 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
legionS.setLegionName(legionConfigMap.get(legionId)); |
|
|
|
Integer userCount = legionCountMap.get(legionId)==null?0:legionCountMap.get(legionId); |
|
|
|
legionS.setUserCount(userCount); |
|
|
|
Integer orderCount = legionOrderCountMap.get(legionId)==null?0:legionOrderCountMap.get(legionId); |
|
|
|
legionS.setOrderCount(orderCount); |
|
|
|
|
|
|
|
Integer sign_order = 0,dif_legion = 0,dif_union = 0,eq_union = 0,not_union = 0; |
|
|
|
if(legionStatisticsMap.get(legionId) != null){ |
|
|
|
for(LegionActivityOrderTypeStatistics statistics : legionStatisticsMap.get(legionId)){ |
|
|
|
@@ -749,13 +792,13 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
} |
|
|
|
} |
|
|
|
//签单=总订单数 |
|
|
|
Integer order_count = sign_order+dif_legion+dif_union+eq_union+not_union; |
|
|
|
legionS.setOrderCount(order_count); |
|
|
|
// Integer order_count = sign_order+dif_legion+dif_union+eq_union+not_union; |
|
|
|
// legionS.setOrderCount(order_count); |
|
|
|
//带单 |
|
|
|
legionS.setSellOrderCount(dif_legion+dif_union+eq_union+not_union); |
|
|
|
|
|
|
|
legionS.setUserScore(userCount*activity.getSellingCard()); |
|
|
|
legionS.setOrderScore(order_count*activity.getSignOrder()); |
|
|
|
legionS.setOrderScore(orderCount*activity.getSignOrder()); |
|
|
|
legionS.setSellOrderScore(dif_legion*activity.getDifLegionOrder()+dif_union*activity.getDifUnionOrder() |
|
|
|
+eq_union*activity.getEqUnionOrder()+not_union*activity.getNotUnionOrder()); |
|
|
|
|
|
|
|
@@ -824,13 +867,20 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
legionCountMap = legionCountList.stream().collect(groupingBy(LegionActivityUserStatistics::getLegionId)); |
|
|
|
} |
|
|
|
|
|
|
|
//军团订单 |
|
|
|
//军团签单 |
|
|
|
WxLegionActivityOrder orderQ = new WxLegionActivityOrder(); |
|
|
|
orderQ.updateTenantInfo(activity); |
|
|
|
orderQ.setActivityId(activity.getId()); |
|
|
|
orderQ.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode()); |
|
|
|
orderQ.setCreateDateBegin(wxLegionActivityOrder.getCreateDateBegin()); |
|
|
|
orderQ.setCreateDateEnd(wxLegionActivityOrder.getCreateDateEnd()); |
|
|
|
List<LegionActivityOrderTypeStatistics> legionDateOrderCount = wxLegionActivityOrderMapper.legionDateOrderCount(orderQ); |
|
|
|
Map<Long, List<LegionActivityOrderTypeStatistics>> legionDateOrderCountMap = new HashMap<>(); |
|
|
|
if(legionDateOrderCount != null && !legionDateOrderCount.isEmpty()){ |
|
|
|
legionDateOrderCountMap = legionDateOrderCount.stream().collect(groupingBy(LegionActivityOrderTypeStatistics::getLegionId)); |
|
|
|
} |
|
|
|
|
|
|
|
//军团带单 |
|
|
|
List<LegionActivityOrderTypeStatistics> legionStatistics = wxLegionActivityOrderMapper.legionDateStatistics(orderQ); |
|
|
|
Map<Long, List<LegionActivityOrderTypeStatistics>> legionStatisticsMap = new HashMap<>(); |
|
|
|
if(legionStatistics != null && !legionStatistics.isEmpty()){ |
|
|
|
@@ -846,6 +896,12 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
if(legionDateCountList != null && !legionDateCountList.isEmpty()){ |
|
|
|
legionDateCountMap = legionDateCountList.stream().collect(Collectors.toMap(LegionActivityUserStatistics::getXTime, LegionActivityUserStatistics::getCount)); |
|
|
|
} |
|
|
|
List<LegionActivityOrderTypeStatistics> legionOrderCountList = legionDateOrderCountMap.get(legionId); |
|
|
|
Map<String, Integer> legionOrderCountMap = new HashMap<>(); |
|
|
|
if(legionOrderCountList != null && !legionOrderCountList.isEmpty()){ |
|
|
|
legionOrderCountMap = legionOrderCountList.stream().collect(Collectors.toMap(LegionActivityOrderTypeStatistics::getXTime, LegionActivityOrderTypeStatistics::getCount)); |
|
|
|
} |
|
|
|
|
|
|
|
List<LegionActivityOrderTypeStatistics> legionOrderDateList = legionStatisticsMap.get(legionId); |
|
|
|
Map<String, List<LegionActivityOrderTypeStatistics>> legionOrderDateMap = new HashMap<>(); |
|
|
|
if(legionOrderDateList != null && !legionOrderDateList.isEmpty()){ |
|
|
|
@@ -854,6 +910,7 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
List<ActivityNoticeVo> activityNoticeVoList = new ArrayList<>(); |
|
|
|
for (String date : tjTimeList) { |
|
|
|
Integer userCount = legionDateCountMap.get(date)==null?0:legionDateCountMap.get(date); |
|
|
|
Integer orderCount = legionOrderCountMap.get(date)==null?0:legionOrderCountMap.get(date); |
|
|
|
|
|
|
|
Integer sign_order = 0,dif_legion = 0,dif_union = 0,eq_union = 0,not_union = 0; |
|
|
|
if(legionOrderDateMap.get(date) != null){ |
|
|
|
@@ -872,11 +929,11 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
|
} |
|
|
|
} |
|
|
|
//签单=总订单数 |
|
|
|
Integer order_count = sign_order+dif_legion+dif_union+eq_union+not_union; |
|
|
|
// Integer order_count = sign_order+dif_legion+dif_union+eq_union+not_union; |
|
|
|
//带单 |
|
|
|
// Integer sell_order_count = dif_legion+dif_union+eq_union+not_union; |
|
|
|
//总分 |
|
|
|
Double total_score = userCount*activity.getSellingCard()+order_count*activity.getSignOrder() |
|
|
|
Double total_score = userCount*activity.getSellingCard()+orderCount*activity.getSignOrder() |
|
|
|
+dif_legion*activity.getDifLegionOrder()+dif_union*activity.getDifUnionOrder() |
|
|
|
+eq_union*activity.getEqUnionOrder()+not_union*activity.getNotUnionOrder(); |
|
|
|
|
|
|
|
|