|
|
|
@ -14,6 +14,7 @@ use App\Exception\ErrorCodeException; |
|
|
|
use App\Model\v3\Coupon; |
|
|
|
use App\Model\v3\Goods; |
|
|
|
use App\Model\v3\GoodsActivity; |
|
|
|
use App\Model\v3\Market; |
|
|
|
use App\Model\v3\Order; |
|
|
|
use App\Model\v3\OrderGoods; |
|
|
|
use App\Model\v3\OrderMain; |
|
|
|
@ -140,18 +141,21 @@ class OrderOnlineService implements OrderOnlineServiceInterface |
|
|
|
$shippingType = Shipping::TYPE_SELF_TAKE; |
|
|
|
|
|
|
|
// 如果非自提,则通过用户地址计算相关数据和费用
|
|
|
|
// if ($selfTake != 1) {
|
|
|
|
if ($selfTake != 1) { |
|
|
|
// 用户收货地址
|
|
|
|
// 获取配送费用
|
|
|
|
$userAddrAndDPrice = $this->userAddressService->getAddressAndDistributionPrice($userAddrId, $marketId); |
|
|
|
$userAddr = $userAddrAndDPrice['address']['address']; |
|
|
|
$deliveryAmount = $userAddrAndDPrice['distribution_price']; |
|
|
|
$deliveryDistance = $userAddrAndDPrice['delivery_distance']; |
|
|
|
// $shippingType = Shipping::TYPE_LANZU;
|
|
|
|
// }
|
|
|
|
|
|
|
|
if ($selfTake != 1) { |
|
|
|
$shippingType = Shipping::TYPE_LANZU; |
|
|
|
} else { |
|
|
|
$market = Market::query()->find($marketId); |
|
|
|
$userAddr->tel = $market->tel; |
|
|
|
$userAddr->address = $market->address ; |
|
|
|
$userAddr->user_name = $market->name; |
|
|
|
$userAddr->lat = $market->lat; |
|
|
|
$userAddr->lng = $market->lng; |
|
|
|
} |
|
|
|
|
|
|
|
// 优惠券数据,当前订单可用个优惠券
|
|
|
|
@ -175,7 +179,6 @@ class OrderOnlineService implements OrderOnlineServiceInterface |
|
|
|
$dataOrderGoods = []; # 订单商品
|
|
|
|
$storeTypeIds = []; # 订单中的商户类型,用于校验红包
|
|
|
|
$activityGoodsIds = []; # 活动商品IDs
|
|
|
|
$shopcartIds = []; |
|
|
|
|
|
|
|
foreach ($storeList as $key => &$storeItem) { |
|
|
|
|
|
|
|
@ -196,7 +199,6 @@ class OrderOnlineService implements OrderOnlineServiceInterface |
|
|
|
|
|
|
|
// 用户购物车数据
|
|
|
|
$cartIds = explode(',', $storeItem->cart_ids); |
|
|
|
$shopcartIds = array_merge($shopcartIds, $cartIds); |
|
|
|
$carts = ShoppingCart::query()->whereIn('id', $cartIds)->where(['market_id' => $marketId, 'user_id' => $userId])->get(); |
|
|
|
foreach ($carts as $k => &$cart) { |
|
|
|
// 查个商品,做商品有效的判断检查
|
|
|
|
@ -391,7 +393,7 @@ class OrderOnlineService implements OrderOnlineServiceInterface |
|
|
|
} |
|
|
|
|
|
|
|
// 清除购物车
|
|
|
|
$this->shopCartUpdateService->doClear($userId, $marketId, $shopcartIds); |
|
|
|
$this->shopCartUpdateService->doClear($userId, $marketId); |
|
|
|
|
|
|
|
// 记录badge
|
|
|
|
$this->badgeService->doByOrder($userId, array_values(array_column($dataChildren, 'store_id')), $orderMain->global_order_id, OrderState::UNPAID); |
|
|
|
|