2014-07-08 10:19:02 -03:00

75 lines
2.7 KiB
PHP

<?php
class Crunchbutton_Order_Transaction extends Cana_Table {
const TYPE_DEBIT = 'debit';
const TYPE_CREDIT = 'credit';
const TYPE_PAID_TO_RESTAURANT = 'paid-to-restaurant';
const TYPE_PAID_TO_DRIVER = 'paid-to-driver';
const TYPE_REIMBURSED_TO_DRIVER = 'reimbursed-driver';
const PAYMENT_TYPE_GIFT = 'gift';
const PAYMENT_TYPE_CARD = 'card';
const SOURCE_CRUNCHBUTTON = 'crunchbutton';
const SOURCE_RESTAURANT = 'restaurant';
public function checkOrderWasPaidRestaurant( $id_order ){
$query = 'SELECT * FROM order_transaction ot WHERE type = "' . Crunchbutton_Order_Transaction::TYPE_PAID_TO_RESTAURANT . '" AND id_order = "' . $id_order . '" LIMIT 1';
$order = Crunchbutton_Order_Transaction::q( $query );
if( $order->id_order_transaction ){
return true;
}
return false;
}
public function checkOrderWasReimbursedDriver( $id_order ){
$query = 'SELECT * FROM order_transaction ot WHERE type = "' . Crunchbutton_Order_Transaction::TYPE_REIMBURSED_TO_DRIVER . '" AND id_order = "' . $id_order . '" LIMIT 1';
$order = Crunchbutton_Order_Transaction::q( $query );
if( $order->id_order_transaction ){
return true;
}
return false;
}
public function checkOrderWasPaidDriver( $id_order ){
$query = 'SELECT * FROM order_transaction ot WHERE type = "' . Crunchbutton_Order_Transaction::TYPE_PAID_TO_DRIVER . '" AND id_order = "' . $id_order . '" LIMIT 1';
$order = Crunchbutton_Order_Transaction::q( $query );
if( $order->id_order_transaction ){
return true;
}
return false;
}
public function orderReimbursementInfoDriver( $id_order ){
$query = 'SELECT p.* FROM order_transaction ot
INNER JOIN payment_order_transaction pot ON pot.id_order_transaction = ot.id_order_transaction
INNER JOIN payment p ON p.id_payment = pot.id_payment
WHERE type = "' . Crunchbutton_Order_Transaction::TYPE_REIMBURSED_TO_DRIVER . '" AND id_order = "' . $id_order . '" LIMIT 1';
$payment = Crunchbutton_Payment::q( $query );
if( $payment->id_payment ){
return $payment->get( 0 );
}
return false;
}
public function orderPaymentInfoDriver( $id_order ){
$query = 'SELECT p.* FROM order_transaction ot
INNER JOIN payment_order_transaction pot ON pot.id_order_transaction = ot.id_order_transaction
INNER JOIN payment p ON p.id_payment = pot.id_payment
WHERE type = "' . Crunchbutton_Order_Transaction::TYPE_PAID_TO_DRIVER . '" AND id_order = "' . $id_order . '" LIMIT 1';
$payment = Crunchbutton_Payment::q( $query );
if( $payment->id_payment ){
return $payment->get( 0 );
}
return false;
}
public function __construct($id = null) {
parent::__construct();
$this
->table('order_transaction')
->idVar('id_order_transaction')
->load($id);
}
}