Ver código fonte

Merge remote-tracking branch 'origin/master'

wangming 1 semana atrás
pai
commit
afd964509a

+ 6 - 5
yami-shop-api/src/main/java/com/yami/shop/api/listener/SubmitOrderListener.java

@@ -140,8 +140,7 @@ public class SubmitOrderListener {
                 com.yami.shop.bean.model.Order order = new com.yami.shop.bean.model.Order();
                 order.setIsPayed(0);
                 order.setStatus(OrderStatus.UNPAY.value());
-                double actualTotal = Arith.add(shopCartOrderDto.getActualTotal(), shopCartOrderDto.getTransfee());
-                boolean isUseTransfee = false;
+                double actualTotal = shopCartOrderDto.getActualTotal();
                 //企业用户才进这个判断,并且该用户的积分必须大于0
                 if (1 == mergerOrder.getPlatform() && null != point && point > 0) {
                     // 计算商品金额和积分
@@ -161,15 +160,16 @@ public class SubmitOrderListener {
                         order.setOffsetPoints(Long.valueOf(String.valueOf(sub).split("\\.")[0]));
                         actualTotal = sub / 100;
                         mergerOrder.setNextPay(Boolean.TRUE);
-
                     }
                 } else {
                     mergerOrder.setNextPay(Boolean.TRUE);
                 }
+                double sumItemA = 0.0;
                 // 订单商品名称
                 StringBuilder orderProdName = new StringBuilder(100);
                 List<OrderItem> orderItems = new ArrayList<>();
                 List<ShopCartItemDiscountDto> shopCartItemDiscounts = shopCartOrderDto.getShopCartItemDiscounts();
+                boolean isUseTransfee = false;
                 for (ShopCartItemDiscountDto shopCartItemDiscount : shopCartItemDiscounts) {
                     List<ShopCartItemDto> shopCartItems = shopCartItemDiscount.getShopCartItems();
                     for (ShopCartItemDto shopCartItem : shopCartItems) {
@@ -208,6 +208,8 @@ public class SubmitOrderListener {
                                 actualItem = Arith.div(actualItem, 100);
                             }
                         }
+                        //用于判定是否需要微信支付
+                        sumItemA = Arith.add(sumItemA, actualItem);
                         // 实际订单项支付金额
                         // 根据platform来计算是否优先扣减积分抵扣
                         orderItem.setActualTotal(actualItem);
@@ -232,7 +234,6 @@ public class SubmitOrderListener {
                     orderProdName.deleteCharAt(orderProdName.length() - 1);
                 }
 
-
                 order.setShopId(shopId);
                 order.setOrderNumber(orderNumber);
                 // 订单商品名称
@@ -243,7 +244,7 @@ public class SubmitOrderListener {
                 order.setTotal(shopCartOrderDto.getTotal());
                 // 实际总额
                 order.setActualTotal(actualTotal);
-
+                order.setNextPay(sumItemA > 0);//true是需要微信支付
                 order.setChannelId(Long.valueOf(mergerOrder.getPlatform()));
                 order.setUpdateTime(now);
                 order.setCreateTime(now);