コード例 #1
0
ファイル: OrderService.php プロジェクト: cmsgears/module-cart
 public static function createFromCart($order, $shippingAddress, $cart, $cartItems, $message, $additionalParams = [])
 {
     // Set Attributes
     $user = Yii::$app->user->getIdentity();
     $order->createdBy = $user->id;
     $order->status = Order::STATUS_NEW;
     $order->description = $message;
     // Generate uid
     $order->generateName();
     // Set Order Totals
     $cartTotal = $cart->getCartTotal($cartItems);
     $order->subTotal = $cartTotal;
     $order->tax = 0;
     $order->shipping = 0;
     $order->total = $cartTotal;
     $order->discount = 0;
     $order->grandTotal = $cartTotal;
     $order->save();
     // Save Shipping Address
     ModelAddressService::copyToShipping($shippingAddress, $order->id, CartGlobal::TYPE_ORDER);
     // Create Order Items
     foreach ($cartItems as $cartItem) {
         OrderItemService::createFromCartItem($order->id, $cartItem, $additionalParams);
     }
     // Delete Cart Items
     CartItemService::deleteByCartId($cart->id);
     // Delete Cart
     CartService::delete($cart);
     // Create Order History
     OrderHistoryService::create($order);
     // Return Order
     return $order;
 }
コード例 #2
0
 public static function getObjectMapByUserId($userId)
 {
     $cart = CartService::findAndCreateByUserId($userId);
     return self::findObjectMap('parentId', new CartItem(), ['conditions' => ['cartId' => $cart->id]]);
 }