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