1
phpcjl
2024-12-20 724b45d14ee8d36389f57eb003c83c8e30ad5f4c
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;
@@ -666,6 +668,31 @@
        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);
                }
            }
            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);
        });
        commissionDetail.setCommissionDateList(commissionDateList);
        return R.ok(commissionDetail);
    }