From 7a8af8c19b40b8028e25ee0b669463d06f723a30 Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期一, 21 九月 2026 15:57:24 +0800
Subject: [PATCH] bug:测试问题统一修改
---
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java | 26 +++++++++++++++++---------
1 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
index a01492b..d05d8818ea 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -895,6 +895,7 @@
siteBooking.setPayMoney(BigDecimal.ZERO.doubleValue());
siteBooking.setPayTime(new Date());
siteBookingService.updateById(siteBooking);
+ consumeCouponAfterSuccessfulPayment(siteBooking);
HashMap<String, String> map = new HashMap<>();
map.put("siteBooking", siteBooking.getId().toString());
return ResultUtil.success(map);
@@ -1043,9 +1044,25 @@
siteBooking.setPayTime(new Date());
siteBooking.setStatus(1);
siteBookingService.updateById(siteBooking);
+ consumeCouponAfterSuccessfulPayment(siteBooking);
HashMap<String, String> map = new HashMap<>();
map.put("siteBooking", siteBooking.getId().toString());
return ResultUtil.success(map);
+ }
+
+ /**
+ * 场地订单实际支付成功后才核销所选优惠券;避免仅创建待支付订单就提前消耗优惠券。
+ */
+ private void consumeCouponAfterSuccessfulPayment(SiteBooking siteBooking) {
+ if (siteBooking.getUserCouponId() == null || siteBooking.getUserCouponId() == 0) {
+ return;
+ }
+ UserCoupon userCoupon = userCouponClient.queryUserCouponById(
+ new QueryUserCouponByIdAndUserId(siteBooking.getUserCouponId(), siteBooking.getAppUserId()));
+ if (userCoupon != null && Integer.valueOf(1).equals(userCoupon.getStatus())) {
+ userCoupon.setStatus(2);
+ userCouponClient.updateUserCoupon(userCoupon);
+ }
}
@@ -1285,12 +1302,6 @@
userCoupon.setStatus(2);
userCouponClient.updateUserCoupon(userCoupon);
}
- if (null != couponId && payType == 3) {
- UserCoupon userCoupon = userCouponClient.queryUserCouponById(new QueryUserCouponByIdAndUserId(siteBooking.getUserCouponId(), appUser.getId()));
- userCoupon.setStatus(1);
- userCouponClient.updateUserCoupon(userCoupon);
- }
-
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
siteBooking.setOrderNo(sdf.format(new Date()) + UUIDUtil.getNumberRandom(3));
@@ -1299,9 +1310,6 @@
siteBooking.setPayMoney(playCoin.doubleValue());
} else {
siteBooking.setPayMoney(money.doubleValue());
- }
- if (payType == 3) {
- siteBooking.setUserCouponId(null);
}
siteBookingService.updateById(siteBooking);
if (payType == 1) {//微信支付
--
Gitblit v1.7.1