本文整理汇总了PHP中Mage_Sales_Model_Order_Invoice::setAffiliateCredit方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Order_Invoice::setAffiliateCredit方法的具体用法?PHP Mage_Sales_Model_Order_Invoice::setAffiliateCredit怎么用?PHP Mage_Sales_Model_Order_Invoice::setAffiliateCredit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Sales_Model_Order_Invoice
的用法示例。
在下文中一共展示了Mage_Sales_Model_Order_Invoice::setAffiliateCredit方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: collect
public function collect(Mage_Sales_Model_Order_Invoice $invoice)
{
// Changed By Adam 22/09/2014
if (!Mage::helper('affiliateplus')->isAffiliateModuleEnabled()) {
return $this;
}
$baseDiscount = 0;
$discount = 0;
$order = $invoice->getOrder();
$baseOrderDiscount = $order->getBaseAffiliateCredit();
$orderDiscount = $order->getAffiliateCredit();
if ($invoice->getBaseGrandTotal() < 0.0001 || $baseOrderDiscount >= 0) {
return $this;
}
$baseInvoicedDiscount = 0;
$invoicedDiscount = 0;
foreach ($order->getInvoiceCollection() as $_invoice) {
$baseInvoicedDiscount += $_invoice->getBaseAffiliateCredit();
$invoicedDiscount += $_invoice->getAffiliateCredit();
}
if ($invoice->isLast()) {
$baseDiscount = $baseOrderDiscount - $baseInvoicedDiscount;
$discount = $orderDiscount - $invoicedDiscount;
} else {
// edit by viet
$baseOrderTotal = $order->getBaseSubtotalInclTax();
// - $baseOrderDiscount;
$baseDiscount = $baseOrderDiscount * $invoice->getBaseSubtotalInclTax() / $baseOrderTotal;
$discount = $orderDiscount * $invoice->getBaseSubtotalInclTax() / $baseOrderTotal;
// end by viet
if ($baseDiscount < $baseOrderDiscount) {
$baseDiscount = $baseOrderDiscount;
$discount = $orderDiscount;
}
}
if ($baseDiscount) {
$baseDiscount = Mage::app()->getStore()->roundPrice($baseDiscount);
$discount = Mage::app()->getStore()->roundPrice($discount);
$invoice->setBaseAffiliateCredit($baseDiscount);
$invoice->setAffiliateCredit($discount);
$invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $baseDiscount);
$invoice->setGrandTotal($invoice->getGrandTotal() + $discount);
}
return $this;
}
示例2: collect
public function collect(Mage_Sales_Model_Order_Invoice $invoice)
{
$baseDiscount = 0;
$discount = 0;
$order = $invoice->getOrder();
$baseOrderDiscount = $order->getBaseAffiliateCredit();
$orderDiscount = $order->getAffiliateCredit();
if ($invoice->getBaseGrandTotal() < 0.0001 || $baseOrderDiscount >= 0) {
return $this;
}
$baseInvoicedDiscount = 0;
$invoicedDiscount = 0;
foreach ($order->getInvoiceCollection() as $_invoice) {
$baseInvoicedDiscount += $_invoice->getBaseAffiliateCredit();
$invoicedDiscount += $_invoice->getAffiliateCredit();
}
if ($invoice->isLast()) {
$baseDiscount = $baseOrderDiscount - $baseInvoicedDiscount;
$discount = $orderDiscount - $invoicedDiscount;
} else {
$baseOrderTotal = $order->getBaseGrandTotal() - $baseOrderDiscount;
$baseDiscount = $baseOrderDiscount * $invoice->getBaseGrandTotal() / $baseOrderTotal;
$discount = $orderDiscount * $invoice->getBaseGrandTotal() / $baseOrderTotal;
if ($baseDiscount < $baseOrderDiscount) {
$baseDiscount = $baseOrderDiscount;
$discount = $orderDiscount;
}
}
if ($baseDiscount) {
$baseDiscount = Mage::app()->getStore()->roundPrice($baseDiscount);
$discount = Mage::app()->getStore()->roundPrice($discount);
$invoice->setBaseAffiliateCredit($baseDiscount);
$invoice->setAffiliateCredit($discount);
$invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $baseDiscount);
$invoice->setGrandTotal($invoice->getGrandTotal() + $discount);
}
return $this;
}