public function immediateBuy() { $goodsId = (int) $this->postParam('goodsId', 0); $skuAttr = $this->postParam('skuAttr', ''); $skuvalue = $this->postParam('skuValue', ''); $amount = (int) $this->postParam('amount', 0); if ($goodsId <= 0 || empty($skuAttr) || empty($skuValue)) { $this->ajaxReturn(ERR_PARAMS_ERROR, '参数错误'); return; } $result = OrderModel::createOrder(UserOrderModel::ORDER_PRE_COMMON, $this->userId()); if ($result['code'] != 0) { $this->ajaxReturn($result['code'], $result['desc']); return; } $this->ajaxReturn(0, '', '', array('token' => $result['result']['token'])); }
function handleCreateOrder() { $order_info = NEnvironment::getSession('user_order_info'); $values = $order_info['values']; // dump($values);exit; //presmerovanie ak nieco nieje v poriadku $session = NEnvironment::getSession('cart'); if (empty($session->products)) { $this->redirect('default'); } if (empty($order_info['values'])) { $this->redirect('step2'); } //znama polick login na email $values['email'] = $values['login']; $values['id_lang'] = $this->id_lang; //odstranenie loginu unset($values['login']); //odstranenie terms_and_conditions unset($values['terms_and_conditions']); //odstranenie discount_hash // $discount_hash = $values['discount_hash']; if ($values['type'] == NULL) { $values['type'] = 0; } $values['user_discount'] = 0; // ak je prihlaseny setni id_user if ($this->user->isLoggedIn()) { $values['id_user'] = $this->user->getIdentity()->data['user_id']; $values['user_discount'] = $this->user->getIdentity()->data['discount']; } $cart_info = OrderModel::getCartInfo($session->products, $order_info['values']['id_delivery'], $order_info['values']['id_payment'], $this->context, false); $values['total_price'] = $cart_info['total_sum']; $values['total_price_with_tax'] = $cart_info['total_sum_with_tax']; $values['delivery_title'] = $cart_info['delivery_title']; $values['delivery_price'] = $cart_info['delivery_price']['price']; $values['delivery_tax'] = $cart_info['delivery_price']['tax']; $values['payment_title'] = $cart_info['payment_title']; $values['payment_price'] = $cart_info['payment_price']['price']; $values['payment_tax'] = $cart_info['payment_price']['tax']; //odstranenie id_delivery unset($values['id_delivery']); //odstranenie id_payment unset($values['id_payment']); $values['rate'] = Lang::get($this->id_lang)->rate; try { $id_order = OrderModel::createOrder($values, $session->products, $this->id_lang, $this->user); $conf = $this->context->parameters; $template = $this->template; $template->setFile(APP_DIR . '/FrontModule/templates/Order/OrderEmail.phtml'); $template->discount = false; $template->o = OrderModel::get($id_order); $mail = new MyMail(); $mail->addTo($values['email']); $mail->addBcc($conf['client_email']); $mail->setSubject(_('Objednávka č. ') . $id_order); $mail->setTemplate($template); $mail->send(); if ($conf['HEUREKA']['ENABLE'] == 1) { try { $overeno = new HeurekaOvereno($conf['HEURELA']['API_KEY'], HeurekaOvereno::LANGUAGE_SK); $overeno->setEmail($values['email']); foreach ($session->products as $id_product_param => $p) { $product = ProductModel::getProductIdentifyByParam($id_product_param, $this->id_lang, $this->user); $overeno->addProduct($product->name); } $overeno->send(); } catch (Exception $e) { } } //vymazanie z kosika $session = NEnvironment::getSession('cart'); unset($session->products); //vymazanie info o uzivatelovi unset($order_info['values']); $this->redirect('Cart:success'); } catch (OrderException $e) { $form->addError($e); } }
public static function trade() { $user = usr::getCurrentUser(1); if ($user == null) { self::printErrorJson("You are not authorized"); return; } $firstCurName = Core::validate(self::getVar('firstCurrency')); $secondCurName = Core::validate(self::getVar('secondCurrency')); $type = Core::validate(self::getVar('type')); $price = Core::validate(self::getVar('rate')); $volume = Core::validate(self::getVar('amount')); if ($firstCurName == null || $secondCurName == null || $type == null || $price == null || $volume == null) { self::printErrorJson("not all parameters are defined"); return; } if (!Core::isDouble($price) || !Core::isDouble($volume)) { self::printErrorJson("parameters are defined incorrectly"); return; } $rate = self::getRate($firstCurName, $secondCurName); if ($rate == null) { self::printErrorJson("rate {$firstCurName}" . "_" . " {$secondCurName} not exist"); return; } $currency = new Currency(); $currency->findBy(array('Name' => $firstCurName)); if ($volume < $currency->getMinOrderAmount()) { self::printErrorJson("Please, check min order amount for this currency"); return; } if ($type == 'buy') { $orderType = OrderType::BUY; } elseif ($type = 'sell') { $orderType = OrderType::SELL; } else { self::printErrorJson("undefined order type"); return; } $orderId = OrderModel::createOrder($user->getId(), $rate, $orderType, $volume, $price); if ($orderId === false) { self::printErrorJson(OrderModel::getErrorMessage()); return; } $return['order_id'] = $orderId; $return['funds'] = self::getFunds($user->getId()); $result['success'] = 1; $result['return'] = $return; print json_encode($result); }