本文整理汇总了PHP中EnmasseHelper::orderItemWaitingForRefund方法的典型用法代码示例。如果您正苦于以下问题:PHP EnmasseHelper::orderItemWaitingForRefund方法的具体用法?PHP EnmasseHelper::orderItemWaitingForRefund怎么用?PHP EnmasseHelper::orderItemWaitingForRefund使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EnmasseHelper
的用法示例。
在下文中一共展示了EnmasseHelper::orderItemWaitingForRefund方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: voidDeal
function voidDeal()
{
$db = JFactory::getDBO();
$option = 'com_enmasse';
$cid = JRequest::getVar('cid', array(), '', 'array');
$appication = JFactory::getApplication();
if ($cid == null) {
$appication->redirect('index.php?option=' . $option . '&controller=deal', JText::_('CHOOSE_DEAL_TO_VOID'), 'error');
}
for ($i = 0; $i < count($cid); $i++) {
$status = JModel::getInstance('deal', 'enmasseModel')->getStatus($cid[$i]);
if ($status == "Voided") {
$appication->redirect('index.php?option=' . $option . '&controller=deal', JText::_('CANNOT_VOID_VOIDED_DEAL_MSG'), 'error');
} elseif ($status == "Confirmed") {
$appication->redirect('index.php?option=' . $option . '&controller=deal', JText::_('CANNOT_VOID_CONFIRMED_DEAL'), 'error');
} elseif ($status == "Pending") {
$appication->redirect('index.php?option=' . $option . '&controller=deal', JText::_('CANNOT_VOID_PENDING_DEAL'), 'error');
}
}
for ($i = 0; $i < count($cid); $i++) {
$dealId = $cid[$i];
$orderItemList = JModel::getInstance('orderItem', 'enmasseModel')->listByPdtIdAndStatus($dealId, "Paid");
foreach ($orderItemList as $orderItem) {
EnmasseHelper::orderItemWaitingForRefund($orderItem);
sleep(1);
}
// update status
JModel::getInstance('deal', 'enmasseModel')->updateStatus($dealId, 'Voided');
//Integration with point system, refund point automatically if users paid with point
if (EnmasseHelper::isPointSystemEnabled()) {
//generate integration class
$integrationClass = EnmasseHelper::getPointSystemClassFromSetting();
$integrateFileName = $integrationClass . '.class.php';
require_once JPATH_SITE . DS . "components" . DS . "com_enmasse" . DS . "helpers" . DS . "pointsystem" . DS . $integrationClass . DS . $integrateFileName;
$buyerList = EnmasseHelper::getBuyerRefundVoidDeal($dealId);
$integrationObject = new $integrationClass();
foreach ($buyerList as $buyer) {
$integrationObject->integration($buyer['buyer_id'], 'refunddeal', $buyer['point_used_to_pay']);
}
}
}
$appication->redirect('index.php?option=' . $option . '&controller=deal', JText::_('VOID_DEAL_SUCCESS_MSG'));
}
示例2: save
function save()
{
$status = JRequest::getVar('status', '', 'post');
$partial = JRequest::getVar('partial', 0, 'method', 'int');
$orderData = new JObject();
$orderData->id = JRequest::getInt('id', '', 'post');
$orderData->description = JRequest::getVar('description', '', 'post', 'text', JREQUEST_ALLOWRAW);
//
$orderData->buyerid = JRequest::getInt('buyerid', '', 'post');
$model = JModel::getInstance('order', 'enmasseModel');
if (empty($status)) {
if ($model->store($orderData)) {
$msg = JText::_('SAVE_SUCCESS_MSG');
if ($partial) {
$this->setRedirect('index.php?option=com_enmasse&controller=partialOrder', $msg);
} else {
$this->setRedirect('index.php?option=com_enmasse&controller=' . JRequest::getVar('controller'), $msg);
}
} else {
$msg = JText::_('SAVE_ERROR_MSG') . ": " . $model->getError();
if ($orderData->id == null) {
$this->setRedirect('index.php?option=com_enmasse&controller=' . JRequest::getVar('controller') . '&task=add', $msg, 'error');
} else {
$this->setRedirect('index.php?option=com_enmasse&controller=' . JRequest::getVar('controller') . '&task=edit&cid[0]=' . $orderData->id . '&partial=' . $partial, $msg, 'error');
}
}
} else {
//------------------------------
// send email and update total sold qty for each case of when change status of order
if ($status == EnmasseHelper::$ORDER_STATUS_LIST["Paid"]) {
EnmasseHelper::doNotify($orderData->id);
$msg = JTEXT::_('SAVE_SUCCESS_MSG_AND_SEND_RECEIPT');
} else {
if ($status == EnmasseHelper::$ORDER_STATUS_LIST["Cancelled"]) {
$orderId = $orderData->id;
$order = JModel::getInstance('order', 'enmasseModel')->getById($orderId);
JModel::getInstance('order', 'enmasseModel')->updateStatus($order->id, 'Cancelled');
$orderItemList = JModel::getInstance('orderItem', 'enmasseModel')->listByOrderId($orderId);
for ($count = 0; $count < count($orderItemList); $count++) {
$orderItem = $orderItemList[$count];
JModel::getInstance('orderItem', 'enmasseModel')->updateStatus($orderItem->id, 'Unpaid');
JModel::getInstance('invty', 'enmasseModel')->freeCouponByOrderItemId($orderItem->id, 'Free');
}
$msg = JTEXT::_('SAVE_SUCCESS_MSG');
} else {
if ($status == EnmasseHelper::$ORDER_STATUS_LIST["Waiting_For_Refund"]) {
$orderItemList = JModel::getInstance('orderItem', 'enmasseModel')->listByOrderId($orderData->id);
foreach ($orderItemList as $orderItem) {
EnmasseHelper::orderItemWaitingForRefund($orderItem);
sleep(1);
}
$msg = JTEXT::_('SAVE_SUCCESS_MSG_AND_SEND_REFUND');
} else {
if ($status == EnmasseHelper::$ORDER_STATUS_LIST["Refunded"]) {
$orderItemList = JModel::getInstance('orderItem', 'enmasseModel')->listByOrderId($orderData->id);
foreach ($orderItemList as $orderItem) {
// reduce deal quality sold
// only reduce when order item was delivered
$isDelivered = intVal($orderItem->is_delivered);
if ($isDelivered) {
JModel::getInstance('deal', 'enmasseModel')->reduceQtySold($orderItem->pdt_id, $orderItem->qty);
}
EnmasseHelper::orderItemRefunded($orderItem);
sleep(1);
}
$msg = JTEXT::_('SAVE_SUCCESS_MSG');
} else {
if ($status == 'Delivered') {
$orderItemList = JModel::getInstance('orderItem', 'enmasseModel')->listByOrderId($orderData->id);
//update paid_amount of coupon to 100%
$model->updateToFullPaid($orderData->id);
JModel::getInstance("orderDeliverer", 'EnmasseModel')->updateStatus($orderData->id, "Delivered");
foreach ($orderItemList as $orderItem) {
// update deal quality sold
JModel::getInstance('deal', 'enmasseModel')->addQtySold($orderItem->pdt_id, $orderItem->qty);
EnmasseHelper::orderItemDelivered($orderItem);
sleep(1);
}
$msg = JTEXT::_('SAVE_SUCCESS_MSG_AND_SEND_DELIVERY');
}
}
}
}
}
if ($partial) {
$this->setRedirect('index.php?option=com_enmasse&controller=partialOrder', $msg);
} else {
$this->setRedirect('index.php?option=com_enmasse&controller=order', $msg);
}
}
}