From 207ffc854ebaf5c6145194a4de4571a26c5bb036 Mon Sep 17 00:00:00 2001 From: missish <2445921920@qq.com> Date: Tue, 27 May 2025 21:15:17 +0800 Subject: [PATCH] =?UTF-8?q?fix(order):=20=E5=A2=9E=E5=8A=A0=E4=BC=98?= =?UTF-8?q?=E6=83=A0=E5=88=B8=E4=BD=BF=E7=94=A8=E9=99=90=E5=88=B6=E7=9A=84?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/logic/app/order/preCreateOrderLogic.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/logic/app/order/preCreateOrderLogic.go b/internal/logic/app/order/preCreateOrderLogic.go index e131734..1f72559 100644 --- a/internal/logic/app/order/preCreateOrderLogic.go +++ b/internal/logic/app/order/preCreateOrderLogic.go @@ -63,7 +63,7 @@ func (l *PreCreateOrderLogic) PreCreateOrder(req *types.PurchaseOrderRequest) (r } return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseQueryError), "find coupon error: %v", err.Error()) } - if couponInfo.Count <= couponInfo.UsedCount { + if couponInfo.Count > 0 && couponInfo.Count <= couponInfo.UsedCount { return nil, errors.Wrapf(xerr.NewErrCode(xerr.CouponInsufficientUsage), "coupon used") } couponSub := tool.StringToInt64Slice(couponInfo.Subscribe) @@ -79,7 +79,7 @@ func (l *PreCreateOrderLogic) PreCreateOrder(req *types.PurchaseOrderRequest) (r l.Errorw("[Purchase] Database query error", logger.Field("error", err.Error()), logger.Field("user_id", u.Id), logger.Field("coupon", req.Coupon)) return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseQueryError), "find coupon error: %v", err.Error()) } - if count >= couponInfo.UserLimit { + if couponInfo.UserLimit > 0 && count >= couponInfo.UserLimit { return nil, errors.Wrapf(xerr.NewErrCode(xerr.CouponInsufficientUsage), "coupon limit exceeded") } coupon = calculateCoupon(amount, couponInfo)