From 0381d6fdd6831eb0abdd8bdd90a4a6a7b6e9026c Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 23 十二月 2024 10:35:23 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java | 38 ++++++++++++++++++++++++++++++++++---- 1 files changed, 34 insertions(+), 4 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java index 44a756b..cef0b0f 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java @@ -37,7 +37,9 @@ import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.stream.Collectors; import com.ruoyi.account.vo.*; import com.ruoyi.common.core.web.controller.BaseController; @@ -641,15 +643,24 @@ 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); } } @@ -666,9 +677,28 @@ commissionDetail.setTotalTopAgentCommission(vipCommissions.getOrDefault(6, BigDecimal.ZERO)); commissionDetail.setTotalPartnerCommission(vipCommissions.getOrDefault(7, BigDecimal.ZERO)); + List<CommissionDate> commissionDateList = dailyVipCommissions.entrySet().stream() + .map(entry -> { + CommissionDate commissionDate = new 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); } + } -- Gitblit v1.7.1