card page

This commit is contained in:
2025-01-05 17:23:49 +03:00
parent 3ca3d48ffe
commit 40369fb515
13 changed files with 145 additions and 36 deletions

View File

@ -30,8 +30,8 @@ class CardService
$model->info = $form_model->getItem('info') ?? 42;
$model->program = $form_model->getItem('program') ?? 74;
$model->balance = $form_model->getItem('balance') ?? 0;
$model->cvc = $form_model->getItem('cvc');
$model->pin = $form_model->getItem('pin');
$model->cvc = $form_model->getItem('cvc') ?? 101;
$model->pin = $form_model->getItem('pin') ?? 1111;
$model->username = $form_model->getItem('username');
$model->card_template_id = $form_model->getItem('card_template_id');
$model->status = $form_model->getItem('status');

View File

@ -4,6 +4,7 @@ namespace kernel\app_modules\tgbot\controllers;
use app\modules\tgbot\models\Tgbot;
use JetBrains\PhpStorm\NoReturn;
use kernel\app_modules\card\models\Card;
use kernel\app_modules\card\models\forms\CreateCardForm;
use kernel\app_modules\card\services\CardService;
use kernel\helpers\Debug;
@ -28,8 +29,8 @@ class TgBotRestController extends RestController
$tgBot = $this->model->where("bot_id", $data['bot_id'])->where("dialog_id", $data['dialog_id'])->first();
if (!$tgBot){
foreach ($this->model->getFillable() as $item){
if (!$tgBot) {
foreach ($this->model->getFillable() as $item) {
$this->model->{$item} = $data[$item] ?? null;
}
@ -49,12 +50,21 @@ class TgBotRestController extends RestController
$this->model->save();
$resArr = $tgBot->toArray();
$resArr['has_card'] = CardService::userHasCard($resArr['user_id']);
$resArr = $this->model->toArray();
$cardService = new CardService();
$cardForm = new CreateCardForm();
$cardForm->load([
'user_id' => $user->id,
'username' => $username,
'card_template_id' => 105545,
'status' => 1,
]);
$cardService->create($cardForm);
$this->renderApi($resArr);
}
$resArr = $tgBot->toArray();
$resArr['has_card'] = CardService::userHasCard($resArr['user_id']);
$this->renderApi($resArr);
}
@ -74,7 +84,7 @@ class TgBotRestController extends RestController
$form->setItem('pin', 1111);
$form->setItem('status', 1);
if ($form->validate()){
if ($form->validate()) {
$model = $cardService->create($form);
$this->renderApi($model->load(['cardFile'])->toArray());
@ -92,4 +102,16 @@ class TgBotRestController extends RestController
$this->renderApi([]);
}
#[NoReturn] public function actionGetCardByDialog(int $dialog_id, int $bot_id): void
{
$model = \kernel\app_modules\tgbot\models\Tgbot::where(['dialog_id' => $dialog_id, 'bot_id' => $bot_id])->first();
if ($model) {
$card = Card::where("user_id", $model->user_id)->first();
if ($card) {
$this->renderApi($card->load('cardFile')->toArray());
}
}
$this->renderApi([]);
}
}

View File

@ -30,4 +30,5 @@ App::$collector->group(["prefix" => "api"], function (CgRouteCollector $router){
$router->post('/tg-bot/create-card', [\app\modules\tgbot\controllers\TgBotRestController::class, 'actionCreateCard']);
$router->get('/tg-bot/get-by-dialog/{dialog_id}/{bot_id}', [\app\modules\tgbot\controllers\TgBotRestController::class, 'actionGetByDialog']);
});
$router->get('/tg-bot/get-card-by-dialog/{dialog_id}/{bot_id}', [\app\modules\tgbot\controllers\TgBotRestController::class, 'actionGetCardByDialog']);
});

View File

@ -31,7 +31,7 @@ $table->beforePrint(function () {
$table->columns([
"status" => [
"value" => function ($cell) {
return \app\modules\tgbot\models\Tgbot::getStatus()[$cell];
return \app\modules\tgbot\models\Tgbot::getStatus()[$cell] ?? 0;
}
],
"username" => [