From 59bfd0b8bbbf0ee94ec68e4a3a1a6e536d0ad8fd Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 20 五月 2026 23:10:43 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/gtzxinglijicun

---
 server/services/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java |   23 ++++++++++++++++++-----
 1 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java
index 7e792fa..7de8bb1 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java
@@ -26,7 +26,9 @@
 
 import java.util.Calendar;
 import java.util.Date;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 
 @Service
@@ -197,6 +199,22 @@
     }
 
     @Override
+    public Map<String, Integer> findPendingCount(Integer memberId) {
+        Long waitClaim = memberCouponMapper.selectCount(new QueryWrapper<MemberCoupon>().lambda()
+                .eq(MemberCoupon::getMemberId, memberId)
+                .eq(MemberCoupon::getStatus, Constants.CouponStatus.waitClaim.getKey())
+                .eq(MemberCoupon::getIsdeleted, Constants.ZERO));
+        Long waitUse = memberCouponMapper.selectCount(new QueryWrapper<MemberCoupon>().lambda()
+                .eq(MemberCoupon::getMemberId, memberId)
+                .eq(MemberCoupon::getStatus, Constants.CouponStatus.claimed.getKey())
+                .eq(MemberCoupon::getIsdeleted, Constants.ZERO));
+        Map<String, Integer> result = new LinkedHashMap<>();
+        result.put("waitClaim", waitClaim != null ? waitClaim.intValue() : 0);
+        result.put("waitUse", waitUse != null ? waitUse.intValue() : 0);
+        return result;
+    }
+
+    @Override
     @Transactional(rollbackFor = {Exception.class, BusinessException.class})
     public void claimCoupon(Integer memberId, Integer couponId) {
         // 鏌ヨ璇ヤ細鍛樼殑寰呴鍙栦紭鎯犲埜璁板綍
@@ -207,11 +225,6 @@
                 .eq(MemberCoupon::getIsdeleted, Constants.ZERO));
         if (mc == null) {
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
-        }
-        // 鏍¢獙浼樻儬鍒告槸鍚︽湁鏁�
-        Coupon coupon = couponMapper.selectById(couponId);
-        if (coupon == null || coupon.getStatus() != Constants.ZERO) {
-            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "浼樻儬鍒告棤鏁�");
         }
         // 鏍囪宸查鍙栵紝璁$畻鏈夋晥鏈�
         Date now = new Date();

--
Gitblit v1.9.3