From 4e97bf5c84a1aed6c0d9f6df277421f8ba5ed1a9 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期五, 06 十二月 2024 21:32:55 +0800
Subject: [PATCH] 1.售后存在多条情况修复

---
 src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java b/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java
index 247093e..b09c467 100644
--- a/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java
+++ b/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java
@@ -40,6 +40,7 @@
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
@@ -293,6 +294,7 @@
                     couponRecordDO.setPoint(couponTemplateDO.getPoint());
                     couponRecordDO.setMemberId(couponTemplateDO.getMemberId());
                     couponRecordDO.setImageUrl(couponTemplateDO.getImageUrl());
+                    couponRecordDO.setCouponDescription(couponTemplateDO.getCouponDescription());
 
                     // 创建相关信息
                     couponRecordDO.create(SecurityUtils.getUserId());
@@ -489,9 +491,51 @@
     }
 
     @Override
-    public List<CouponTemplateVO> getActivityEffectList(QueryActivityEffectCouponDTO dto) {
+    public boolean expireActivityCouponTemplateAll() {
 
-        return couponTemplateMapperCustom.getActivityEffectList(dto);
+        return couponTemplateMapperCustom.expireActivityCouponTemplateAll()>0;
+    }
+
+    @Override
+    public List<CouponTemplateVO> getActivityEffectListWithMine(QueryActivityEffectCouponDTO dto) {
+        // 1.点击领取,优惠券状态变成灰色+已领取(根据web端优惠券限领次数判断)
+        //2.把已领取的优惠券按照领取时间排列到最下面
+        List<CouponTemplateVO> list= couponTemplateMapperCustom.getActivityEffectListWithMine(dto);
+
+        // 将列表分为已经领取和未领取的,根据getYetFlag来判断,下面的所有操作都要判空
+        if(CollectionUtils.isNotEmpty(list)){
+            // 遍历列表,查看当前的优惠券是否已经达到领取次数,如果是则为true,不是为false
+            list.forEach(item->{
+                if (item != null) {
+                    item.setGetYetFlag(false);
+                    if (null != item.getGetNum() && null != item.getGetLimit() && item.getGetNum() >= item.getGetLimit()) {
+                        item.setGetYetFlag(true);
+                    }
+                }
+            });
+            List<CouponTemplateVO> getYetList = list.stream().filter(item->item.getGetYetFlag()).collect(Collectors.toList());
+            List<CouponTemplateVO> getNotYetList = list.stream().filter(item->!item.getGetYetFlag()).collect(Collectors.toList());
+            list.clear();
+            if(CollectionUtils.isNotEmpty(getNotYetList)){
+                // 将未领取的根据create_time 倒序排序
+                getNotYetList.sort(Comparator.comparing(CouponTemplateVO::getCreateTime).reversed());
+                // 将未领取和已领取的合并成新list返回
+                list.addAll(getNotYetList);
+            }
+            if(CollectionUtils.isNotEmpty(getYetList)){
+                // 将已经领取的根据recordCreateTime 时间正序排
+                getYetList.sort(Comparator.comparing(CouponTemplateVO::getRecordCreateTime));
+                list.addAll(getYetList);
+            }
+            return list;
+        }
+
+        return new ArrayList<>();
+    }
+
+    @Override
+    public List<CouponTemplateVO> getActivityEffectList(QueryActivityEffectCouponDTO dto) {
+        return couponTemplateMapperCustom.getActivityEffectListWithMine(dto);
     }
 
 }

--
Gitblit v1.9.3