From 710f361a237a7d60b43ac0da52795f99bc539e4d Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 26 Jan 2024 16:22:36 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 1279ee7..127a262 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -1118,6 +1118,24 @@
                 .eq(MallGoodsCoupon::getState, 2);
         List<MallGoodsCoupon> coupons = mallGoodsCouponMapper.selectList(query);
 
+        LambdaQueryWrapper<MallMemberCoupon> memberCouponQuery = new LambdaQueryWrapper<>();
+        memberCouponQuery.in(MallMemberCoupon::getCouponId, couponIds)
+                        .eq(MallMemberCoupon::getMemberId, member.getId())
+                        .eq(MallMemberCoupon::getState, 1)
+                        .ge(MallMemberCoupon::getCreatedTime, DateUtil.beginOfDay(new Date()))
+                        .le(MallMemberCoupon::getCreatedTime, DateUtil.endOfDay(new Date()));
+        List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectList(memberCouponQuery);
+        if (CollUtil.isNotEmpty(mallMemberCoupons)) {
+            Map<Long, MallMemberCoupon> map = mallMemberCoupons.stream().collect(Collectors.toMap(MallMemberCoupon::getCouponId, MallMemberCoupon -> MallMemberCoupon));
+            coupons = coupons.stream().filter(item -> {
+                return map.get(item.getId()) == null;
+            }).collect(Collectors.toList());
+        }
+
+        if (CollUtil.isEmpty(coupons)) {
+            return new HashMap<>();
+        }
+
         coupons.forEach(item -> {
             MallMemberCoupon memberCoupon = new MallMemberCoupon();
             memberCoupon.setCouponId(item.getId());

--
Gitblit v1.9.1