刘俊驰 há 3 meses atrás
pai
commit
8ff950b43f

+ 5 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -299,18 +299,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     private void userOrderDetail( UserOrderVo userOrderVo) {
         if (null != userOrderVo) {
 
-            // 计算优惠券金额
-            CouponOrderWrapper couponOrderWrapper  = couponInfoService.queryUserOrderCouponInfo(userOrderVo.getUserId(),
-                    CouponInfoQuery.CouponOrderQuery.builder()
-                            .clientType(userOrderVo.getOrderClient())
-                            .orderNo(userOrderVo.getOrderNo())
-                            .amount(userOrderVo.getExpectPrice().doubleValue())
-                            .build());
-            BigDecimal discountPrice = BigDecimal.valueOf(couponOrderWrapper.getDiscountedPrices());
-            if (discountPrice.compareTo(userOrderVo.getExpectPrice()) >0) {
-                discountPrice = userOrderVo.getExpectPrice();
-            }
-            userOrderVo.setDiscountPrice(discountPrice);
+            userOrderVo.setDiscountPrice(BigDecimal.ZERO);
 
             List<UserOrderDetailVo> userOrderDetailVos = getUserOrderDetailVos(Lists.newArrayList(userOrderVo.getOrderNo()));
 
@@ -320,12 +309,15 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
             }
             userOrderDetailVos.forEach(o -> {
                 if (StringUtils.isNotBlank(o.getDiscountJson())) {
-
                     Map<String,BigDecimal> decimalMap = JSON.parseObject(o.getDiscountJson(), Map.class);
                     BigDecimal bigDecimal = decimalMap.get(EDiscountType.DISCOUNT.name());
                     if (bigDecimal != null) {
                         userOrderVo.setCardDiscountPrice(userOrderVo.getCardDiscountPrice().add(bigDecimal));
                     }
+                    BigDecimal couponDecimal = decimalMap.get(EDiscountType.COUPON.name());
+                    if (bigDecimal != null) {
+                        userOrderVo.setDiscountPrice(userOrderVo.getDiscountPrice().add(couponDecimal));
+                    }
                 }
             });