From fe809cb64532994027c4ed0d5bb35528914dc6e9 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Wed, 15 Sep 2021 11:55:51 +0800 Subject: [PATCH] fix order --- .../com/iformall/domain/po/WxPayOrder.java | 4 +-- .../impl/WxCouponOrderServiceImpl.java | 18 +++++----- .../service/impl/WxPayOrderServiceImpl.java | 36 ++++++++++--------- .../order/impl/SingleOrderAdapterService.java | 4 +-- 4 files changed, 33 insertions(+), 29 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxPayOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxPayOrder.java index 1e0039929..194f1b84c 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxPayOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxPayOrder.java @@ -58,8 +58,8 @@ public class WxPayOrder extends TenantEntity { private Integer shareAmount; @io.swagger.annotations.ApiModelProperty(value="通道费差(购买时刻的通道费差,分账完结时使用)",name="rateAmount") private Integer rateAmount; - @io.swagger.annotations.ApiModelProperty(value="子订单分账金额json",name="childOrderShare") - private String childOrderShare; +// @io.swagger.annotations.ApiModelProperty(value="子订单分账金额json",name="childOrderShare") +// private String childOrderShare; public WxComposeChildOrderShare getChildOrderShare(Long wxOrderId) { if (StringUtils.isBlank(this.childOrderShare)) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index 91b30f6c9..4045a8f3b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -1530,15 +1530,17 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { Map childShares = new HashMap(); OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(composeOrder.getComposeOrderType()); List orderList = orderAdapterService.getChildOrders(composeOrder, appInfo.getTenantId()); - for (WxOrder o : orderList) { - WxCoupon coupon = wxCouponMapper.selectById(o.getProductId(), appInfo.getTenantId()); - WxComposeChildOrderPrice price = orderAdapterService.getChildOrderPrice(coupon, false, o.getOrderGroupId(), o.getCouponNumber()); - int orderMallCharge = OrderHelper.getMallCharge(price.getRealPayMent(), payAccount); - Integer orderShareAmount = price.getRealPayMent() - orderMallCharge; - Integer orderRateAmount = PayUtils.getPayRate(price.getRealPayMent(), payAccount.getRealRate(), true); - childShares.put(String.valueOf(o.getId()), new WxComposeChildOrderShare(price.getRealPayMent(), orderShareAmount, orderRateAmount)); + if (null != orderList && orderList.size() > 0) { + for (WxOrder o : orderList) { + WxCoupon coupon = wxCouponMapper.selectById(o.getProductId(), appInfo.getTenantId()); + WxComposeChildOrderPrice price = orderAdapterService.getChildOrderPrice(coupon, false, o.getOrderGroupId(), o.getCouponNumber()); + int orderMallCharge = OrderHelper.getMallCharge(price.getRealPayMent(), payAccount); + Integer orderShareAmount = price.getRealPayMent() - orderMallCharge; + Integer orderRateAmount = PayUtils.getPayRate(price.getRealPayMent(), payAccount.getRealRate(), true); + childShares.put(String.valueOf(o.getId()), new WxComposeChildOrderShare(price.getRealPayMent(), orderShareAmount, orderRateAmount)); + } + payOrder.setChildOrderShare(JSON.toJSONString(childShares)); } - payOrder.setChildOrderShare(JSON.toJSONString(childShares)); } payOrder.setPayFrom(EnumPayFrom.INSIDE_B.getCode()); payOrder.setPosPayOrderId(couponOrder.getId()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java index 235e55eb3..b3c3dc7dd 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -388,15 +388,17 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { Map childShares = new HashMap(); OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(composeOrder.getComposeOrderType()); List orderList = orderAdapterService.getChildOrders(composeOrder, appInfo.getTenantId()); - for (WxOrder o : orderList) { - WxCoupon coupon = wxCouponMapper.selectById(o.getProductId(), appInfo.getTenantId()); - WxComposeChildOrderPrice price = orderAdapterService.getChildOrderPrice(coupon, false, o.getOrderGroupId(), o.getCouponNumber()); - int orderMallCharge = OrderHelper.getMallCharge(price.getRealPayMent(), payAccount); - Integer orderShareAmount = price.getRealPayMent() - orderMallCharge; - Integer orderRateAmount = OrderHelper.getRateAmount(price.getRealPayMent(),orderMallCharge, payAccount); - childShares.put(String.valueOf(o.getId()), new WxComposeChildOrderShare(price.getRealPayMent(), orderShareAmount, orderRateAmount)); + if(null != orderList && orderList.size() > 0) { + for (WxOrder o : orderList) { + WxCoupon coupon = wxCouponMapper.selectById(o.getProductId(), appInfo.getTenantId()); + WxComposeChildOrderPrice price = orderAdapterService.getChildOrderPrice(coupon, false, o.getOrderGroupId(), o.getCouponNumber()); + int orderMallCharge = OrderHelper.getMallCharge(price.getRealPayMent(), payAccount); + Integer orderShareAmount = price.getRealPayMent() - orderMallCharge; + Integer orderRateAmount = OrderHelper.getRateAmount(price.getRealPayMent(),orderMallCharge, payAccount); + childShares.put(String.valueOf(o.getId()), new WxComposeChildOrderShare(price.getRealPayMent(), orderShareAmount, orderRateAmount)); + } + record.setChildOrderShare(JSON.toJSONString(childShares)); } - record.setChildOrderShare(JSON.toJSONString(childShares)); } int sqlRow = wxPayOrderMapper.insert(record); @@ -508,15 +510,17 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { Map childShares = new HashMap(); OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(composeOrder.getComposeOrderType()); List orderList = orderAdapterService.getChildOrders(composeOrder, appInfo.getTenantId()); - for (WxOrder o : orderList) { - WxCoupon coupon = wxCouponMapper.selectById(o.getProductId(), appInfo.getTenantId()); - WxComposeChildOrderPrice price = orderAdapterService.getChildOrderPrice(coupon, false, o.getOrderGroupId(), o.getCouponNumber()); - int orderMallCharge = OrderHelper.getMallCharge(price.getRealPayMent(), payAccount); - Integer orderShareAmount = price.getRealPayMent() - orderMallCharge; - Integer orderRateAmount = PayUtils.getPayRate(price.getRealPayMent(), payAccount.getRealRate(), true); - childShares.put(String.valueOf(o.getId()), new WxComposeChildOrderShare(price.getRealPayMent(), orderShareAmount, orderRateAmount)); + if (null != orderList && orderList.size() > 0 ) { + for (WxOrder o : orderList) { + WxCoupon coupon = wxCouponMapper.selectById(o.getProductId(), appInfo.getTenantId()); + WxComposeChildOrderPrice price = orderAdapterService.getChildOrderPrice(coupon, false, o.getOrderGroupId(), o.getCouponNumber()); + int orderMallCharge = OrderHelper.getMallCharge(price.getRealPayMent(), payAccount); + Integer orderShareAmount = price.getRealPayMent() - orderMallCharge; + Integer orderRateAmount = PayUtils.getPayRate(price.getRealPayMent(), payAccount.getRealRate(), true); + childShares.put(String.valueOf(o.getId()), new WxComposeChildOrderShare(price.getRealPayMent(), orderShareAmount, orderRateAmount)); + } + record.setChildOrderShare(JSON.toJSONString(childShares)); } - record.setChildOrderShare(JSON.toJSONString(childShares)); } int sqlRow = wxPayOrderMapper.insert(record); diff --git a/mallinkService/src/main/java/com/iformall/service/order/impl/SingleOrderAdapterService.java b/mallinkService/src/main/java/com/iformall/service/order/impl/SingleOrderAdapterService.java index a23162822..953e161a8 100644 --- a/mallinkService/src/main/java/com/iformall/service/order/impl/SingleOrderAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/order/impl/SingleOrderAdapterService.java @@ -52,9 +52,7 @@ public class SingleOrderAdapterService implements OrderAdapterService { @Override public List getChildOrders(WxComposeOrder composeOrder, String tenantId) { - List list = new ArrayList(); - list.add(composeOrder.getSingleOrder()); - return list; + return null; } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})