|
@@ -14,10 +14,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.yami.shop.bean.app.dto.*;
|
|
|
-import com.yami.shop.bean.app.param.OrderParam;
|
|
|
-import com.yami.shop.bean.app.param.OrderPayInfoParam;
|
|
|
-import com.yami.shop.bean.app.param.OrderShopParam;
|
|
|
-import com.yami.shop.bean.app.param.SubmitOrderParam;
|
|
|
+import com.yami.shop.bean.app.param.*;
|
|
|
import com.yami.shop.bean.event.ConfirmOrderEvent;
|
|
|
import com.yami.shop.bean.event.PlatformConfirmOrderEvent;
|
|
|
import com.yami.shop.bean.event.ScoreConfirmOrderEvent;
|
|
@@ -98,8 +95,9 @@ public class OrderController {
|
|
|
UserAddr userAddr = userAddrService.getUserAddrByUserId(orderParam.getAddrId(), userId);
|
|
|
UserAddrDto userAddrDto = mapperFacade.map(userAddr, UserAddrDto.class);
|
|
|
// 组装获取用户提交的购物车商品项
|
|
|
- //TODO wangjian 目前是写死的
|
|
|
- List<ShopCartItemDto> shopCartItems = basketService.getShopCartItemsByOrderItems(orderParam.getBasketIds(), orderParam.getOrderItem(), userId);
|
|
|
+ OrderItemParam orderItem = orderParam.getOrderItem();
|
|
|
+ orderItem.setPlatform(orderParam.getPlatform());
|
|
|
+ List<ShopCartItemDto> shopCartItems = basketService.getShopCartItemsByOrderItems(orderParam.getBasketIds(), orderItem, userId);
|
|
|
if (CollectionUtil.isEmpty(shopCartItems)) {
|
|
|
throw new GlobalException("请选择您需要的商品加入购物车");
|
|
|
}
|
|
@@ -109,7 +107,6 @@ public class OrderController {
|
|
|
|
|
|
// 将要返回给前端的完整的订单信息
|
|
|
ShopCartOrderMergerDto shopCartOrderMergerDto = new ShopCartOrderMergerDto();
|
|
|
-// shopCartOrderMergerDto.setDvyType(orderParam.getDvyType());
|
|
|
shopCartOrderMergerDto.setUserAddr(userAddrDto);
|
|
|
shopCartOrderMergerDto.setIsScorePay(orderParam.getIsScorePay());
|
|
|
// 所有店铺的订单信息
|
|
@@ -139,7 +136,6 @@ public class OrderController {
|
|
|
List<ShopCartItemDto> discountShopCartItems = shopCartItemDiscount.getShopCartItems();
|
|
|
shopAllShopCartItems.addAll(discountShopCartItems);
|
|
|
}
|
|
|
-
|
|
|
shopCartOrder.setShopCartItemDiscounts(shopCartItemDiscounts);
|
|
|
allCartItem.addAll(shopAllShopCartItems);
|
|
|
|
|
@@ -148,11 +144,11 @@ public class OrderController {
|
|
|
total = Arith.add(total, shopCartOrder.getTotal());
|
|
|
totalCount = totalCount + shopCartOrder.getTotalCount();
|
|
|
allOrderReduce = Arith.add(allOrderReduce, shopCartOrder.getShopReduce());
|
|
|
- //TODO wangjian 计算配送方式,和运费
|
|
|
totalTransfee = Arith.add(totalTransfee, shopCartOrder.getTransfee());
|
|
|
weight = Arith.add(weight, shopCartOrder.getTotalWeight());
|
|
|
shopCartOrders.add(shopCartOrder);
|
|
|
}
|
|
|
+ shopCartOrderMergerDto.setDvyType(orderParam.getDvyType());
|
|
|
|
|
|
//根据价格进行店铺、满减、商品项的价格升序操作
|
|
|
for (int n = 0; n < shopCartOrders.size(); n++) {
|
|
@@ -165,7 +161,6 @@ public class OrderController {
|
|
|
sortShopCartItems = sortShopCartItems.stream().sorted(Comparator.comparing(ProductItemDto::getActualTotal)).collect(Collectors.toList());
|
|
|
shopCartItemDiscount.setShopCartItems(sortShopCartItems);
|
|
|
double totalAmount = shopCartItemDiscount.getShopCartItems().stream().mapToDouble(ProductItemDto::getActualTotal).sum();
|
|
|
- //TODO 计算真实总库存
|
|
|
shopCartItemDiscount.setTotalAmount(totalAmount);
|
|
|
}
|
|
|
// 如果是折扣特别小的情况下,导致实际金额为0是,改变最小支付金额为0.01元,并且优惠金额减去0.01。
|
|
@@ -179,7 +174,6 @@ public class OrderController {
|
|
|
}
|
|
|
shopCartItemDiscounts = shopCartItemDiscounts.stream().sorted(Comparator.comparing(ShopCartItemDiscountDto::getTotalAmount)).collect(Collectors.toList());
|
|
|
shopCartOrders.get(n).setShopCartItemDiscounts(shopCartItemDiscounts);
|
|
|
- //TODO 计算真实总库存
|
|
|
actualTotal = Arith.add(actualTotal, shopCartOrderDto.getActualTotal());
|
|
|
}
|
|
|
|
|
@@ -219,8 +213,8 @@ public class OrderController {
|
|
|
orderPlatformAmount = Arith.add(orderPlatformAmount, shopCartItem.getPlatformShareReduce());
|
|
|
}
|
|
|
}
|
|
|
-// shopCartOrder.setActualTotal(Arith.add(orderActualTotal, shopCartOrder.getTransfee()));
|
|
|
- shopCartOrder.setActualTotal(100.0);
|
|
|
+ shopCartOrder.setActualTotal(Arith.add(orderActualTotal, shopCartOrder.getTransfee()));
|
|
|
+// shopCartOrder.setActualTotal(100.0);
|
|
|
//放入优惠金额
|
|
|
shopCartOrder.setShopReduce(Arith.add(orderReduceAmount, shopCartOrder.getFreeTransfee()));
|
|
|
//放入平台优惠金额,如果用户等级免自营店运费也要放进去
|
|
@@ -267,8 +261,8 @@ public class OrderController {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- List<Order> orders = orderService.submit(userId, mergerOrder);
|
|
|
+ mergerOrder.setPlatform(submitOrderParam.getPlatform());
|
|
|
+ List<Order> orders = orderService.submit(userId, mergerOrder);
|
|
|
|
|
|
StringBuilder orderNumbers = new StringBuilder();
|
|
|
for (Order order : orders) {
|