mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
flag decay start blog with additional field in decay
This commit is contained in:
parent
1cb01182ae
commit
8413ca56f7
@ -138,6 +138,7 @@ class TransactionsTable extends Table
|
||||
|
||||
$stateUsersTable = TableRegistry::getTableLocator()->get('StateUsers');
|
||||
$stateBalancesTable = TableRegistry::getTableLocator()->get('StateBalances');
|
||||
$transactionsTable = TableRegistry::getTableLocator()->get('Transactions');
|
||||
|
||||
$transaction_ids = [];
|
||||
$involved_user_ids = [];
|
||||
@ -162,11 +163,15 @@ class TransactionsTable extends Table
|
||||
|
||||
$state_balance = $stateBalancesTable->newEntity();
|
||||
$final_transactions = [];
|
||||
$decay_start_transaction = $transactionsTable->find()->where(['transaction_type_id' => 9]);
|
||||
$decay_start_transaction_id = 0;
|
||||
if($decay_start_transaction->count()) {
|
||||
$decay_start_transaction_id = $decay_start_transaction->first()->id;
|
||||
}
|
||||
$decay_start_time = $stateBalancesTable->getDecayStartDateCached()->getTimestamp();
|
||||
|
||||
foreach($stateUserTransactions as $i => $su_transaction)
|
||||
{
|
||||
|
||||
|
||||
// sender or receiver when user has sended money
|
||||
// group name if creation
|
||||
// type: gesendet / empfangen / geschöpft
|
||||
@ -187,7 +192,8 @@ class TransactionsTable extends Table
|
||||
}
|
||||
if($prev)
|
||||
{
|
||||
if($prev->balance > 0) {
|
||||
if($prev->balance > 0)
|
||||
{
|
||||
$current = $su_transaction;
|
||||
$calculated_decay = $stateBalancesTable->calculateDecay($prev->balance, $prev->balance_date, $current->balance_date, true);
|
||||
$balance = floatval($prev->balance - $calculated_decay['balance']);
|
||||
@ -199,7 +205,19 @@ class TransactionsTable extends Table
|
||||
'decay_duration' => $calculated_decay['interval']->format('%a days, %H hours, %I minutes, %S seconds'),
|
||||
'decay_start' => $calculated_decay['start_date'],
|
||||
'decay_end' => $calculated_decay['end_date']
|
||||
];
|
||||
];
|
||||
if($prev->transaction_id < $decay_start_transaction_id &&
|
||||
$current->transaction_id > $decay_start_transaction_id) {
|
||||
$final_transaction['decay']['decay_start_block'] = $decay_start_time;
|
||||
}
|
||||
// hint: use transaction id
|
||||
/*if($calculated_decay['start_date'] < $decay_start_time && $calculated_decay['end_date'] > $decay_start_time) {
|
||||
$final_transaction['decay']['decay_start_block'] = $decay_start_time;
|
||||
} else {
|
||||
echo "start block: " . $decay_start_time . "<br>";
|
||||
echo "start date: " . $calculated_decay['start_date'] . "<br>";
|
||||
echo "end date: " . $calculated_decay['end_date']. "<hr>";
|
||||
}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user