Подсчитать оставшиеся баллы, баллы с истекающим сроком действия для участия в программе лояльностиPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Подсчитать оставшиеся баллы, баллы с истекающим сроком действия для участия в программе лояльности

Сообщение Anonymous »

У меня есть данные в базе данных, например
Изображение

где
id = trasactionID
type = тип транзакции (EARN = пользователь получает баллы из магазина, REDEEM = пользователь использует баллы)
expiredAt = балл срок действия (до истечения срока действия балла EARN остался 1 год)
Моя проблема в том, что мне нужно рассчитать
  • оставшееся количество баллов для Пользователь. например. Если я запрошу в этот день (19 февраля 2024 г.), сколько осталось баллов. (точка истечения срока не должна рассчитываться)
  • Точка истечения (в этом месяце)
это моя функция php< /p>

Код: Выделить всё

public function calculateRemainingPoints($memberId)
{
// Fetch all transactions for the memberId
$transactions = Transaction::where('memberId', $memberId)->orderBy('created_at')->get();

// Initialize total points
$totalPoints = 0;

// Process each transaction
foreach ($transactions as $transaction) {
if ($transaction->type == 'EARN') {
// Check if the EARN points are not expired
$expiredAt = Carbon::parse($transaction->expiredAt);
$currentDate = Carbon::now();
if ($expiredAt->gt($currentDate)) {
// Accumulate EARN points
$totalPoints += $transaction->points;
}
} elseif ($transaction->type == 'REDEEM') {
// Deduct REDEEM points
$totalPoints -= $transaction->points;
}
}

return $totalPoints;
}



Подробнее здесь: https://stackoverflow.com/questions/780 ... ty-program
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»