From afa0dbb4f54e7244835dd67ec33c3e545f122f71 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 17 一月 2025 16:40:43 +0800
Subject: [PATCH] bug修改

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/MemberCouponRecordServiceImpl.java |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/MemberCouponRecordServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/MemberCouponRecordServiceImpl.java
index d93e1b9..16f17f4 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/MemberCouponRecordServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/MemberCouponRecordServiceImpl.java
@@ -1,12 +1,17 @@
 package com.ruoyi.member.service.impl.coupon;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.member.domain.pojo.coupon.Coupon;
 import com.ruoyi.member.domain.pojo.coupon.MemberCouponRecord;
+import com.ruoyi.member.mapper.coupon.CouponTotalMapper;
 import com.ruoyi.member.mapper.coupon.MemberCouponRecordMapper;
 import com.ruoyi.member.service.coupon.MemberCouponRecordService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.system.api.constant.AppErrorConstant;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
 
 /**
  * <p>
@@ -19,6 +24,9 @@
 @Service
 public class MemberCouponRecordServiceImpl extends ServiceImpl<MemberCouponRecordMapper, MemberCouponRecord> implements MemberCouponRecordService {
 
+
+    @Resource
+    private CouponTotalMapper couponTotalMapper;
 
     /**
      * @description  获取用户优惠券领取记录
@@ -48,6 +56,8 @@
     public void updateMemberCouponRecord(Coupon coupon, Long userId, Integer number) {
         // 根据优惠券ID和用户ID获取会员优惠券记录
         MemberCouponRecord memberCouponRecord = this.getByCouponIdAndUserId(coupon.getCouponId(), userId);
+        Integer sendCount = number;
+        Integer sendUserCount = 0;
         if (memberCouponRecord != null) {
             // 如果会员优惠券记录存在,则更新数量
             memberCouponRecord.setNum(memberCouponRecord.getNum() + number);
@@ -58,7 +68,7 @@
                 memberCouponRecord.setLimitNum(99999);
             }
             // 如果数量达到限制数量,则设置限制标志为1
-            if (memberCouponRecord.getNum()>memberCouponRecord.getLimitNum()) {
+            if (memberCouponRecord.getNum()>=memberCouponRecord.getLimitNum()) {
                 memberCouponRecord.setLimitFlag(1);
             } else {
                 memberCouponRecord.setLimitFlag(0);
@@ -76,13 +86,19 @@
                 memberCouponRecord.setLimitNum(99999);
             }
             // 根据数量是否达到限制数量设置限制标志
-            if (memberCouponRecord.getNum()>memberCouponRecord.getLimitNum()) {
+            if (memberCouponRecord.getNum()>=memberCouponRecord.getLimitNum()) {
                 memberCouponRecord.setLimitFlag(1);
             } else {
                 memberCouponRecord.setLimitFlag(0);
             }
+            sendUserCount = 1;
         }
         // 保存或更新会员优惠券记录
+        Integer result = couponTotalMapper.updateCouponTotal(coupon.getCouponId(), sendCount,sendUserCount);
+        if(result<1){
+            throw new ServiceException(AppErrorConstant.COUPON_GET_ALL);
+        }
         this.saveOrUpdate(memberCouponRecord);
+
     }
 }

--
Gitblit v1.7.1