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 | 31 ++++++++++++++++++------------- 1 files changed, 18 insertions(+), 13 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 b11a98b..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,13 +1,14 @@ package com.ruoyi.member.service.impl.coupon; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.ruoyi.member.domain.pojo.coupon.Coupon; -import com.ruoyi.member.domain.pojo.coupon.CouponTotal; -import com.ruoyi.member.domain.pojo.coupon.MemberCouponRecord; -import com.ruoyi.member.mapper.coupon.MemberCouponRecordMapper; -import com.ruoyi.member.service.coupon.CouponTotalService; -import com.ruoyi.member.service.coupon.MemberCouponRecordService; 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.ruoyi.system.api.constant.AppErrorConstant; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -25,7 +26,7 @@ @Resource - private CouponTotalService couponTotalService; + private CouponTotalMapper couponTotalMapper; /** * @description 获取用户优惠券领取记录 @@ -55,7 +56,8 @@ public void updateMemberCouponRecord(Coupon coupon, Long userId, Integer number) { // 根据优惠券ID和用户ID获取会员优惠券记录 MemberCouponRecord memberCouponRecord = this.getByCouponIdAndUserId(coupon.getCouponId(), userId); - CouponTotal couponTotal = couponTotalService.getById(coupon.getCouponId()); + Integer sendCount = number; + Integer sendUserCount = 0; if (memberCouponRecord != null) { // 如果会员优惠券记录存在,则更新数量 memberCouponRecord.setNum(memberCouponRecord.getNum() + number); @@ -66,7 +68,7 @@ memberCouponRecord.setLimitNum(99999); } // 如果数量达到限制数量,则设置限制标志为1 - if (memberCouponRecord.getNum()>memberCouponRecord.getLimitNum()) { + if (memberCouponRecord.getNum()>=memberCouponRecord.getLimitNum()) { memberCouponRecord.setLimitFlag(1); } else { memberCouponRecord.setLimitFlag(0); @@ -84,16 +86,19 @@ memberCouponRecord.setLimitNum(99999); } // 根据数量是否达到限制数量设置限制标志 - if (memberCouponRecord.getNum()>memberCouponRecord.getLimitNum()) { + if (memberCouponRecord.getNum()>=memberCouponRecord.getLimitNum()) { memberCouponRecord.setLimitFlag(1); } else { memberCouponRecord.setLimitFlag(0); } - couponTotal.setSendUserCount(couponTotal.getSendUserCount()+1); + sendUserCount = 1; } // 保存或更新会员优惠券记录 + Integer result = couponTotalMapper.updateCouponTotal(coupon.getCouponId(), sendCount,sendUserCount); + if(result<1){ + throw new ServiceException(AppErrorConstant.COUPON_GET_ALL); + } this.saveOrUpdate(memberCouponRecord); - couponTotal.setSendCount(couponTotal.getSendCount()+number); - couponTotalService.saveOrUpdate(couponTotal); + } } -- Gitblit v1.7.1