Пример #1
0
 public function sendEmailOrder($email, $orderId)
 {
     $orderService = new orderService();
     $subject = "Kacana đã nhận đơn hàng " . $orderId;
     $viewBlade = 'client.emails.send-email-order';
     $bcc = KACANA_EMAIL_DON_HANG;
     $orderData = ['order' => $orderService->getOrderById($orderId)];
     return $this->send($email, $subject, $viewBlade, $orderData, $bcc);
 }
Пример #2
0
 public function sendOrder(Request $request)
 {
     $orderService = new orderService();
     $addressService = new addressService();
     $orderId = $request->input('orderId', 0);
     $order = $orderService->getOrderById($orderId);
     try {
         $return['data'] = $orderService->sendOrder($orderId, $this->_user->id);
         $return['ok'] = 1;
     } catch (\Exception $e) {
         if ($request->ajax()) {
             $result['error'] = $e->getMessage();
             return $result;
         } else {
             return view('errors.404', ['error_message' => $e->getMessage()]);
         }
     }
     return redirect('/order/edit/' . $order->order_code);
 }
Пример #3
0
 public function addProductToOrder(Request $request)
 {
     $productService = new productService();
     $orderService = new orderService();
     $orderId = $request->input('orderId');
     $productId = $request->input('productId');
     try {
         $order = $orderService->getOrderById($orderId);
         $total = $order->total;
         $discount = $order->discount;
         $originTotal = $order->origin_total;
         $quantity = $order->quantity;
         $product = $productService->getProductById($productId);
         $productDiscount = 0;
         if ($product->mainDiscount) {
             $productDiscount = $product->mainDiscount;
         } elseif ($product->discount) {
             $productDiscount = $product->discount;
         }
         $orderDetailData = new \stdClass();
         $orderDetailData->order_id = $orderId;
         $orderDetailData->name = $product->name;
         $orderDetailData->price = $product->sell_price;
         $orderDetailData->discount = $product->discount;
         $orderDetailData->quantity = 1;
         $orderDetailData->product_id = $product->id;
         $orderDetailData->product_url = urlProductDetail($product);
         $orderDetailData->image = $product->image;
         $orderDetailData->subtotal = $product->sell_price - $productDiscount;
         $orderService->createOrderDetailAdmin($orderDetailData);
         $total += $product->sell_price - $productDiscount;
         $discount += $productDiscount;
         $originTotal += $product->sell_price;
         $quantity += 1;
         $dataOrder = ['total' => $total, 'origin_total' => $originTotal, 'quantity' => $quantity, 'discount' => $discount];
         $orderService->updateOrder($orderId, $dataOrder);
         return redirect('/order/edit/' . $orderId);
     } catch (\Exception $e) {
         if ($request->ajax()) {
             $result['error'] = $e->getMessage();
             return $result;
         } else {
             return view('errors.404', ['error_message' => $e]);
         }
     }
 }
Пример #4
0
 /**
  * @param $orderDetailIds
  * @param $orderId
  * @param $shippingServiceTypeId
  * @param $pickHubId
  * @param $weight
  * @param $length
  * @param $width
  * @param $height
  * @return mixed
  */
 public function createShippingOrder($orderDetailIds, $orderId, $shippingServiceTypeId, $pickHubId, $weight, $length, $width, $height, $originShipFee, $shipFee, $extraDiscount, $extraDiscountDesc, $OrderClientNote, $OrderContentNote, $paid)
 {
     $orderService = new orderService();
     $params = array();
     $order = $orderService->getOrderById($orderId);
     $orderDetails = $orderService->getOrderDetailByIds($orderDetailIds);
     $subtotal = 0;
     $discount = 0;
     foreach ($orderDetails as $orderDetail) {
         $subtotal += $orderDetail->subtotal;
         $discount += $orderDetail->discount;
     }
     $CODAmount = $subtotal + $shipFee - $extraDiscount - $paid;
     $params['RecipientName'] = $order->addressReceive->name;
     $params['RecipientPhone'] = $order->addressReceive->phone;
     $params['DeliveryAddress'] = $order->address;
     $params['DeliveryDistrictCode'] = $order->addressReceive->district->code;
     $params['ServiceID'] = $shippingServiceTypeId;
     $params['Weight'] = $weight;
     $params['Length'] = $length;
     $params['Width'] = $width;
     $params['Height'] = $height;
     $params['ClientNote'] = $OrderClientNote . '--' . $OrderContentNote;
     $params['SealCode'] = 'kacana_order_' . $orderId;
     $params['CODAmount'] = $CODAmount;
     $params['PickHubID'] = $pickHubId;
     if ($order->addressReceive->ward_id) {
         $params['ToWardCode'] = $order->addressReceive->ward->code;
     }
     $results = $this->makeRequest('CreateShippingOrder', $params);
     $this->createShippingRow($results->body, $orderDetailIds, $order, $subtotal, $shipFee, $extraDiscount, $extraDiscountDesc, $paid);
     return $results->body;
 }