本文整理汇总了PHP中Mage_Sales_Model_Order_Creditmemo::getGwPrice方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Order_Creditmemo::getGwPrice方法的具体用法?PHP Mage_Sales_Model_Order_Creditmemo::getGwPrice怎么用?PHP Mage_Sales_Model_Order_Creditmemo::getGwPrice使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Sales_Model_Order_Creditmemo
的用法示例。
在下文中一共展示了Mage_Sales_Model_Order_Creditmemo::getGwPrice方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: collect
/**
* Collect gift wrapping totals
*
* @param Mage_Sales_Model_Order_Creditmemo $creditmemo
* @return Enterprise_GiftWrapping_Model_Total_Creditmemo_Giftwrapping
*/
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo)
{
$order = $creditmemo->getOrder();
/**
* Wrapping for items
*/
$refunded = 0;
$baseRefunded = 0;
foreach ($creditmemo->getAllItems() as $creditmemoItem) {
if (!$creditmemoItem->getQty() || $creditmemoItem->getQty() == 0) {
continue;
}
$orderItem = $creditmemoItem->getOrderItem();
if ($orderItem->getGwId() && $orderItem->getGwBasePriceInvoiced() && $orderItem->getGwBasePriceInvoiced() != $orderItem->getGwBasePriceRefunded()) {
$orderItem->setGwBasePriceRefunded($orderItem->getGwBasePriceInvoiced());
$orderItem->setGwPriceRefunded($orderItem->getGwPriceInvoiced());
$baseRefunded += $orderItem->getGwBasePriceInvoiced();
$refunded += $orderItem->getGwPriceInvoiced();
}
}
if ($refunded > 0 || $baseRefunded > 0) {
$order->setGwItemsBasePriceRefunded($order->getGwItemsBasePriceRefunded() + $baseRefunded);
$order->setGwItemsPriceRefunded($order->getGwItemsPriceRefunded() + $refunded);
$creditmemo->setGwItemsBasePrice($baseRefunded);
$creditmemo->setGwItemsPrice($refunded);
}
/**
* Wrapping for order
*/
if ($order->getGwId() && $order->getGwBasePriceInvoiced() && $order->getGwBasePriceInvoiced() != $order->getGwBasePriceRefunded()) {
$order->setGwBasePriceRefunded($order->getGwBasePriceInvoiced());
$order->setGwPriceRefunded($order->getGwPriceInvoiced());
$creditmemo->setGwBasePrice($order->getGwBasePriceInvoiced());
$creditmemo->setGwPrice($order->getGwPriceInvoiced());
}
/**
* Printed card
*/
if ($order->getGwAddCard() && $order->getGwCardBasePriceInvoiced() && $order->getGwCardBasePriceInvoiced() != $order->getGwCardBasePriceRefunded()) {
$order->setGwCardBasePriceRefunded($order->getGwCardBasePriceInvoiced());
$order->setGwCardPriceRefunded($order->getGwCardPriceInvoiced());
$creditmemo->setGwCardBasePrice($order->getGwCardBasePriceInvoiced());
$creditmemo->setGwCardPrice($order->getGwCardPriceInvoiced());
}
$creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $creditmemo->getGwItemsBasePrice() + $creditmemo->getGwBasePrice() + $creditmemo->getGwCardBasePrice());
$creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $creditmemo->getGwItemsPrice() + $creditmemo->getGwPrice() + $creditmemo->getGwCardPrice());
$creditmemo->setBaseCustomerBalanceReturnMax($creditmemo->getBaseCustomerBalanceReturnMax() + $creditmemo->getGwCardBasePrice() + $creditmemo->getGwBasePrice() + $creditmemo->getGwItemsBasePrice());
$creditmemo->setCustomerBalanceReturnMax($creditmemo->getCustomerBalanceReturnMax() + $creditmemo->getGwCardPrice() + $creditmemo->getGwPrice() + $creditmemo->getGwItemsPrice());
return $this;
}
示例2: _getGwTaxClassId
/**
* Get gift wrapping tax class id
*
* @param Mage_Sales_Model_Order_Invoice|Mage_Sales_Model_Order_Creditmemo|Mage_Sales_Model_Quote_Address $object
* @return int
*/
protected function _getGwTaxClassId($object)
{
if (!$object->getGwPrice() && !$object->getGwItemsPrice() && !$object->getGwPrintedCardPrice()) {
return 0;
}
if ($object instanceof Mage_Sales_Model_Quote_Address) {
$storeId = $object->getQuote()->getStoreId();
} else {
$storeId = $object->getStoreId();
}
return $this->_getWrappingTaxClass($storeId);
}
示例3: _addGwOrderAmount
/**
* Adds giftwraporder cost to request as item
*
* @param Mage_Sales_Model_Order_Invoice|Mage_Sales_Model_Order_Creditmemo $object
* @param bool $credit
* @return int|bool
*/
protected function _addGwOrderAmount($object, $credit = false)
{
if ($object->getGwPrice() == 0) {
return false;
}
$lineNumber = $this->_getNewLineCode();
$storeId = $object->getStore()->getId();
$amount = $object->getGwBasePrice();
$line = $this->_getNewDocumentRequestLineObject();
if ($this->_getTaxDataHelper()->priceIncludesTax($storeId)) {
$amount += $object->getGwBaseTaxAmount();
$line->setTaxIncluded('true');
}
//@startSkipCommitHooks
$amount = $credit ? -1 * $amount : $amount;
//@finishSkipCommitHooks
$line->setLineCode($lineNumber);
$gwOrderSku = $this->_getConfigHelper()->getGwOrderSku($storeId);
$line->setItemCode($gwOrderSku ? $gwOrderSku : self::DEFAULT_GW_ORDER_SKU);
$line->setItemDescription(self::DEFAULT_GW_ORDER_DESCRIPTION);
$line->setAvalaraGoodsAndServicesType($this->_getGiftTaxClassCode($storeId));
$line->setNumberOfItems(1);
$line->setlineAmount($amount);
$line->setDiscounted('false');
$this->_lineToItemId[$lineNumber] = $gwOrderSku;
$this->_lines[$lineNumber] = $line;
$this->_setLinesToRequest();
return $lineNumber;
}
示例4: _addGwOrderAmount
/**
* Adds giftwraporder cost to request as item
*
* @param Mage_Sales_Model_Order_Invoice|Mage_Sales_Model_Order_Creditmemo $object
* @param bool $credit
* @return int|bool
*/
protected function _addGwOrderAmount($object, $credit = false)
{
if ($object->getGwPrice() == 0) {
return false;
}
$lineNumber = count($this->_lines);
$storeId = Mage::app()->getStore()->getId();
$amount = $object->getGwBasePrice();
if ($credit) {
//@startSkipCommitHooks
$amount *= -1;
//@finishSkipCommitHooks
}
$line = new Line();
$line->setNo($lineNumber);
$line->setItemCode(Mage::helper('avatax')->getGwOrderSku($storeId));
$line->setDescription('Gift Wrap Order Amount');
$line->setTaxCode('');
$line->setQty(1);
$line->setAmount($amount);
$line->setDiscounted(false);
$this->_lineToItemId[$lineNumber] = Mage::helper('avatax')->getGwOrderSku($storeId);
$this->_lines[$lineNumber] = $line;
$this->_request->setLines($this->_lines);
return $lineNumber;
}
示例5: getArticles
/**
* Article preparations for PAYMENT_REQUEST, PAYMENT_CHANGE, CONFIRMATION_DELIVER
*
* @param Mage_Sales_Model_Quote|Mage_Sales_Model_Order|Mage_Sales_Model_Order_Invoice|Mage_Sales_Model_Order_Creditmemo $object
* @return array
*/
public function getArticles($object)
{
$articles = array();
$articleDiscountAmount = 0;
$objectItems = $object->getAllItems();
foreach ($objectItems as $item) {
if ($item instanceof Mage_Sales_Model_Order_Item || $item instanceof Mage_Sales_Model_Quote_Item) {
$orderItem = $item;
} else {
$orderItem = Mage::getModel('sales/order_item')->load($item->getOrderItemId());
}
$shopProduct = Mage::getModel('catalog/product')->load($orderItem->getProductId());
if (($orderItem->getProductType() !== 'bundle' || $orderItem->getProductType() === 'bundle' && $shopProduct->getPrice() > 0) && $orderItem->getRowTotal() > 0) {
$article = array();
$article['articleNumber'] = $item->getSku();
$article['articleName'] = $item->getName();
$article['quantity'] = $object instanceof Mage_Sales_Model_Order ? $item->getQtyOrdered() : $item->getQty();
$article['unitPriceGross'] = $item->getPriceInclTax();
$article['taxPercent'] = $orderItem->getTaxPercent();
$article['discountId'] = '';
if ($item->getDiscountAmount() > 0) {
$discount = array();
$discount['articleNumber'] = 'DISCOUNT-' . $item->getSku();
$discount['articleName'] = 'DISCOUNT - ' . $item->getName();
$discount['quantity'] = $article['quantity'];
$discount['unitPriceGross'] = -1 * $item->getDiscountAmount() / $article['quantity'];
$discount['discountId'] = $item->getSku();
$articleDiscountAmount = $articleDiscountAmount + $item->getDiscountAmount();
}
$articles[] = $article;
if ($item->getDiscountAmount() > 0) {
// only for sort reason
$articles[] = $discount;
}
}
}
if ($object->getGwPrice() > 0) {
$article = array();
$article['articleNumber'] = 'orderwrapping';
$article['articleName'] = 'Wrapping Cost Order';
$article['quantity'] = '1';
$article['unitPriceGross'] = $object->getGwPrice();
$article['taxPercent'] = 100 / $object->getGwPrice() * $object->getGwTaxAmount();
$article['discountId'] = '';
$articles[] = $article;
}
if ($object->getGwItemsPrice() > 0) {
$article = array();
$article['articleNumber'] = 'itemswrapping';
$article['articleName'] = 'Wrapping Cost Items';
$article['quantity'] = '1';
$article['unitPriceGross'] = $object->getGwItemsPrice();
$article['taxPercent'] = 100 / $object->getGwItemsPrice() * $object->getGwItemsTaxAmount();
$article['discountId'] = '';
$articles[] = $article;
}
if ($object->getGwAddCard() > 0) {
$article = array();
$article['articleNumber'] = 'printed_card';
$article['articleName'] = 'Printed Card';
$article['quantity'] = '1';
$article['unitPriceGross'] = $object->getGwCardPrice();
$article['taxPercent'] = 100 / $object->getGwCardPrice() * $object->getGwCardTaxAmount();
$article['discountId'] = '';
$articles[] = $article;
}
if (Mage::getEdition() == 'Enterprise') {
$_cards = Mage::getBlockSingleton('enterprise_giftcardaccount/checkout_cart_total')->getQuoteGiftCards();
if ($_cards) {
foreach ($_cards as $card) {
$article = array();
$article['articleNumber'] = 'gift_card';
$article['articleName'] = $card['c'];
$article['quantity'] = '1';
$article['unitPriceGross'] = -round($card['ba'], 2);
$article['taxPercent'] = 0;
$article['discountId'] = '';
$articles[] = $article;
}
}
}
if ($object instanceof Mage_Sales_Model_Order || $object instanceof Mage_Sales_Model_Order_Invoice || $object instanceof Mage_Sales_Model_Order_Creditmemo) {
$shippingObject = $object;
if ($object instanceof Mage_Sales_Model_Order_Creditmemo) {
$articles = $this->addAdjustments($object, $articles);
}
} else {
$shippingObject = $object->getShippingAddress();
}
if ($shippingObject->getShippingAmount() > 0) {
if ($object instanceof Mage_Sales_Model_Order_Invoice || $object instanceof Mage_Sales_Model_Order_Shipment || $object instanceof Mage_Sales_Model_Order_Creditmemo) {
$shippingDiscountAmount = $shippingObject->getDiscountAmount() - $articleDiscountAmount;
$shippingDescription = $object->getOrder()->getShippingDescription();
} else {
//.........这里部分代码省略.........