From 57f0ac728903401fd0123ee300eb178bb569a08e Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 22 三月 2024 14:44:11 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |   25 ++++++++++++++++++-------
 1 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index 103e4ff..a4e598f 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -264,7 +264,10 @@
             goodsRealPrice = goodsTotalPrice;
             // 处理优惠券
             if (null != memberCouponId) {
-                appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId);
+                appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId.toString());
+                System.err.println(JSON.toJSONString(appMemberCouponVoMap));
+                System.err.println(memberCouponId);
+                System.err.println(JSON.toJSONString(appMemberCouponVo));
                 if (StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId)) {
                     couponType = appMemberCouponVo.getCouponType();
                     if (couponType == 1 && appMemberCouponVo.getMoneyThreshold() != null && appMemberCouponVo.getDiscountMoney() != null) {
@@ -274,7 +277,7 @@
                             goodsRealPrice = goodsTotalPrice.subtract(discountMoney);
                             useCoupon = 1;
                             userCouponIdSet.add(memberCouponId);
-                            appSureOrderGoodsVo.setMemberCouponId(memberCouponId);
+                            appSureOrderGoodsVo.setMemberCouponId(memberCouponId.toString());
                         }
                     } else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) {
                         discountPercent = appMemberCouponVo.getDiscountPercent();
@@ -282,7 +285,7 @@
                         discountMoney = goodsTotalPrice.subtract(goodsRealPrice);
                         useCoupon = 1;
                         userCouponIdSet.add(memberCouponId);
-                        appSureOrderGoodsVo.setMemberCouponId(memberCouponId);
+                        appSureOrderGoodsVo.setMemberCouponId(memberCouponId.toString());
                     } else if (couponType == 3 && appMemberCouponVo.getDiscountMoney() != null) {
                         discountMoney = appMemberCouponVo.getDiscountMoney();
                         if (goodsTotalPrice.compareTo(discountMoney) > 0) {
@@ -292,7 +295,7 @@
                             }
                             useCoupon = 1;
                             userCouponIdSet.add(memberCouponId);
-                            appSureOrderGoodsVo.setMemberCouponId(memberCouponId);
+                            appSureOrderGoodsVo.setMemberCouponId(memberCouponId.toString());
                         }
                     }
                 }
@@ -636,7 +639,7 @@
             goodsRealPrice = goodsTotalPrice;
             // 如果使用了优惠券,计算优惠后的价格
             if (memberCouponId != null) {
-                appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId);
+                appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId.toString());
                 // 如果优惠券适用于该商品
                 if (StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId)) {
                     couponType = appMemberCouponVo.getCouponType();
@@ -2237,7 +2240,11 @@
     @Transactional
     @GlobalTransactional(rollbackFor = Exception.class)
     public MerVerifyCouponVo sureVerifyCoupon(MerVerifyCouponDto merVerifyCouponDto) {
-        MerVerifyCouponGetVo verifyCouponGetVo = remoteCouponService.getVerifyCoupon(merVerifyCouponDto.getMemberCouponId()).getData();
+        R<MerVerifyCouponGetVo> verifyCoupon = remoteCouponService.getVerifyCoupon(merVerifyCouponDto.getMemberCouponId());
+        if(verifyCoupon.getCode() != 200){
+            throw new ServiceException(verifyCoupon.getMsg());
+        }
+        MerVerifyCouponGetVo verifyCouponGetVo = verifyCoupon.getData();
         MemberCoupon memberCoupon = verifyCouponGetVo.getMemberCoupon();
         ShopRelUserVo shopRelUserVo = remoteShopService.getShopByUserId(merVerifyCouponDto.getUserId()).getData();
         Long userId = verifyCouponGetVo.getUserId();
@@ -4599,7 +4606,11 @@
         // 创建MerVerifyCouponVo对象
         MerVerifyCouponVo merVerifyCouponVo = new MerVerifyCouponVo();
         // 调用remoteCouponService的getVerifyCoupon方法获取MerVerifyCouponGetVo对象
-        MerVerifyCouponGetVo verifyCouponGetVo = remoteCouponService.getVerifyCoupon(Long.valueOf(verifyCode)).getData();
+        R<MerVerifyCouponGetVo> verifyCoupon = remoteCouponService.getVerifyCoupon(Long.valueOf(verifyCode));
+        if(verifyCoupon.getCode() != 200){
+            throw new ServiceException(verifyCoupon.getMsg());
+        }
+        MerVerifyCouponGetVo verifyCouponGetVo = verifyCoupon.getData();
         MemberCoupon memberCoupon = verifyCouponGetVo.getMemberCoupon();
         // 检查优惠券状态
         int couponStatus = memberCoupon.getCouponStatus();

--
Gitblit v1.7.1