|
|
|
@@ -473,7 +473,7 @@ public class WxVtwoActivityOrderServiceImpl extends ServiceImpl<WxVtwoActivityOr |
|
|
|
countStatistics = new WxVtwoOrderCountStatistics(); |
|
|
|
countStatistics.setUserCount(0); |
|
|
|
countStatistics.setOrderCount(0); |
|
|
|
countStatistics.setSumMoney(BigDecimal.ZERO); |
|
|
|
countStatistics.setOrderMoney(BigDecimal.ZERO); |
|
|
|
countStatistics.setMerchantCount(0); |
|
|
|
} |
|
|
|
countStatistics.setXTime(date.substring(5).replace("-", "/")); |
|
|
|
@@ -488,11 +488,11 @@ public class WxVtwoActivityOrderServiceImpl extends ServiceImpl<WxVtwoActivityOr |
|
|
|
List<WxVtwoOrderBusinessStatistics> businessStatistics = wxVtwoActivityOrderMapper.getBusinessStatistics(activityOrder); |
|
|
|
if(businessStatistics != null && !businessStatistics.isEmpty()){ |
|
|
|
Map<Integer, WxBusiness> bussinessMap = wxBusinessService.findAllMap(activityOrder); |
|
|
|
BigDecimal totalMoney = businessStatistics.stream().map(WxVtwoOrderBusinessStatistics::getSumMoney).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
BigDecimal totalMoney = businessStatistics.stream().map(WxVtwoOrderBusinessStatistics::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
int totalCount = businessStatistics.size(); |
|
|
|
for (WxVtwoOrderBusinessStatistics statistics : businessStatistics){ |
|
|
|
statistics.setBusinessName(statistics.getBusinessId() == null?"其他":bussinessMap.get(statistics.getBusinessId()).getTitle()); |
|
|
|
statistics.setMoneyRatio(statistics.getSumMoney().divide(totalMoney,4, RoundingMode.HALF_UP).doubleValue()); |
|
|
|
statistics.setMoneyRatio(statistics.getOrderMoney().divide(totalMoney,4, RoundingMode.HALF_UP).doubleValue()); |
|
|
|
statistics.setCountRatio(new BigDecimal(statistics.getBusinessCount()).divide(new BigDecimal(totalCount),4, RoundingMode.HALF_UP).doubleValue()); |
|
|
|
} |
|
|
|
return businessStatistics.stream().sorted(Comparator.comparing(WxVtwoOrderBusinessStatistics::getMoneyRatio).reversed()).collect(Collectors.toList()); |
|
|
|
|