diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderInfo.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderInfo.java index 38ef2ad..cbdc02d 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderInfo.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderInfo.java @@ -135,6 +135,7 @@ public class TbOrderInfo implements Serializable { private BigDecimal productCouponDiscountAmount; private String couponInfoList; private int isPostpaid; + private Object useCouponInfo; public void setDescription(String shopName) { this.shopName = shopName; diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java index b17ad28..3c3c24f 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -1305,7 +1305,7 @@ public class CartService { } else { if (!TableConstant.CashierCart.ID.equals(tbCashierCart.getProductId())) { TbProductSkuWithBLOBs sku = productSkuMapper.selectByPrimaryKey(Integer.valueOf(tbCashierCart.getSkuId())); - tbCashierCart.setIsMember(sku.getMemberPrice() != null && sku.getMemberPrice().compareTo(BigDecimal.ZERO) > 0 ? 1 : 0); + tbCashierCart.setIsMember(!shopEatTypeInfoDTO.isMemberPrice() ? 0 : 1); } } tbCashierCart.resetTotalAmount(); @@ -1534,7 +1534,7 @@ public class CartService { private void returnCoupon(TbOrderInfo orderInfo) { // 返还优惠券 - PayService.returnCoupon(orderInfo, shopCouponService); + PayService.returnCoupon(orderInfo, shopCouponService, mpCashierCartMapper); } private void consumeCoupon(List outRecordList, Integer memberId, TbOrderInfo orderInfo) { diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java index 80cafb6..369c3c3 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java @@ -419,7 +419,7 @@ public class PayService { } // 返还优惠券 - returnCoupon(orderInfo, shopCouponService); + returnCoupon(orderInfo, shopCouponService, mpCashierCartMapper); BigDecimal shouldPayAmount = orderInfo.getOriginAmount().multiply(BigDecimal.valueOf(freeDineConfig.getRechargeTimes())); @@ -491,7 +491,7 @@ public class PayService { return shouldPayAmount; } - static void returnCoupon(TbOrderInfo orderInfo, TbShopCouponService shopCouponService) { + static void returnCoupon(TbOrderInfo orderInfo, TbShopCouponService shopCouponService, MpCashierCartMapper cashierCartMapper) { if (StrUtil.isNotBlank(orderInfo.getCouponInfoList())) { OrderCouponInfoDTO couponInfoDTO = JSONObject.parseObject(orderInfo.getCouponInfoList(), OrderCouponInfoDTO.class); // 券返还 @@ -502,6 +502,15 @@ public class PayService { shopCouponService.refund(couponInfoDTO.getOutRecordList()); couponInfoDTO.setOutRecordList(new ArrayList<>()); orderInfo.setCouponInfoList(JSONObject.toJSONString(couponInfoDTO)); + orderInfo.setUserCouponId(null); + orderInfo.setUseCouponInfo(null); + + // 修改购物车券信息 + cashierCartMapper.update(null, new LambdaUpdateWrapper() + .eq(TbCashierCart::getOrderId, orderInfo.getId()) + .set(TbCashierCart::getUserCouponId, null) + .set(TbCashierCart::getUseCouponInfo, null)); + } } }