mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Merge pull request #9134 from paulwer/fix-nordigen-transaction-id
fix: nordigen transaction id should be string
This commit is contained in:
commit
f37c01bf50
@ -110,7 +110,7 @@ class TransactionTransformer implements BankRevenueInterface
|
||||
$transaction['creditorName'] : null);
|
||||
|
||||
return [
|
||||
'transaction_id' => $transaction["transactionId"],
|
||||
'nordigen_transaction_id' => $transaction["transactionId"],
|
||||
'amount' => abs((int) $transaction["transactionAmount"]["amount"]),
|
||||
'currency_id' => $this->convertCurrency($transaction["transactionAmount"]["currency"]),
|
||||
'category_id' => null,
|
||||
|
@ -206,7 +206,7 @@ class NordigenController extends BaseController
|
||||
|
||||
$nordigen_account = $nordigen->getAccount($nordigenAccountId);
|
||||
|
||||
$existing_bank_integration = BankIntegration::withTrashed()->where('nordigen_account_id', $nordigen_account['id'])->where('company_id', $company->id)->first();
|
||||
$existing_bank_integration = BankIntegration::withTrashed()->where('nordigen_account_id', $nordigen_account['id'])->where('company_id', $company->id)->where('is_deleted', 0)->first();
|
||||
|
||||
if (!$existing_bank_integration) {
|
||||
|
||||
|
@ -155,12 +155,13 @@ class ProcessBankTransactionsNordigen implements ShouldQueue
|
||||
|
||||
foreach ($transactions as $transaction) {
|
||||
|
||||
if (BankTransaction::where('transaction_id', $transaction['transaction_id'])->where('company_id', $this->company->id)->where('bank_integration_id', $this->bank_integration->id)->withTrashed()->exists())
|
||||
if (BankTransaction::where('nordigen_transaction_id', $transaction['nordigen_transaction_id'])->where('company_id', $this->company->id)->where('bank_integration_id', $this->bank_integration->id)->where('is_deleted', 0)->withTrashed()->exists())
|
||||
continue;
|
||||
|
||||
//this should be much faster to insert than using ::create()
|
||||
\DB::table('bank_transactions')->insert(
|
||||
array_merge($transaction, [
|
||||
'transaction_id' => 0,
|
||||
'company_id' => $this->company->id,
|
||||
'user_id' => $user_id,
|
||||
'bank_integration_id' => $this->bank_integration->id,
|
||||
|
@ -23,6 +23,7 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
* @property int $user_id
|
||||
* @property int $bank_integration_id
|
||||
* @property int $transaction_id
|
||||
* @property string $nordigen_transaction_id
|
||||
* @property string $amount
|
||||
* @property string|null $currency_code
|
||||
* @property int|null $currency_id
|
||||
|
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
use App\Models\Account;
|
||||
use App\Models\BankIntegration;
|
||||
use App\Models\BankTransaction;
|
||||
use App\Repositories\BankTransactionRepository;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration {
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
|
||||
// FIX: used column transaction_id was int and resulted in wrong value in field
|
||||
Schema::table('bank_transactions', function (Blueprint $table) {
|
||||
$table->text('nordigen_transaction_id')->nullable();
|
||||
});
|
||||
|
||||
// remove invalid transactions
|
||||
BankIntegration::query()->where('integration_type', BankIntegration::INTEGRATION_TYPE_NORDIGEN)->cursor()->each(function ($bank_integration) {
|
||||
$bank_integration->from_date = now()->subDays(90);
|
||||
$bank_integration->save();
|
||||
|
||||
BankTransaction::query()->where('bank_integration_id', $bank_integration->id)->cursor()->each(function ($bank_transaction) {
|
||||
if ($bank_transaction->invoiceIds != '' || $bank_transaction->expense_id != '')
|
||||
return;
|
||||
|
||||
$btrepo = new BankTransactionRepository();
|
||||
$btrepo->delete($bank_transaction);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
}
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user