temp disable cashback until ready for release

This commit is contained in:
omair saleh
2022-04-06 13:42:37 +08:00
parent e34d72f128
commit 2b3d3edc1b
@@ -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;