Przeglądaj źródła

Merge remote-tracking branch 'origin/master_saas' into master_saas

zouxuan 2 lat temu
rodzic
commit
5b00677678

+ 1 - 1
mec-client-api/src/main/java/com/ym/mec/web/WebFeignService.java

@@ -77,6 +77,6 @@ public interface WebFeignService {
 	HttpResponseResult receive(@RequestParam("orderNo") String orderNo,@RequestParam("autoReceive") boolean autoReceive);
 
 	// 商城获取 收货状态
-	@PostMapping("/balance")
+	@PostMapping("/api/balance")
 	HttpResponseResult<BigDecimal> balance(@RequestParam("userId") Long userId);
 }

+ 43 - 36
mec-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsPortalOrderServiceImpl.java

@@ -200,6 +200,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             orderItem.setGiftGrowth(cartPromotionItem.getGrowth());
             orderItem.setPromoterId(cartPromotionItem.getPromoterId());
             orderItem.setPrecisionAmount(BigDecimal.ZERO);
+            orderItem.setIntegrationAmount(new BigDecimal(0));
             orderItemList.add(orderItem);
         }
         //判断购物车中商品是否都有库存
@@ -242,40 +243,43 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
         }
         BigDecimal balanceAmount = BigDecimal.ZERO;
         //判断是否使用积分
-        if (orderParam.isUseBalance()) {
-
-            // 查询余额
-            HttpResponseResult<BigDecimal> balance = webFeignService.balance(orderParam.getUserId());
-            if(balance.getStatus()) {
-                balanceAmount = balance.getData();
-            } else {
-                LOG.error("余额查询失败:{}",balance.getMsg());
-            }
-
-            //不使用积分
-            for (OmsOrderItem orderItem : orderItemList) {
-                orderItem.setIntegrationAmount(new BigDecimal(0));
-            }
-        } else {
-            for (OmsOrderItem orderItem : orderItemList) {
-                orderItem.setIntegrationAmount(new BigDecimal(0));
-            }
-            //使用积分
-            // BigDecimal totalAmount = calcTotalAmount(orderItemList);
-            // BigDecimal integrationAmount = getUseIntegrationAmount(orderParam.getUseIntegration(), totalAmount,
-            //                                                        currentMember, orderParam.getCouponId() != null);
-            // if (integrationAmount.compareTo(new BigDecimal(0)) == 0) {
-            //     Asserts.fail("积分不可用");
-            // } else {
-            //     //可用情况下分摊到可用商品中
-            //     for (OmsOrderItem orderItem : orderItemList) {
-            //         BigDecimal perAmount = orderItem.getProductPrice()
-            //                                         .divide(totalAmount, 3, RoundingMode.HALF_EVEN)
-            //                                         .multiply(integrationAmount);
-            //         orderItem.setIntegrationAmount(perAmount);
-            //     }
-            // }
-        }
+        // if (orderParam.isUseBalance()) {
+        //
+        //     // 查询余额
+        //     HttpResponseResult<BigDecimal> balance = webFeignService.balance(orderParam.getUserId());
+        //     if(balance.getStatus()) {
+        //         balanceAmount = balance.getData();
+        //     } else {
+        //         LOG.error("余额查询失败:{}",balance.getMsg());
+        //     }
+        //     if(balanceAmount.compareTo(orderParam.getOrderAmount()) >0) {
+        //         balanceAmount = orderParam.getOrderAmount();
+        //     }
+        //
+        //     //不使用积分
+        //     for (OmsOrderItem orderItem : orderItemList) {
+        //         orderItem.setIntegrationAmount(new BigDecimal(0));
+        //     }
+        // } else {
+        //     for (OmsOrderItem orderItem : orderItemList) {
+        //         orderItem.setIntegrationAmount(new BigDecimal(0));
+        //     }
+        //     //使用积分
+        //     // BigDecimal totalAmount = calcTotalAmount(orderItemList);
+        //     // BigDecimal integrationAmount = getUseIntegrationAmount(orderParam.getUseIntegration(), totalAmount,
+        //     //                                                        currentMember, orderParam.getCouponId() != null);
+        //     // if (integrationAmount.compareTo(new BigDecimal(0)) == 0) {
+        //     //     Asserts.fail("积分不可用");
+        //     // } else {
+        //     //     //可用情况下分摊到可用商品中
+        //     //     for (OmsOrderItem orderItem : orderItemList) {
+        //     //         BigDecimal perAmount = orderItem.getProductPrice()
+        //     //                                         .divide(totalAmount, 3, RoundingMode.HALF_EVEN)
+        //     //                                         .multiply(integrationAmount);
+        //     //         orderItem.setIntegrationAmount(perAmount);
+        //     //     }
+        //     // }
+        // }
         //计算order_item的实付金额
         handleRealAmount(orderItemList);
         //进行sku库存锁定
@@ -408,8 +412,11 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             userOrderPayment.setStatus(TradeStatusEnum.succeeded.getCode());
             userOrderPaymentService.saveOrUpdate(userOrderPayment);
         }
-        if (balanceAmount.compareTo(MapUtil.get(data, "balanceAmount",BigDecimal.class)) != 0 ) {
-            throw new BizException("余额有变动,订单生成失败");
+        // 记录余额支付金额
+        BigDecimal balanceAmount1 = MapUtil.get(data, "balanceAmount", BigDecimal.class);
+        if (BigDecimal.ZERO.compareTo(balanceAmount1) !=0 ) {
+            order.setIntegrationAmount(balanceAmount1);
+            orderMapper.updateByPrimaryKey(order);
         }
         result.put("pay",data);