mirror of
https://gitlab.com/uldvstar/exchange-2.0.git
synced 2026-08-19 04:24:16 +00:00
temp disable cashback until ready for release
This commit is contained in:
@@ -24,71 +24,48 @@ use Carbon\Carbon;
|
||||
class CreateCashBackTransactionProcessor
|
||||
{
|
||||
|
||||
/** @var UpdatesTransactionStatus */
|
||||
private $updatesTransactionStatus;
|
||||
|
||||
/** @var CreatesTransaction */
|
||||
private $createsTransaction;
|
||||
|
||||
/** @var CreatesTransactionDetail */
|
||||
private $createsTransactionDetail;
|
||||
|
||||
/** @var UpdatesTransaction */
|
||||
private $updatesTransaction;
|
||||
|
||||
/** @var DeletesTransactionDetails */
|
||||
private $deletesTransactionDetails;
|
||||
|
||||
/** @var GeneratesTransactionBillNumber */
|
||||
private $generatesTransactionBillNumber;
|
||||
|
||||
/** @var CreatesWallet */
|
||||
private $createsWallet;
|
||||
|
||||
/** @var GeneratesWalletCode */
|
||||
private $generatesWalletCode;
|
||||
|
||||
/** @var CreditWalletProcessor */
|
||||
private $creditWalletProcessor;
|
||||
|
||||
/**
|
||||
* CreateCashBackTransactionProcessor constructor.
|
||||
* @param UpdatesTransactionStatus $updatesTransactionStatus
|
||||
* @param CreatesTransaction $createsTransaction
|
||||
* @param CreatesTransactionDetail $createsTransactionDetail
|
||||
* @param UpdatesTransaction $updatesTransaction
|
||||
* @param DeletesTransactionDetails $deletesTransactionDetails
|
||||
* @param GeneratesTransactionBillNumber $generatesTransactionBillNumber
|
||||
* @param CreditWalletProcessor $creditWalletProcessor
|
||||
*/
|
||||
public function __construct(UpdatesTransactionStatus $updatesTransactionStatus, CreatesTransaction $createsTransaction, CreatesTransactionDetail $createsTransactionDetail, UpdatesTransaction $updatesTransaction, DeletesTransactionDetails $deletesTransactionDetails, GeneratesTransactionBillNumber $generatesTransactionBillNumber, GeneratesWalletCode $generatesWalletCode, CreditWalletProcessor $creditWalletProcessor)
|
||||
public function __construct(CreatesTransaction $createsTransaction, GeneratesTransactionBillNumber $generatesTransactionBillNumber, CreditWalletProcessor $creditWalletProcessor)
|
||||
{
|
||||
$this->createsTransaction = $createsTransaction;
|
||||
$this->createsTransactionDetail = $createsTransactionDetail;
|
||||
$this->updatesTransaction = $updatesTransaction;
|
||||
$this->deletesTransactionDetails = $deletesTransactionDetails;
|
||||
$this->generatesTransactionBillNumber = $generatesTransactionBillNumber;
|
||||
|
||||
$this->generatesWalletCode = $generatesWalletCode;
|
||||
|
||||
$this->creditWalletProcessor = $creditWalletProcessor;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param Booking $booking
|
||||
* @param TransactionObject $object
|
||||
* @param Transaction $transaction
|
||||
* @return Transaction|\Illuminate\Database\Eloquent\Model
|
||||
* @throws \App\Classes\Exceptions\MalformedRequestException
|
||||
*/
|
||||
public function execute(Transaction $transaction)
|
||||
{
|
||||
// leave this disabled until ready to launch to production
|
||||
return;
|
||||
// ((MYR) * (cash back %)) * (1/conversion rate)
|
||||
$current_total_cash_back = Transaction::
|
||||
where('type', TransactionType::CASH_BACK)
|
||||
->whereMonth('created_at', Carbon::now()->month)->sum('amount');
|
||||
|
||||
if (
|
||||
$current_total_cash_back < CashBack::MAX &&
|
||||
$transaction->owner()->first()->transactions()->where('type', TransactionType::PURCHASE_ORDER)->count() > 0
|
||||
$transaction->owner()->first()->transactions()->where('type', TransactionType::PURCHASE_ORDER)->whereIn('status', [ApprovalStatus::PENDING_VERIFICATION, ApprovalStatus::APPROVED])->count() > 0
|
||||
) {
|
||||
|
||||
$cash_back_segemnt = CashBack::SEGMENT;
|
||||
|
||||
Reference in New Issue
Block a user