card action
This commit is contained in:
@ -2,14 +2,19 @@
|
||||
|
||||
namespace app\modules\tgbot\controllers;
|
||||
|
||||
use app\modules\tgbot\models\forms\CardActionStep2Form;
|
||||
use app\modules\tgbot\models\Tgbot;
|
||||
use app\modules\tgbot\services\TgBotService;
|
||||
use Cassandra\Decimal;
|
||||
use kernel\app_modules\card\conditions\CashbackCondition;
|
||||
use kernel\app_modules\card\models\Card;
|
||||
use kernel\app_modules\card\services\CardService;
|
||||
use kernel\app_modules\tag\service\TagService;
|
||||
use kernel\Controller;
|
||||
use kernel\Flash;
|
||||
use kernel\helpers\Debug;
|
||||
use kernel\modules\post\models\Post;
|
||||
use kernel\Request;
|
||||
|
||||
class TgMainController extends Controller
|
||||
{
|
||||
@ -47,11 +52,49 @@ class TgMainController extends Controller
|
||||
$this->cgView->render("scanner.php");
|
||||
}
|
||||
|
||||
public function actionCardAction(int $cardId): void
|
||||
public function actionCardActionStep1(int $cardId): void
|
||||
{
|
||||
$card = Card::where("id", $cardId)->first();
|
||||
|
||||
$this->cgView->render("card_action.php", ['card' => $card]);
|
||||
$this->cgView->render("card_action_step_1.php", ['card' => $card]);
|
||||
}
|
||||
|
||||
public function actionCardActionStep2(): void
|
||||
{
|
||||
$params = new CardActionStep2Form();
|
||||
$request = new Request();
|
||||
$params->load($request->get());
|
||||
|
||||
$this->cgView->render("card_action_step_2.php", ['params' => $params]);
|
||||
}
|
||||
|
||||
public function actionCardActionStep3(): void
|
||||
{
|
||||
$params = new CardActionStep2Form();
|
||||
$request = new Request();
|
||||
$params->load($request->post());
|
||||
|
||||
$card = CardService::getCardById($params->getItem("card_id"));
|
||||
|
||||
if ($params->getItem('type') === 'add_money'){
|
||||
Flash::setMessage("success", "Баланс пополнен на " . $params->getItem('amount'));
|
||||
$transaction = CardService::addMoneyToCard($card, (int)$params->getItem('amount'));
|
||||
}
|
||||
if ($params->getItem('type') === 'withdraw'){
|
||||
Flash::setMessage("success", "С карты списано " . $params->getItem('amount'));
|
||||
$transaction = CardService::withdrawMoneyFromCard($card, (int)$params->getItem('amount'));
|
||||
}
|
||||
if ($params->getItem('type') === 'add_purchase'){
|
||||
// Flash::setMessage("success", "С карты списано " . $params->getItem('amount'));
|
||||
// CardService::withdrawMoneyFromCard($card, (int)$params->getItem('amount'));
|
||||
$cashback = new CashbackCondition();
|
||||
$transaction = $cashback->handler($card, (int)$params->getItem('amount'));
|
||||
Flash::setMessage("success", "Начислено кешбэк " . $transaction->amount);
|
||||
}
|
||||
|
||||
$card = $card->fresh();
|
||||
|
||||
$this->cgView->render("card_action_step_3.php", ['card' => $card, 'transaction' => $transaction ?? null]);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user