| | |
| | | BigDecimal totalServiceFee = BigDecimal.ZERO; |
| | | BigDecimal totalUserCommission = BigDecimal.ZERO; |
| | | Map<Integer, BigDecimal> vipCommissions = new HashMap<>(); |
| | | Map<String, Map<Integer, BigDecimal>> dailyVipCommissions = new HashMap<>(); |
| | | |
| | | for (AppUser appUser : appUserList) { |
| | | totalCommission = totalCommission.add(Optional.ofNullable(appUser.getTotalDistributionAmount()).orElse(BigDecimal.ZERO)); |
| | | totalServiceFee = totalServiceFee.add(Optional.ofNullable(appUser.getShopServiceFee()).orElse(BigDecimal.ZERO)); |
| | | totalUserCommission = totalUserCommission.add(Optional.ofNullable(appUser.getShopCommission()).orElse(BigDecimal.ZERO)); |
| | | BigDecimal distributionAmount = Optional.ofNullable(appUser.getTotalDistributionAmount()).orElse(BigDecimal.ZERO); |
| | | BigDecimal serviceFee = Optional.ofNullable(appUser.getShopServiceFee()).orElse(BigDecimal.ZERO); |
| | | BigDecimal userCommission = Optional.ofNullable(appUser.getShopCommission()).orElse(BigDecimal.ZERO); |
| | | |
| | | totalCommission = totalCommission.add(distributionAmount); |
| | | totalServiceFee = totalServiceFee.add(serviceFee); |
| | | totalUserCommission = totalUserCommission.add(userCommission); |
| | | |
| | | Integer vipId = appUser.getVipId(); |
| | | if (vipId != null && vipId >= 1 && vipId <= 7) { |
| | | vipCommissions.merge(vipId, Optional.ofNullable(appUser.getTotalDistributionAmount()).orElse(BigDecimal.ZERO), BigDecimal::add); |
| | | vipCommissions.merge(vipId, distributionAmount, BigDecimal::add); |
| | | |
| | | String dateKey = appUser.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); |
| | | dailyVipCommissions.computeIfAbsent(dateKey, k -> new HashMap<>()) |
| | | .merge(vipId, distributionAmount, BigDecimal::add); |
| | | } |
| | | } |
| | | |
| | |
| | | commissionDetail.setTotalTopAgentCommission(vipCommissions.getOrDefault(6, BigDecimal.ZERO)); |
| | | commissionDetail.setTotalPartnerCommission(vipCommissions.getOrDefault(7, BigDecimal.ZERO)); |
| | | |
| | | Map<String, List<AppUser>> map = appUserList.stream().collect(Collectors.groupingBy(item -> item.getCreateTime() |
| | | .format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))); |
| | | List<CommissionDate> commissionDateList = new ArrayList<>(); |
| | | map.forEach((key, value) -> { |
| | | |
| | | Map<Integer, BigDecimal> vipCommissions2 = new HashMap<>(); |
| | | for (AppUser appUser : appUserList) { |
| | | Integer vipId = appUser.getVipId(); |
| | | if (vipId != null && vipId >= 1 && vipId <= 7) { |
| | | vipCommissions2.merge(vipId, Optional.ofNullable(appUser.getTotalDistributionAmount()).orElse(BigDecimal.ZERO), BigDecimal::add); |
| | | } |
| | | } |
| | | List<CommissionDate> commissionDateList = dailyVipCommissions.entrySet().stream() |
| | | .map(entry -> { |
| | | CommissionDate commissionDate = new CommissionDate(); |
| | | commissionDate.setDate(key); |
| | | commissionDate.setNormalCommission(vipCommissions2.getOrDefault(1, BigDecimal.ZERO)); |
| | | commissionDate.setGoldCommission(vipCommissions2.getOrDefault(2, BigDecimal.ZERO)); |
| | | commissionDate.setDiamondCommission(vipCommissions2.getOrDefault(3, BigDecimal.ZERO)); |
| | | commissionDate.setAgentCommission(vipCommissions2.getOrDefault(4, BigDecimal.ZERO)); |
| | | commissionDate.setSuperAgentCommission(vipCommissions2.getOrDefault(5, BigDecimal.ZERO)); |
| | | commissionDate.setAgentCommission(vipCommissions2.getOrDefault(6, BigDecimal.ZERO)); |
| | | commissionDate.setPartnerCommission(vipCommissions2.getOrDefault(7, BigDecimal.ZERO)); |
| | | commissionDateList.add(commissionDate); |
| | | }); |
| | | commissionDate.setDate(entry.getKey()); |
| | | Map<Integer, BigDecimal> dailyCommissions = entry.getValue(); |
| | | commissionDate.setNormalCommission(dailyCommissions.getOrDefault(1, BigDecimal.ZERO)); |
| | | commissionDate.setGoldCommission(dailyCommissions.getOrDefault(2, BigDecimal.ZERO)); |
| | | commissionDate.setDiamondCommission(dailyCommissions.getOrDefault(3, BigDecimal.ZERO)); |
| | | commissionDate.setAgentCommission(dailyCommissions.getOrDefault(4, BigDecimal.ZERO)); |
| | | commissionDate.setSuperAgentCommission(dailyCommissions.getOrDefault(5, BigDecimal.ZERO)); |
| | | commissionDate.setPartnerCommission(dailyCommissions.getOrDefault(6, BigDecimal.ZERO)); |
| | | commissionDate.setPartnerCommission(dailyCommissions.getOrDefault(7, BigDecimal.ZERO)); |
| | | return commissionDate; |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | |
| | | commissionDetail.setCommissionDateList(commissionDateList); |
| | | |
| | | return R.ok(commissionDetail); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |