Files
Socket/app/services/connect/InitTableService.php
T

77 lines
2.7 KiB
PHP

<?php
namespace app\services\connect;
use app\models\process\Boot;
use app\models\process\NumberTab;
use app\models\process\Sumday;
use app\utils\Logger;
/**
* TODO 桌子状态服务
* Class InitTableService
* @package app\services\connect
*/
class InitTableService
{
/**
* TODO 控制台登录处理
* @param array $tableInfo
* @return array
*/
public static function initTable(array $tableInfo): array
{
$lastSumday = Sumday::getByTableIdOrderByIdDesc($tableInfo);
if (!$lastSumday) {
$lastSumday = Sumday::addByTable($tableInfo);
Logger::info(Logger::CAT_GAME, 'init_create_sumday', ['table_id' => $tableInfo['id']]);
}
$lastBoot = Boot::getByTableIdOrderByIdDesc($tableInfo);
if (!$lastBoot) {
$lastBoot = Boot::addBySumday($lastSumday);
Logger::info(Logger::CAT_GAME, 'init_create_boot', ['table_id' => $tableInfo['id'], 'sumday_id' => $lastSumday['id'] ?? '']);
}
$lastNumberTab = NumberTab::getByBootIdOrderByIdDesc($lastBoot);
if (!$lastNumberTab) {
$lastNumberTab = NumberTab::addByBoot($lastBoot);
Logger::info(Logger::CAT_GAME, 'init_create_number_tab', ['table_id' => $tableInfo['id'], 'boot_id' => $lastBoot['id'] ?? '']);
}
if (!$lastNumberTab) {
Logger::warn(Logger::CAT_GAME, 'init_table_fail', ['table_id' => $tableInfo['id'], 'table_name' => $tableInfo['table_name'] ?? '']);
}
return $lastNumberTab;
}
/**
* TODO 桌子状态获取
* @param array $numberTabInfo
* @return array
*/
public static function numberTabStatus(array $numberTabInfo): array{
switch ($numberTabInfo['bet_status']){
case 1:
$return = ['bet_status' => 1, 'bet_msg' => 'bet_status_1'];
break;
case 2:
$return = ['bet_status' => 2, 'bet_msg' => 'bet_status_2'];
break;
default:
$return = ['bet_status' => 0, 'bet_msg' => 'bet_status_0'];
break;
}
switch ($numberTabInfo['rob_status']){
case 1:
$return = array_merge(['rob_status' => 1, 'bet_msg' => 'rob_status_1'],$return);
break;
case 2:
$return = array_merge(['rob_status' => 2, 'bet_msg' => 'rob_status_2'],$return);
break;
default:
$return = array_merge(['rob_status' => 0, 'bet_msg' => 'rob_status_0'],$return);
break;
}
return $return;
}
}