public function purchaseDetail() { //iniciando o retorno padrao em http result $returnResult = new HttpResult(); //id do pedido $id_purchase_order = DataHandler::forceInt($this->arrayRestFolder[1]); //agora verifica se esse pedido é desse usuário $eh_desse_cara = $this->checkPurchaseOwner($id_purchase_order, UserClient::getId()); if ($eh_desse_cara) { //o pedido é dele //busca o detalhe dos pedidos $VO = new PurchaseOrderVO(); $VO->setId($id_purchase_order, TRUE); $StdVO = $VO->toStdClass(); $returnResult->setSuccess(TRUE); $retornoDaPaginaHTML = new PurchaseInfo(); //lista os pagamentos efetuados pra esse id //$StdVO->id include_once "library/e_commerce/modules/payment/dao/PaymentDAO.class.php"; $PaymentDAO = PaymentDAO::getInstance(); $ReturnResultVO = $PaymentDAO->select(PaymentDAO::RETURN_VO, NULL, 1, NULL, $StdVO->id); $ReturnResultVO->transformAllVoInStdClass(); //~inventa um parametro $StdVO->array_payment = array(); $StdVO->total_payment = 0; if ($ReturnResultVO->success) { $StdVO->array_payment = $ReturnResultVO->result; foreach ($StdVO->array_payment as $StdPaymentVO) { $StdVO->total_payment += DataHandler::forceNumber($StdPaymentVO->total_value); } } $StdVO->total_payment = DataHandler::convertMoneyToBrazil($StdVO->total_payment, FALSE); $StdVO->total_a_pagar = 0; $tempDebito = DataHandler::forceNumber($StdVO->total_value) - DataHandler::forceNumber($StdVO->total_payment); if ($tempDebito > 0) { $StdVO->total_a_pagar = $tempDebito; } $StdVO->total_a_pagar = DataHandler::convertMoneyToBrazil($StdVO->total_a_pagar, FALSE); include_once "library/e_commerce/modules/purchase/dao/PurchaseItemDAO.class.php"; $PurchaseItemDAO = PurchaseItemDAO::getInstance(); /* * */ $ReturnDataVO = $PurchaseItemDAO->select(PurchaseItemDAO::RETURN_VO, NULL, NULL, $StdVO->id); $ReturnDataVO->transformAllVoInStdClass(); //~inventa um parametro $StdVO->array_itens = array(); if ($ReturnDataVO->success) { $StdVO->array_itens = $ReturnDataVO->result; } $valorSomandoItens = 0; foreach ($StdVO->array_itens as $item) { $valorSomandoItens = $valorSomandoItens + DataHandler::forceNumber($item->product_price) * $item->quantity; } $descontoFinal = 0; $CouponVO = new CouponVO(); $arrayLinkVO = $VO->getLinks("coupon", 1); if (count($arrayLinkVO) > 0) { //busca todos os cupons dentro da validade e que o codigo token não é obrigatorio $CouponDAO = CouponDAO::getInstance(); $ReturnDataVO = $CouponDAO->select(CouponDAO::RETURN_VO, $arrayLinkVO[0]->linked_table_id, 2, NULL, NULL, NULL, NULL, NULL, date('Y-m-d'), $date_in_symbol = "<=", date('Y-m-d'), $date_out_symbol = ">="); if ($ReturnDataVO->success && count($ReturnDataVO->result) > 0) { $CouponVO = $ReturnDataVO->result[0]; switch ($CouponVO->getType()) { case "+": $descontoFinal = $CouponVO->getValue() + $valorSomandoItens; break; case "-": $descontoFinal = $CouponVO->getValue() - $valorSomandoItens; break; case "*": $descontoFinal = $valorSomandoItens - $valorSomandoItens * ($CouponVO->getValue() / 100); break; default: break; } } } $CouponStd = $CouponVO->toStdClass(); $CouponStd->valor_total = $valorSomandoItens; $CouponStd->valor_desconto = $valorSomandoItens - $descontoFinal; $StdVO->coupon = $CouponStd; $retornoDaPaginaHTML->std_vo = $StdVO; $returnResult->setHttpContentResult($retornoDaPaginaHTML); } else { $returnResult->setSuccess(FALSE); $returnResult->addMessage("Não foi encontrado o detalhe desse pedido."); } //retorna pra view return $returnResult; }
/** * @return mixed */ public function getUsesTotal() { if (is_null($this->usesTotal)) { $this->usesTotal = CouponDAO::getInstance()->getUsesTotal($this->id); } return $this->usesTotal; }