From e6546a428db7eab23ca51e0d831b54b24363975f Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Sun, 28 Jan 2024 22:00:39 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 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..15c18c1 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
@@ -622,7 +622,6 @@
                     mallMember = new MallMember();
                     mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
                     mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
-                    mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.name());
                     mallMember.setOpenId(openId);
                     mallMember.setSessionKey(sessionKey);
 
@@ -751,7 +750,6 @@
                     mallMember.setPhone(phone);
                     mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
                     mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
-                    mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.name());
                     this.baseMapper.insert(mallMember);
 
                     String inviteId = ShareCodeUtil.toSerialCode(mallMember.getId());
@@ -1118,6 +1116,23 @@
                 .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())
+                        .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