From 4de702b1118f0918be8ca9a297dd38f93bb5d415 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Wed, 18 Sep 2019 16:46:41 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8D=A1][=E4=BF=AE=E6=94=B9]:=E5=8D=A1?= =?UTF-8?q?=E9=A2=86=E5=8F=96=E5=85=8D=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/domain/po/WxCoupon.java | 11 ++++++ .../service/impl/WxOrderServiceImpl.java | 39 +++++++++++-------- 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java index 8175d4c26..35817be93 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java @@ -276,4 +276,15 @@ public class WxCoupon extends BaseEntity { return false; } + public boolean checkIsFree() { + if(salePrice!= null) { + if (salePrice.equals(0)) { + return true; + } else { + return false; + } + } + return false; + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index b02b5cfb6..389bd386f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -693,30 +693,37 @@ public class WxOrderServiceImpl implements WxOrderService { /// 储值卡信息添加 if (isCard) { WxPayOrder payOrder = null; - try { - WxPayOrder payOrderQ = new WxPayOrder(); - payOrderQ.setTenantId(user.getTenantId()); - payOrderQ.setOrderId(order.getId()); - payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); - payOrder = wxPayOrderMapper.selectOne(new QueryWrapper(payOrderQ)); - } catch (Exception e) { - logger.error("payOrder not found:" + e.getMessage()); - } - - Integer fee = payOrder.getPayAmount() - payOrder.getShareAmount(); - + Integer fee = 0; WxCardInfo cardInfo = new WxCardInfo(); cardInfo.setId(couponOrder.getId()); cardInfo.setTenantId(user.getTenantId()); cardInfo.setCouponId(order.getProductId()); - cardInfo.setTransactionId(payOrder.getTransactionId()); cardInfo.setAmount(coupon.getPrice()); cardInfo.setSaleAmount(coupon.getSalePrice()); cardInfo.setRemainingAmount(coupon.getPrice()); + + if (!coupon.checkIsFree()) { + try { + WxPayOrder payOrderQ = new WxPayOrder(); + payOrderQ.setTenantId(user.getTenantId()); + payOrderQ.setOrderId(order.getId()); + payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); + payOrder = wxPayOrderMapper.selectOne(new QueryWrapper(payOrderQ)); + } catch (Exception e) { + logger.error("payOrder not found:" + e.getMessage()); + } + fee = payOrder.getPayAmount() - payOrder.getShareAmount(); + cardInfo.setTransactionId(payOrder.getTransactionId()); + cardInfo.setShareFeeAmount(payOrder.getShareAmount()); + cardInfo.setRemainingShareFeeAmount(payOrder.getShareAmount()); + cardInfo.setRateAmount(payOrder.getRateAmount()); + } else { + cardInfo.setShareFeeAmount(0); + cardInfo.setRemainingShareFeeAmount(0); + cardInfo.setRateAmount(0); + } + cardInfo.setServiceFeeAmount(fee); - cardInfo.setShareFeeAmount(payOrder.getShareAmount()); - cardInfo.setRemainingShareFeeAmount(payOrder.getShareAmount()); - cardInfo.setRateAmount(payOrder.getRateAmount()); cardInfo.setCreateDate(curr); cardInfo.setUpdateDate(curr); cardInfo.setSupportTransfer(coupon.getSupportTransfer());