Exemplo n.º 1
0
 public function createOrder(Request $request)
 {
     $addressService = new addressService();
     $orderService = new orderService();
     $deliveryId = $request->input('deliveryId', 0);
     $deliveryName = $request->input('deliveryName', '');
     $deliveryPhone = $request->input('deliveryPhone', '');
     $cityId = $request->input('cityId', '');
     $districtId = $request->input('districtId', '');
     $wardId = $request->input('wardId', '');
     $deliveryStreet = $request->input('deliveryStreet', '');
     $deliveryEmail = $request->input('deliveryEmail', '');
     try {
         if (!intval($deliveryId)) {
             $deliveryAddress = [];
             $deliveryAddress['name'] = $deliveryName;
             $deliveryAddress['email'] = $deliveryEmail;
             $deliveryAddress['phone'] = $deliveryPhone;
             $deliveryAddress['street'] = $deliveryStreet;
             $deliveryAddress['city_id'] = $cityId;
             $deliveryAddress['district_id'] = $districtId;
             $deliveryAddress['ward_id'] = $wardId;
             $addressReceive = $addressService->createUserAddress($this->_user->id, $deliveryAddress);
             $deliveryId = $addressReceive->id;
         }
         $order = $orderService->createOrder($this->_user->id, $deliveryId, 0, 0, 0, 0, KACANA_ORDER_PARTNER_STATUS_NEW);
         return redirect('/order/edit/' . $order->order_code);
     } catch (\Exception $e) {
         // @codeCoverageIgnoreStart
         $return['error'] = $e->getMessage();
         $return['errorMsg'] = $e->getMessage();
         // @codeCoverageIgnoreEnd
     }
     return response()->json($return);
 }
Exemplo n.º 2
0
 public function processCartWithAddressId($userEmail, $addressId)
 {
     $addressService = new addressService();
     $userService = new userService();
     $orderService = new orderService();
     $cart = $this->cartInformation();
     if (!$cart) {
         throw new \Exception('bad Cart items');
     }
     $checkAddressUser = false;
     $user = $userService->getUserByEmail($userEmail);
     foreach ($user->userAddress as $userAddres) {
         if ($userAddres->id == $addressId) {
             $checkAddressUser = true;
         }
     }
     if (!$checkAddressUser) {
         throw new \Exception('bad address id');
     }
     // create new order for user
     $order = $orderService->createOrder($user->id, $addressId, $cart->total, $cart->quantity, $cart->originTotal, $cart->discount);
     $items = $cart->items;
     foreach ($items as $item) {
         $orderService->createOrderDetail($order->id, $item);
     }
     // destroy CART
     Cart::destroy();
     //send email for user
     $mailService = new mailService();
     if ($mailService->sendEmailOrder($user->email, $order->id)) {
         return $order;
     } else {
         throw new \Exception('Bị lỗi trong quá trình gửi mail');
     }
     // send zalo message for user
     return $order;
 }