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); }
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); }
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]); } } }
/** * @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; }