ソースを参照

fix the bug of retrieve userCouponId (#371)

the original logic is wrong, it will just get the last coupon item of a user, mismatch the couponId and discount.
Timmy Zhang 5 年 前
コミット
b3c51ff79d

+ 3 - 3
litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxCartController.java

@@ -469,8 +469,7 @@ public class WxCartController {
         int tmpCouponLength = 0;
         List<LitemallCouponUser> couponUserList = couponUserService.queryAll(userId);
         for(LitemallCouponUser couponUser : couponUserList){
-            tmpUserCouponId = couponUser.getId();
-            LitemallCoupon coupon = couponVerifyService.checkCoupon(userId, couponUser.getCouponId(), tmpUserCouponId, checkedGoodsPrice);
+            LitemallCoupon coupon = couponVerifyService.checkCoupon(userId, couponUser.getCouponId(), couponUser.getId(), checkedGoodsPrice);
             if(coupon == null){
                 continue;
             }
@@ -479,6 +478,7 @@ public class WxCartController {
             if(tmpCouponPrice.compareTo(coupon.getDiscount()) == -1){
                 tmpCouponPrice = coupon.getDiscount();
                 tmpCouponId = coupon.getId();
+                tmpUserCouponId = couponUser.getId();
             }
         }
         // 获取优惠券减免金额,优惠券可用数量
@@ -541,4 +541,4 @@ public class WxCartController {
         data.put("checkedGoodsList", checkedGoodsList);
         return ResponseUtil.ok(data);
     }
-}
+}