From 7361bd1d9740c3cd9cb3fb9fc5425e11048cd4e6 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期日, 28 九月 2025 11:35:27 +0800
Subject: [PATCH] 店铺优惠卷调整

---
 framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java      |    7 ++++---
 framework/src/main/java/cn/lili/modules/lmk/domain/entity/StoreCouponSingle.java                |    6 ++++++
 framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponClaimRecordServiceImpl.java |    7 +++++--
 framework/src/main/java/cn/lili/modules/promotion/service/MemberCouponService.java              |    2 +-
 framework/src/main/java/cn/lili/modules/lmk/domain/entity/StoreCouponClaimRecord.java           |    5 +++++
 5 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/StoreCouponClaimRecord.java b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/StoreCouponClaimRecord.java
index 1fc7b8a..1742de2 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/StoreCouponClaimRecord.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/StoreCouponClaimRecord.java
@@ -43,4 +43,9 @@
     private String userId;
 
 
+    @TableField("member_coupon_id")
+    /** 鐢ㄦ埛棰嗗彇浼樻儬鍗穒d
+     * */
+    private String memberCouponId;
+
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/StoreCouponSingle.java b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/StoreCouponSingle.java
index 1e9673c..dfefe80 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/StoreCouponSingle.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/StoreCouponSingle.java
@@ -61,4 +61,10 @@
     private String claimUserName;
 
 
+    @TableField("member_coupon_id")
+    /** 鐢ㄦ埛棰嗗彇浼樻儬鍗穒d
+     * */
+    private String memberCouponId;
+
+
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponClaimRecordServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponClaimRecordServiceImpl.java
index ddcc7c1..5fa4568 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponClaimRecordServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/StoreCouponClaimRecordServiceImpl.java
@@ -201,7 +201,6 @@
             storeCouponSingle.setClaimStatus(ClaimStatusEnum.CLAIM.name());
             storeCouponSingle.setClaimUserId(userId);
             storeCouponSingle.setClaimUserName(nickName);
-            storeCouponSingleService.updateById(storeCouponSingle);
             //鏍¢獙鏄惁鍦ㄥ崟鍝佸嵎绫婚鍙栬繃
             LambdaQueryWrapper<StoreCoupon> storeCoupQuery = Wrappers.<StoreCoupon>lambdaQuery()
                     .eq(StoreCoupon::getId, storeCouponSingle.getStoreCoupRef()).last("FOR UPDATE");
@@ -213,8 +212,12 @@
                 throw new ServiceException("褰撳墠搴楅摵浼樻儬鍗风姸鎬佸紓甯�");
             }
             //棰嗗彇瀵瑰簲鐨勪紭鎯犲嵎鍐欏叆璁板綍
-            memberCouponService.receiveCoupon(storeCouponSingle.getCouponId(),userId , nickName);
+            MemberCoupon memberCoupon = memberCouponService.receiveCoupon(storeCouponSingle.getCouponId(), userId, nickName);
+            String memberCouponId = memberCoupon.getId();
+            storeCouponSingle.setMemberCouponId(memberCouponId);
+            storeCouponSingleService.updateById(storeCouponSingle);
             StoreCouponClaimRecord storeCouponClaimRecord = getStoreCouponClaimRecord(storeCouponSingle, userId);
+            storeCouponClaimRecord.setMemberCouponId(memberCouponId);
             this.save(storeCouponClaimRecord);
             LambdaUpdateWrapper<StoreCoupon> updateStoreCoupon = Wrappers.<StoreCoupon>lambdaUpdate().eq(StoreCoupon::getId, storeCoupon.getId())
                     .set(StoreCoupon::getCouponClaimNum, storeCoupon.getCouponClaimNum() + 1)
diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/MemberCouponService.java b/framework/src/main/java/cn/lili/modules/promotion/service/MemberCouponService.java
index 055e323..4a603c0 100644
--- a/framework/src/main/java/cn/lili/modules/promotion/service/MemberCouponService.java
+++ b/framework/src/main/java/cn/lili/modules/promotion/service/MemberCouponService.java
@@ -43,7 +43,7 @@
      * @param memberId   浼氬憳
      * @param memberName 浼氬憳鍚嶇О
      */
-    void receiveCoupon(String couponId, String memberId, String memberName);
+    MemberCoupon receiveCoupon(String couponId, String memberId, String memberName);
 
     /**
      * 鑾峰彇浼氬憳浼樻儬鍒稿垪琛�
diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java
index 73325fb..74dfde6 100644
--- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java
@@ -116,10 +116,10 @@
     @Override
     @CacheEvict(key = "#memberId")
     @Transactional(rollbackFor = Exception.class)
-    public void receiveCoupon(String couponId, String memberId, String memberName) {
+    public MemberCoupon receiveCoupon(String couponId, String memberId, String memberName) {
         Coupon coupon = couponService.getById(couponId);
         if (coupon != null) {
-            this.receiverCoupon(couponId, memberId, memberName, coupon);
+           return  this.receiverCoupon(couponId, memberId, memberName, coupon);
         } else {
             throw new ServiceException(ResultCode.COUPON_NOT_EXIST);
         }
@@ -491,7 +491,7 @@
         return this.update(updateWrapper);
     }
 
-    private void receiverCoupon(String couponId, String memberId, String memberName, Coupon coupon) {
+    private MemberCoupon receiverCoupon(String couponId, String memberId, String memberName, Coupon coupon) {
         this.checkCouponLimit(couponId, memberId);
         MemberCoupon memberCoupon = new MemberCoupon(coupon);
         memberCoupon.setMemberId(memberId);
@@ -500,5 +500,6 @@
         memberCoupon.setPlatformFlag((PromotionTools.PLATFORM_ID).equals(coupon.getStoreId()));
         this.save(memberCoupon);
         couponService.receiveCoupon(couponId, 1);
+        return memberCoupon;
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0