Пример #1
0
 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;
 }
Пример #2
0
 /**
  * @return mixed
  */
 public function getUsesTotal()
 {
     if (is_null($this->usesTotal)) {
         $this->usesTotal = CouponDAO::getInstance()->getUsesTotal($this->id);
     }
     return $this->usesTotal;
 }