From 11ad7ad5e43c21f24d2bba44041ebc252d8a4aa6 Mon Sep 17 00:00:00 2001 From: owen Date: Sat, 2 Sep 2023 07:44:16 +0800 Subject: [PATCH] =?UTF-8?q?mall:=20=E4=BC=98=E6=83=A0=E5=88=B8=E9=80=80?= =?UTF-8?q?=E8=BF=98=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/promotion/service/coupon/CouponServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java index 9abbd3c5f..4192126ad 100644 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java @@ -115,12 +115,14 @@ public class CouponServiceImpl implements CouponService { } // 退还 - // TODO @疯狂:最好 where status,避免可能存在的并发问题 Integer status = LocalDateTimeUtils.beforeNow(coupon.getValidEndTime()) // 退还时可能已经过期了 ? CouponStatusEnum.EXPIRE.getStatus() : CouponStatusEnum.UNUSED.getStatus(); - couponMapper.updateById(new CouponDO().setId(id).setStatus(status)); + int updateCount = couponMapper.updateByIdAndStatus(id, CouponStatusEnum.UNUSED.getStatus(), new CouponDO().setStatus(status)); + if (updateCount == 0) { + throw exception(COUPON_STATUS_NOT_USED); + } // TODO 增加优惠券变动记录? }