Files
Socket/app/services/reset/ResetBaccaratService.php
T
testadmin ef66019c29 feat: 修改上局结果支持幸运6/龙7/熊8
- tab_b.html: 下拉菜单加6/7/8选项(5段格式 opening-pair-luck_six-dragon_seven-panda_eight)
- handle_b.js: retreated()解析并传dragon_seven/panda_eight
- NumberTab: resetBaccarat更新luck_six/dragon_seven/panda_eight字段
- ResetBaccaratService: 比较条件加上三个字段
2026-05-13 19:09:43 +08:00

60 lines
2.1 KiB
PHP

<?php
namespace app\services\reset;
use app\models\process\NumberTab;
use freedom\utils\SocketSession;
use think\swoole\Websocket;
/**
* TODO Baccarat开结果服务
* Class ResetBaccaratService
* @package app\services\opening
*/
class ResetBaccaratService
{
/**
* TODO Baccarat修改上一铺结果处理
* @param array $event
* @param array $tableInfo
* @param Websocket $ws
* @return void
*/
public static function resetBaccarat(array $event, array $tableInfo, Websocket $ws){
$ws = app('\think\swoole\WebSocket');
$numberTabInfo = NumberTab::getByTableIdOrderByIdDesc_two($tableInfo);
if (!$numberTabInfo){
$ws->emit('resetBaccarat', ['status' => false, 'msg' => 'not_number_tab_data']);
return;
}
if(count($numberTabInfo) != 2){
$ws->emit('resetBaccarat', ['status' => false, 'msg' => '上一铺数据不存在']);
return;
}
if($numberTabInfo[0]['boot_id'] != $numberTabInfo[1]['boot_id']){
$ws->emit('resetBaccarat', ['status' => false, 'msg' => '上一铺不在同一靴']);
return;
}
$numberTabInfo = $numberTabInfo[1];
if($event['opening'] == $numberTabInfo['result'] && $event['pair'] == $numberTabInfo['pair'] && ($event['luck_six'] ?? 0) == $numberTabInfo['luck_six'] && ($event['dragon_seven'] ?? 0) == $numberTabInfo['dragon_seven'] && ($event['panda_eight'] ?? 0) == $numberTabInfo['panda_eight']){
$ws->emit('resetBaccarat', ['status' => false, 'msg' => '结果一样']);
return;
}
$res = NumberTab::resetBaccarat($event,$numberTabInfo,$tableInfo);
if (!$res){
$ws->emit('resetBaccarat', ['status' => false, 'msg' => '修改上一局结果失败']);
return;
}
$ws->to(SocketSession::HOUSE_NAME)->emit('resetBaccarat',[
'status' => true,
'table_id' => $tableInfo['id'],
'round' => [
'previous_number_tab_id' => $numberTabInfo['id']
]
]);
}
}