From 3cb59ae9ddc31e62988e5c7feb6647b44f1c7cf8 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 17 一月 2025 17:50:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java |  133 ++++++++++++++++++++++++--------------------
 1 files changed, 72 insertions(+), 61 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 d89af69..774ed74 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
@@ -531,7 +531,7 @@
         DangerInfoDto dangerInfoDto = new DangerInfoDto();
         BeanUtils.copyProperties(data, dangerInfoDto);
         List<UserPoint> list1 = userPointService.lambdaQuery().eq(UserPoint::getAppUserId,id).eq(UserPoint::getType, 1).ge(UserPoint::getCreateTime, now.minusDays(data.getKeepBuyDay())).list();
-        List<UserPoint> list2 = userPointService.lambdaQuery().eq(UserPoint::getAppUserId,id).eq(UserPoint::getType, 9).ge(UserPoint::getCreateTime, now.minusDays(data.getKeepBuyDay())).list();
+        List<UserPoint> list2 = userPointService.lambdaQuery().eq(UserPoint::getAppUserId,id).eq(UserPoint::getType, 2).ge(UserPoint::getCreateTime, now.minusDays(data.getKeepBuyDay())).list();
         List<UserPoint> list3 = userPointService.lambdaQuery().eq(UserPoint::getAppUserId,id).eq(UserPoint::getType, 8).ge(UserPoint::getCreateTime, now.minusDays(data.getKeepBuyDay())).list();
         Integer userKeepBuyPoint = 0;
         for (UserPoint userPoint : list1) {
@@ -565,6 +565,27 @@
         userChangeLog.setChangeType(0);
         userChangeLogService.save(userChangeLog);
         appUser.setVipId(appUser.getVipId() - 1);
+        appUser.setIsDanger(0);
+        //检查是否达标,不达标继续标红
+        VipSetting vipSetting = vipSettingClient.getVipSetting(appUser.getVipId()).getData();
+        //消费积分
+        List<UserPoint> list1 = userPointService.list(new LambdaQueryWrapper<UserPoint>().eq(UserPoint::getAppUserId, appUser.getId()).eq(UserPoint::getType, 1).last(" and SUBDATE(now(), INTERVAL " + vipSetting.getKeepBuyDay() + " DAY) >= create_time"));
+        int sum = list1.stream().mapToInt(UserPoint::getVariablePoint).sum();
+        if(sum < vipSetting.getKeepBuyPoint()){
+            appUser.setIsDanger(1);
+        }
+        //返佣积分
+        list1 = userPointService.list(new LambdaQueryWrapper<UserPoint>().eq(UserPoint::getAppUserId, appUser.getId()).eq(UserPoint::getType, 2).last(" and SUBDATE(now(), INTERVAL " + vipSetting.getKeepShareDay() + " DAY) >= create_time"));
+        sum = list1.stream().mapToInt(UserPoint::getVariablePoint).sum();
+        if(sum < vipSetting.getKeepSharePoint()){
+            appUser.setIsDanger(1);
+        }
+        //门店业绩
+        list1 = userPointService.list(new LambdaQueryWrapper<UserPoint>().eq(UserPoint::getAppUserId, appUser.getId()).eq(UserPoint::getType, 8).last(" and SUBDATE(now(), INTERVAL " + vipSetting.getKeepShopDay() + " DAY) >= create_time"));
+        sum = list1.stream().mapToInt(UserPoint::getVariablePoint).sum();
+        if(sum < vipSetting.getKeepShopPoint()){
+            appUser.setIsDanger(1);
+        }
         appUserService.updateById(appUser);
         return R.ok();
     }
@@ -846,6 +867,15 @@
         });
 
 
+        R<Map<String, BigDecimal>> shopStatistics = shopClient.getShopStatistics();
+        Map<String, BigDecimal> data = shopStatistics.getData();
+        BigDecimal totalServiceFee = BigDecimal.ZERO;
+        BigDecimal totalUserCommission = BigDecimal.ZERO;
+        if (data != null){
+            totalServiceFee = data.get("serverGiveawayMoney");
+            totalUserCommission = data.get("giveawayMoney");
+        }
+
         BigDecimal totalCommission = BigDecimal.ZERO;
         BigDecimal totalNormalCommission = BigDecimal.ZERO;
 
@@ -861,47 +891,50 @@
 
         BigDecimal totalPartnerCommission = BigDecimal.ZERO;
 
-        List<AppUser> allAppUserList = appUserService.list();
-        for (AppUser appUser : allAppUserList) {
-            BigDecimal totalDistributionAmount = appUser.getTotalDistributionAmount();
-            totalCommission = totalCommission.add(totalDistributionAmount);
-            if (appUser.getVipId() == 1){
-                totalNormalCommission = totalNormalCommission.add(totalDistributionAmount);
-            }
-            if (appUser.getVipId() == 2){
-                totalGoldCommission = totalGoldCommission.add(totalDistributionAmount);
-            }
-            if (appUser.getVipId() == 3){
-                totalDiamondCommission = totalDiamondCommission.add(totalDistributionAmount);
-            }
-            if (appUser.getVipId() == 4){
-                totalAgentCommission = totalAgentCommission.add(totalDistributionAmount);
-            }
-            if (appUser.getVipId() == 5){
-                totalSuperAgentCommission = totalSuperAgentCommission.add(totalDistributionAmount);
-            }
-            if (appUser.getVipId() == 6){
-                totalTopAgentCommission = totalTopAgentCommission.add(totalDistributionAmount);
-            }
-            if (appUser.getVipId() == 7){
-                totalPartnerCommission = totalPartnerCommission.add(totalDistributionAmount);
-            }
+        Set<String> keySet = dailyVipCommissions.keySet();
+        List<CommissionDate> commissionDateList = new ArrayList<>();
+        for (String key : keySet) {
+            CommissionDate commissionDate = new CommissionDate();
+            commissionDate.setDate(key);
+            Map<Integer, BigDecimal> dailyCommissions = dailyVipCommissions.get(key);
+            commissionDate.setNormalCommission(dailyCommissions.getOrDefault(1, BigDecimal.ZERO));
+            totalNormalCommission = totalNormalCommission.add(dailyCommissions.getOrDefault(1, BigDecimal.ZERO));
+
+            commissionDate.setGoldCommission(dailyCommissions.getOrDefault(2, BigDecimal.ZERO));
+            totalGoldCommission = totalGoldCommission.add(dailyCommissions.getOrDefault(2, BigDecimal.ZERO));
+
+            commissionDate.setDiamondCommission(dailyCommissions.getOrDefault(3, BigDecimal.ZERO));
+            totalDiamondCommission = totalDiamondCommission.add(dailyCommissions.getOrDefault(3, BigDecimal.ZERO));
+
+            commissionDate.setAgentCommission(dailyCommissions.getOrDefault(4, BigDecimal.ZERO));
+            totalAgentCommission = totalAgentCommission.add(dailyCommissions.getOrDefault(4, BigDecimal.ZERO));
+
+            commissionDate.setSuperAgentCommission(dailyCommissions.getOrDefault(5, BigDecimal.ZERO));
+            totalSuperAgentCommission = totalSuperAgentCommission.add(dailyCommissions.getOrDefault(5, BigDecimal.ZERO));
+
+            commissionDate.setTopAgentCommission(dailyCommissions.getOrDefault(6, BigDecimal.ZERO));
+            totalTopAgentCommission = totalTopAgentCommission.add(dailyCommissions.getOrDefault(6, BigDecimal.ZERO));
+
+            commissionDate.setPartnerCommission(dailyCommissions.getOrDefault(7, BigDecimal.ZERO));
+            totalPartnerCommission = totalPartnerCommission.add(dailyCommissions.getOrDefault(7, BigDecimal.ZERO));
+
+            // 用户分销总金额
+
+            BigDecimal add = commissionDate.getNormalCommission().add(commissionDate.getGoldCommission()).add(commissionDate.getDiamondCommission()).add(commissionDate.getAgentCommission())
+                    .add(commissionDate.getSuperAgentCommission()).add(commissionDate.getTopAgentCommission()).add(commissionDate.getPartnerCommission());
+            commissionDate.setTotalCommission(add);
+
+            commissionDate.setServiceChargeCommission(dailyCommissions.getOrDefault(10, BigDecimal.ZERO));
+            commissionDate.setAssociatedUserCommission(dailyCommissions.getOrDefault(8, BigDecimal.ZERO));
+            commissionDate.setBindLowerLevelStoresCommission(dailyCommissions.getOrDefault(9, BigDecimal.ZERO));
+            commissionDateList.add(commissionDate);
         }
 
-        R<Map<String, BigDecimal>> shopStatistics = shopClient.getShopStatistics();
-        Map<String, BigDecimal> data = shopStatistics.getData();
-        BigDecimal totalServiceFee = BigDecimal.ZERO;
-        BigDecimal totalUserCommission = BigDecimal.ZERO;
-        if (data != null){
-            totalServiceFee = data.get("serverGiveawayMoney");
-            totalUserCommission = data.get("lowerLevelGiveawayMoney");
-        }
+
 
         CommissionDetail commissionDetail = new CommissionDetail();
-        commissionDetail.setTotalCommission(totalCommission);
         commissionDetail.setTotalServiceFee(totalServiceFee);
         commissionDetail.setTotalUserCommission(totalUserCommission);
-
         commissionDetail.setTotalNormalCommission(totalNormalCommission);
         commissionDetail.setTotalGoldCommission(totalGoldCommission);
         commissionDetail.setTotalDiamondCommission(totalDiamondCommission);
@@ -909,31 +942,9 @@
         commissionDetail.setTotalSuperAgentCommission(totalSuperAgentCommission);
         commissionDetail.setTotalTopAgentCommission(totalTopAgentCommission);
         commissionDetail.setTotalPartnerCommission(totalPartnerCommission);
-
-
-        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.setTopAgentCommission(dailyCommissions.getOrDefault(6, BigDecimal.ZERO));
-                    commissionDate.setPartnerCommission(dailyCommissions.getOrDefault(7, BigDecimal.ZERO));
-                    BigDecimal add = commissionDate.getNormalCommission().add(commissionDate.getGoldCommission()).add(commissionDate.getDiamondCommission()).add(commissionDate.getAgentCommission())
-                            .add(commissionDate.getSuperAgentCommission()).add(commissionDate.getTopAgentCommission()).add(commissionDate.getPartnerCommission());
-                    commissionDate.setTotalCommission(add);
-
-                    commissionDate.setServiceChargeCommission(dailyCommissions.getOrDefault(10, BigDecimal.ZERO));
-                    commissionDate.setAssociatedUserCommission(dailyCommissions.getOrDefault(8, BigDecimal.ZERO));
-                    commissionDate.setBindLowerLevelStoresCommission(dailyCommissions.getOrDefault(9, BigDecimal.ZERO));
-                    return commissionDate;
-                })
-                .collect(Collectors.toList());
-
+        totalCommission = totalNormalCommission.add(totalGoldCommission).add(totalDiamondCommission).add(totalAgentCommission)
+                .add(totalSuperAgentCommission).add(totalTopAgentCommission).add(totalPartnerCommission);
+        commissionDetail.setTotalCommission(totalCommission);
         commissionDetail.setCommissionDateList(commissionDateList);
 
         return R.ok(commissionDetail);

--
Gitblit v1.7.1