backup: 线上最终版本全量备份

包含所有线上运行的改动:
- 荷官端倒计时卡顿修复(CountdownService TTL+10/前端watchdog)
- 停止下注debounce防重复(8个handle.js)
- 洗码量规则重写(单边/双边/开和不计/百家乐+龙虎)
- 龙虎和局不杀庄闲(全额退回)
- 日志系统(Logger工具类/日志查看/清理脚本)
- 好路提醒异常处理(WaybillRemindService try-catch)
- 扫牌器连接改进(ScanConnectService)
- 牛牛/三卡开牌修复
- .gitignore更新/.DS_Store清理
This commit is contained in:
OG Backup
2026-06-14 14:20:43 +08:00
parent 728ce45856
commit 2cd31285f0
78 changed files with 2407 additions and 538 deletions
+6
View File
@@ -4,6 +4,7 @@
namespace app\services\reset;
use app\models\process\NumberTab;
use app\utils\Logger;
use freedom\utils\SocketSession;
use think\swoole\Websocket;
@@ -27,14 +28,17 @@ class ResetDtService
$numberTabInfo = NumberTab::getByTableIdOrderByIdDesc_two($tableInfo);
if (!$numberTabInfo){
$ws->emit('resetDt', ['status' => false, 'msg' => 'not_number_tab_data']);
Logger::warn(Logger::CAT_GAME, 'reset_dt_fail', ['table_id' => $tableInfo['id'], 'reason' => 'not_number_tab_data']);
return;
}
if(count($numberTabInfo) != 2){
$ws->emit('resetDt', ['status' => false, 'msg' => '上一铺数据不存在']);
Logger::warn(Logger::CAT_GAME, 'reset_dt_fail', ['table_id' => $tableInfo['id'], 'reason' => 'previous_round_not_found']);
return;
}
if($numberTabInfo[0]['boot_id'] != $numberTabInfo[1]['boot_id']){
$ws->emit('resetDt', ['status' => false, 'msg' => '上一铺不在同一靴']);
Logger::warn(Logger::CAT_GAME, 'reset_dt_fail', ['table_id' => $tableInfo['id'], 'reason' => 'boot_mismatch']);
return;
}
@@ -46,6 +50,7 @@ class ResetDtService
$res = NumberTab::resetDt($event,$numberTabInfo,$tableInfo);
if (!$res){
$ws->emit('resetDt', ['status' => false, 'msg' => '修改上一局结果失败']);
Logger::warn(Logger::CAT_GAME, 'reset_dt_fail', ['table_id' => $tableInfo['id'], 'number_tab_id' => $numberTabInfo['id'], 'reason' => 'db_update_failed']);
return;
}
@@ -56,5 +61,6 @@ class ResetDtService
'previous_number_tab_id' => $numberTabInfo['id']
]
]);
Logger::info(Logger::CAT_GAME, 'reset_dt', ['table_id' => $tableInfo['id'], 'opening' => $event['opening']]);
}
}