backup: 线上最终版本全量备份
包含所有线上运行的改动: - 荷官端倒计时卡顿修复(CountdownService TTL+10/前端watchdog) - 停止下注debounce防重复(8个handle.js) - 洗码量规则重写(单边/双边/开和不计/百家乐+龙虎) - 龙虎和局不杀庄闲(全额退回) - 日志系统(Logger工具类/日志查看/清理脚本) - 好路提醒异常处理(WaybillRemindService try-catch) - 扫牌器连接改进(ScanConnectService) - 牛牛/三卡开牌修复 - .gitignore更新/.DS_Store清理
This commit is contained in:
@@ -27,7 +27,7 @@ class CountdownService
|
||||
//处理倒计时
|
||||
$waitTime = intval($tableInfo['wait_time']);
|
||||
//将倒计时用作是redis的过期时间
|
||||
RedisUtil::save('countdown_'.$numberTabInfo['id'],$waitTime,$waitTime);
|
||||
RedisUtil::save('countdown_'.$numberTabInfo['id'],$waitTime,$waitTime + 10);
|
||||
while($waitTime >= 0){
|
||||
$countdown = Cache::store('redis')->get('countdown_'.$numberTabInfo['id']);
|
||||
if ($countdown){
|
||||
|
||||
@@ -6,6 +6,7 @@ namespace app\services\process;
|
||||
|
||||
use app\models\process\NumberTab;
|
||||
use app\services\connect\InitTableService;
|
||||
use app\utils\Logger;
|
||||
use freedom\utils\RedisUtil;
|
||||
use freedom\utils\SocketSession;
|
||||
|
||||
@@ -41,8 +42,10 @@ class EndBetService
|
||||
'number_tab_status' => InitTableService::numberTabStatus($numberTabInfo)
|
||||
]
|
||||
]);
|
||||
Logger::info(Logger::CAT_GAME, 'end_bet', ['table_id' => $tableInfo['id'], 'nt_id' => $numberTabId]);
|
||||
}else{
|
||||
$ws->emit('endBet', ['status' => false, 'msg' => $modelRes['msg']]);
|
||||
Logger::warn(Logger::CAT_GAME, 'end_bet_fail', ['table_id' => $tableInfo['id'], 'msg' => $modelRes['msg'], 'bet_status' => $modelRes['bet_status'] ?? null]);
|
||||
$ws->emit('endBet', ['status' => false, 'msg' => $modelRes['msg'], 'bet_status' => $modelRes['bet_status'] ?? null]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ namespace app\services\process;
|
||||
|
||||
use app\models\process\NumberTab;
|
||||
use app\services\connect\InitTableService;
|
||||
use app\utils\Logger;
|
||||
use freedom\utils\SocketSession;
|
||||
|
||||
/**
|
||||
@@ -26,15 +27,15 @@ class ResetNumberTabService
|
||||
$numberTabInfo = InitTableService::initTable($tableInfo);
|
||||
if (!$numberTabInfo){
|
||||
$ws->emit('resetNumberTab', ['status' => false, 'msg' => 'not_number_tab_data']);
|
||||
Logger::warn(Logger::CAT_GAME, 'reset_number_tab_fail', ['table_id' => $tableInfo['id'], 'reason' => 'not_number_tab_data']);
|
||||
return;
|
||||
}
|
||||
// 调试日志
|
||||
\think\facade\Log::write('resetNumberTab debug: bet_status=' . $numberTabInfo['bet_status'] . ', rob_status=' . $numberTabInfo['rob_status'] . ', id=' . $numberTabInfo['id'] . ', boot_id=' . $numberTabInfo['boot_id'], 'info');
|
||||
if($numberTabInfo['bet_status'] == 1 || $numberTabInfo['bet_status'] == 2 || ($numberTabInfo['bet_status'] == 0 && $numberTabInfo['rob_status'] == 1) || ($numberTabInfo['bet_status'] == 0 && $numberTabInfo['rob_status'] == 2)){
|
||||
Logger::info(Logger::CAT_GAME, 'reset_number_tab_attempt', ['table_id' => $tableInfo['id'], 'bet_status' => $numberTabInfo['bet_status'], 'nt_id' => $numberTabInfo['id']]);
|
||||
if($numberTabInfo['bet_status'] == 1 || $numberTabInfo['bet_status'] == 2 || $numberTabInfo['bet_status'] == 3 || ($numberTabInfo['bet_status'] == 0 && ($numberTabInfo['rob_status'] == 1 || $numberTabInfo['rob_status'] == 2))){
|
||||
//事务处理
|
||||
$res = NumberTab::resetNumberTab($numberTabInfo);
|
||||
\think\facade\Log::write('resetNumberTab result: ' . ($res ? 'true' : 'false'), 'info');
|
||||
if (!$res){
|
||||
Logger::warn(Logger::CAT_GAME, 'reset_number_tab_fail', ['table_id' => $tableInfo['id'], 'nt_id' => $numberTabInfo['id']]);
|
||||
$ws->emit('resetNumberTab', ['status' => false, 'msg' => 'reset_number_fail']);
|
||||
return;
|
||||
}
|
||||
@@ -55,8 +56,10 @@ class ResetNumberTabService
|
||||
$ws->to(SocketSession::HOUSE_NAME)->emit('resetNumberTab', $responseData);
|
||||
// 同时发送给请求者
|
||||
$ws->emit('resetNumberTab', $responseData);
|
||||
Logger::info(Logger::CAT_GAME, 'reset_number_tab', ['table_id' => $tableInfo['id'], 'nt_id' => $numberTabInfo['id']]);
|
||||
}else{
|
||||
$ws->emit('resetNumberTab', ['status' => false, 'msg' => 'reset_number_fail']);
|
||||
Logger::warn(Logger::CAT_GAME, 'reset_number_tab_fail', ['table_id' => $tableInfo['id'], 'number_tab_id' => $numberTabInfo['id'], 'reason' => 'invalid_bet_status']);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ namespace app\services\process;
|
||||
|
||||
use app\models\process\NumberTab;
|
||||
use app\services\connect\InitTableService;
|
||||
use app\utils\Logger;
|
||||
use freedom\utils\SocketSession;
|
||||
|
||||
/**
|
||||
@@ -44,7 +45,9 @@ class StartBetService
|
||||
$ws->emit('startBet', $responseData);
|
||||
//启动倒计时(该处以后会废弃掉)
|
||||
CountdownService::countdown($numberTabId,$tableInfo,$modelRes['data']);
|
||||
Logger::info(Logger::CAT_GAME, 'start_bet', ['table_id' => $tableInfo['id'], 'table_name' => $tableInfo['table_name'], 'nt_id' => $numberTabId]);
|
||||
}else{
|
||||
Logger::warn(Logger::CAT_GAME, 'start_bet_fail', ['table_id' => $tableInfo['id'], 'msg' => $modelRes['msg']]);
|
||||
$ws->emit('startBet', ['status' => false, 'msg' => $modelRes['msg']]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user