This commit is contained in:
edmondlang
2023-01-20 09:49:49 +08:00
4 changed files with 42 additions and 24 deletions
+8
View File
@@ -3,6 +3,7 @@
namespace App\Classes\General\Traits;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Str;
@@ -25,6 +26,13 @@ trait LogData
$originalData[$relationshipColumn] = $originalData['id'];
unset($originalData['id']);
// remove pivot columns
foreach($originalData as $key => $row){
if(str::startsWith($key, 'pivot_')){
unset($originalData[$key]);
}
}
if (!Schema::hasTable($tableName)) {
DB::statement('CREATE TABLE '.$tableName.' LIKE '.$model->table);
@@ -106,20 +106,20 @@ class UpdateGroupLogic extends AbstractControllerLogic
$serviceCharge = $this->calculatesTransactionServiceCharge->execute($transaction->original_amount, $rate, $constant);
$object = new TransactionObject(
$transaction->bill_no,
TransactionType::BILL,
$supplier->id,
$transaction->bill_no,
TransactionType::BILL,
$supplier->id,
1,
$supplier->banks()->where('default', true)->first()->id,
$supplier->banks()->where('default', true)->first()->id,
PaymentMethodType::CASH,
$transaction->original_amount * (1 / $rate),
$transaction->original_amount,
1,
$transaction->original_amount * (1 / $rate),
$transaction->original_amount,
1,
$transaction->original_currency_id,
$rate,
0,
$serviceCharge,
null,
$rate,
0,
$serviceCharge,
null,
ApprovalStatus::PENDING_VERIFICATION
);
@@ -130,20 +130,20 @@ class UpdateGroupLogic extends AbstractControllerLogic
$transferFee = $this->calculatesTransactionTransferFee->execute($billTransaction->original_amount, $constant);
$object = new TransactionObject(
$transferTransaction->bill_no,
$transferTransaction->bill_no,
TransactionType::TRANSFER_FEE,
$supplier->id,
1,
$supplier->banks()->where('default', true)->first()->id,
$supplier->banks()->where('default', true)->first()->id,
PaymentMethodType::CASH,
$transaction->original_amount,
$transaction->original_amount,
$transaction->original_currency_id,
$transaction->original_amount,
$transaction->original_amount,
$transaction->original_currency_id,
1,
0,
$transferFee,
null,
$transaction->original_currency_id,
1,
0,
$transferFee,
null,
ApprovalStatus::PENDING_VERIFICATION
);
@@ -182,4 +182,4 @@ class UpdateGroupLogic extends AbstractControllerLogic
return $this->resourceResponse(new GroupResource($group));
}
}
}
@@ -2,19 +2,21 @@
namespace App\Classes\Modules\Transactions\Services;
use App\Classes\Exceptions\MalformedRequestException;
use App\Classes\General\Eloquent\AbstractUpdateRecord;
use App\Classes\General\Eloquent\AbstractUpdateRelationshipRecord;
use App\Classes\Modules\Transactions\DataTransferObjects\TransactionObject;
use App\Models\Booking;
use App\Models\Transaction;
use Illuminate\Database\Eloquent\Model;
class UpdatesTransaction extends AbstractUpdateRecord
{
/**
* @param Transaction $transaction
* @param TransactionObject $object
* @return \Illuminate\Database\Eloquent\Model
* @throws \App\Classes\Exceptions\MalformedRequestException
* @return Model
* @throws MalformedRequestException
*/
public function execute(Transaction $transaction, TransactionObject $object) {
$transaction->recipient_bank_account_id = $object->getRecipientBankAccountId();
@@ -30,4 +32,4 @@ class UpdatesTransaction extends AbstractUpdateRecord
return $this->handler($transaction);
}
}
}
+8
View File
@@ -104,6 +104,14 @@ class Transaction extends AbstractModel implements Documentable, Transactionable
return $this->HasMany(TransactionDetail::class, 'transaction_id', 'id');
}
/**
* @return HasOne
*/
public function groupTransaction(): HasOne
{
return $this->HasOne(GroupTransaction::class, 'transaction_id');
}
public function convert_original_amount()
{
if($this->booking()->first()->fix_currency_id !== 1) {