From dfe52245f20a8177a0db0bc2841909fb3eab0f13 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期三, 08 十一月 2023 09:07:05 +0800
Subject: [PATCH] 后台bug修改

---
 cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java |   63 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 3 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 e39623c..1e8866d 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
@@ -1,4 +1,5 @@
 package com.dsh.activity.controller;
+import java.util.Date;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -12,10 +13,13 @@
 import com.dsh.activity.feignclient.account.AppUserClient;
 import com.dsh.activity.feignclient.account.CityClient;
 import com.dsh.activity.feignclient.account.StoreStaffClient;
+import com.dsh.activity.feignclient.account.StudentClient;
+import com.dsh.activity.feignclient.account.model.AppUserByNameAndPhoneDTO;
 import com.dsh.activity.feignclient.account.model.TCityManager;
 import com.dsh.activity.feignclient.account.model.TStoreStaff;
 import com.dsh.activity.feignclient.model.CouponExamineListSearch;
 import com.dsh.activity.feignclient.model.CouponListOfSearch;
+import com.dsh.activity.feignclient.model.TAppUser;
 import com.dsh.activity.feignclient.other.OperatorClient;
 import com.dsh.activity.feignclient.other.RegionClient;
 import com.dsh.activity.feignclient.other.StoreClient;
@@ -93,6 +97,8 @@
 
     @Autowired
     private AppUserClient appUserClient;
+    @Autowired
+    private StudentClient studentClient;
 
     /**
      * 查询注册赠送优惠券 判断当前优惠券限领数量
@@ -630,18 +636,69 @@
             }
 
             boolean save = couponService.save(coupon);
+            AppUserByNameAndPhoneDTO dto = new AppUserByNameAndPhoneDTO();
+            List<TAppUser> tAppUsers = appUserClient.queryAppUserList(dto);
+            // 发放数量
+            Integer quantityIssued = dataVo.getQuantityIssued();
+            // 限领数量
+            Integer pickUpQuantity = dataVo.getPickUpQuantity();
+            // 赠送用户数量
+            int count = quantityIssued / pickUpQuantity;
             // 自动发券
             if (dataVo.getDistributionMethod() == 3){
                 // 判断用户人群 再判断限领数量
                 switch (dataVo.getUserGroup()){
                     case 1:
-
+                        // 给全部用户发券
+                        // 全部用户ids
+                        List<Integer> collect = tAppUsers.stream()
+                                .map(TAppUser::getId).collect(Collectors.toList());
+                        for (int i = 0; i < count; i++) {
+                                for (int j = 0; j < pickUpQuantity; j++) {
+                                    UserCoupon u1 = new UserCoupon();
+                                    u1.setCouponId(coupon.getId());
+                                    u1.setUserId(collect.get(i));
+                                    u1.setStatus(1);
+                                    u1.setVerificationUserId(null);
+                                    u1.setVerificationTime(null);
+                                    u1.setInsertTime(new Date());
+                                    ucService.save(u1);
+                                }
+                        }
                         break;
                     case 2:
-
+                        // 给年度会员发券 获取年度会员ids
+                        List<Integer> collect1 = tAppUsers.stream().filter(t -> t.getVipEndTime().after(new Date()))
+                                .map(TAppUser::getId)
+                                .collect(Collectors.toList());
+                        for (int i = 0; i < count; i++) {
+                            for (int j = 0; j < pickUpQuantity; j++) {
+                                UserCoupon u1 = new UserCoupon();
+                                u1.setCouponId(coupon.getId());
+                                u1.setUserId(collect1.get(i));
+                                u1.setStatus(1);
+                                u1.setVerificationUserId(null);
+                                u1.setVerificationTime(null);
+                                u1.setInsertTime(new Date());
+                                ucService.save(u1);
+                            }
+                        }
                         break;
                     case 3:
-
+                        // 给已有学员用户发券 获取已有学员的用户ids
+                        List<Integer> collect2 = studentClient.getHasStudentUser();
+                        for (int i = 0; i < count; i++) {
+                            for (int j = 0; j < pickUpQuantity; j++) {
+                                UserCoupon u1 = new UserCoupon();
+                                u1.setCouponId(coupon.getId());
+                                u1.setUserId(collect2.get(i));
+                                u1.setStatus(1);
+                                u1.setVerificationUserId(null);
+                                u1.setVerificationTime(null);
+                                u1.setInsertTime(new Date());
+                                ucService.save(u1);
+                            }
+                        }
                         break;
                 }
             }

--
Gitblit v1.7.1