From 63dbede8fd302de185b4ea7e085cbc9fab7419ec Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期一, 13 一月 2025 11:07:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
index 4010b15..0bad0c1 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -500,9 +500,11 @@
 				}
 			}
 
-			confirmOrderVo.setActivityName(activityInfo1.getActivityName());
-			paymentMoney = paymentMoney.subtract(zyh);
-			activityAmount = activityAmount.add(zyh);
+			if(null != activityInfo1){
+				confirmOrderVo.setActivityName(activityInfo1.getActivityName());
+				paymentMoney = paymentMoney.subtract(zyh);
+				activityAmount = activityAmount.add(zyh);
+			}
 		}
 		confirmOrderVo.setDiscountAmount(activityAmount);
 		int earnPoint = goodsList.stream().mapToInt(MyShoppingCartVo::getEarnSpendingPoints).sum();
@@ -871,7 +873,6 @@
 				}
 			}
 
-			discount = orderActivityInfo1.getDiscount();
 			paymentMoney = paymentMoney.subtract(zyh);
 			activityAmount = activityAmount.add(zyh);
 		}
@@ -938,6 +939,7 @@
 		}
 		if(3 != shoppingCartPayment.getPaymentType() && (fullReductionAmount.compareTo(BigDecimal.ZERO) > 0 ||moneyAmount.compareTo(BigDecimal.ZERO) > 0 || discountAmount.compareTo(BigDecimal.ZERO) > 0)){
 			order.setCouponJson(JSON.toJSONString(couponInfoVo));
+			order.setUserCouponId(shoppingCartPayment.getUserCouponId());
 		}
 		if(null != orderActivityInfo1){
 			order.setActivityJson(JSON.toJSONString(orderActivityInfo1));
@@ -1136,6 +1138,15 @@
 			orderService.updateById(order);
 			//删除购物车数据
 			this.removeBatchByIds(ids);
+			//处理优惠券
+			if(null != order.getUserCouponId()){
+				UserCoupon userCoupon = userCouponClient.getUserCoupon(order.getUserCouponId()).getData();
+				if(null != userCoupon && 1 == userCoupon.getStatus()){
+					userCoupon.setStatus(2);
+					userCoupon.setUseTime(LocalDateTime.now());
+					userCouponClient.editUserCoupon(userCoupon);
+				}
+			}
 		}
 		//积分支付
 		if(3 == shoppingCartPayment.getPaymentType()){
@@ -1339,6 +1350,17 @@
 			order.setOrderStatus(2);
 		}
 		orderService.updateById(order);
+
+		//处理优惠券
+		if(null != order.getUserCouponId()){
+			UserCoupon userCoupon = userCouponClient.getUserCoupon(order.getUserCouponId()).getData();
+			if(null != userCoupon && 1 == userCoupon.getStatus()){
+				userCoupon.setStatus(2);
+				userCoupon.setUseTime(LocalDateTime.now());
+				userCouponClient.editUserCoupon(userCoupon);
+			}
+		}
+
 		//删除购物车数据
 		Long userid = tokenService.getLoginUserApplet().getUserid();
 		List<OrderGood> list = orderGoodService.list(new LambdaQueryWrapper<OrderGood>().eq(OrderGood::getOrderId, order.getId()));

--
Gitblit v1.7.1