From 3f45e8fdfa31d7b764d60a7c0cb5dd11944ed418 Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期一, 21 九月 2026 23:38:59 +0800
Subject: [PATCH] bug:统计数据修正

---
 cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
index f1ae239..01cebc9 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -754,8 +754,19 @@
                         coupon.setIntegral(BigDecimal.valueOf(dataVo.getRequiredPoints()));
                         break;
                     case 2:
-                        coupon.setIntegral(BigDecimal.valueOf(dataVo.getRequiredPoints()));
-                        coupon.setCash(dataVo.getRequiredCash());
+                        if (dataVo.getRequiredCash() != null){
+                            coupon.setCash(dataVo.getRequiredCash());
+                        }else{
+                            coupon.setCash(BigDecimal.ZERO);
+
+                        }
+                        if (dataVo.getRequiredPoints() != null){
+                            coupon.setIntegral(BigDecimal.valueOf(dataVo.getRequiredPoints()));
+
+                        }else{
+                            coupon.setIntegral(BigDecimal.ZERO);
+
+                        }
                         break;
                     case 3:
                         coupon.setCash(dataVo.getRequiredCash());
@@ -814,6 +825,7 @@
             Integer pickUpQuantity = dataVo.getPickUpQuantity();
             // 赠送用户数量
             int count = quantityIssued / pickUpQuantity;
+
             // 自动发券
             if (dataVo.getDistributionMethod() == 3) {
                 // 判断用户人群 再判断限领数量
@@ -823,6 +835,9 @@
                         // 全部用户ids
                         List<Integer> collect = tAppUsers.stream()
                                 .map(TAppUser::getId).collect(Collectors.toList());
+                        if (collect.size()<count){
+                            count = collect.size();
+                        }
                         for (int i = 0; i < count; i++) {
                             for (int j = 0; j < pickUpQuantity; j++) {
                                 UserCoupon u1 = new UserCoupon();
@@ -841,6 +856,9 @@
                         List<Integer> collect1 = tAppUsers.stream().filter(t -> t.getVipEndTime().after(new Date()))
                                 .map(TAppUser::getId)
                                 .collect(Collectors.toList());
+                        if (collect1.size()<count){
+                            count = collect1.size();
+                        }
                         for (int i = 0; i < count; i++) {
                             for (int j = 0; j < pickUpQuantity; j++) {
                                 UserCoupon u1 = new UserCoupon();
@@ -857,6 +875,9 @@
                     case 3:
                         // 给已有学员用户发券 获取已有学员的用户ids
                         List<Integer> collect2 = studentClient.getHasStudentUser();
+                        if (collect2.size()<count){
+                            count = collect2.size();
+                        }
                         for (int i = 0; i < count; i++) {
                             for (int j = 0; j < pickUpQuantity; j++) {
                                 UserCoupon u1 = new UserCoupon();

--
Gitblit v1.7.1