card page
This commit is contained in:
@ -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([]);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user