fix: 洗码量按客户完整规则重写

百家乐+龙虎:
- 单边洗码(type_xima=2):输口计洗码,开和不计
- 双边洗码(type_xima=1):所有投注都计洗码,开和不计(庄闲退回部分除外)
- 龙虎和局不杀龙虎,全额退回
This commit is contained in:
2026-05-29 05:37:40 +08:00
parent c3621121ca
commit e44d645547
2 changed files with 35 additions and 24 deletions
+21 -14
View File
@@ -202,19 +202,26 @@ class OpeningBaccaratService
$winMoney = round($v['banker_amount'] * (1 + $userInfo['price_banker']),2) + $winMoney;
}
}
$ximaliang += $v['player_amount'] + $v['tie_amount'];
if($userInfo['type_xima'] == 1){
$ximaliang = $amount;
}else{
$ximaliang += $v['player_amount'] + $v['tie_amount'];
}
}elseif($numberTabInfo['result'] == 2){
// 闲赢
if($v['player_amount'] > 0){
$winMoney = $v['player_amount'] * (1 + $userInfo['price_player']) + $winMoney;
}
$ximaliang += $v['banker_amount'] + $v['tie_amount'];
if($userInfo['type_xima'] == 1){
$ximaliang = $amount;
}else{
$ximaliang += $v['banker_amount'] + $v['tie_amount'];
}
}elseif($numberTabInfo['result'] == 3) {
// 和赢
// 和赢:庄闲退回,开和不计洗码
if($v['tie_amount'] > 0){
$winMoney = $v['tie_amount'] * (1 + $userInfo['price_tie_baccarat']) + $winMoney;
}
// 开 和,下注庄和闲不扣钱
if($v['banker_amount'] > 0 && $v['player_amount'] > 0){
$winMoney = $v['player_amount'] + $v['banker_amount'] + $winMoney;
}elseif($v['banker_amount'] > 0){
@@ -223,7 +230,7 @@ class OpeningBaccaratService
$winMoney = $v['player_amount'] + $winMoney;
}
}
// 对子:没中的算输口
// 对子
if($numberTabInfo['pair'] == 3){
if ($v['banker_pair_amount'] > 0) {
$winMoney = $v['banker_pair_amount'] * (1 + $userInfo['price_pair']) + $winMoney;
@@ -235,32 +242,32 @@ class OpeningBaccaratService
if ($v['banker_pair_amount'] > 0) {
$winMoney = $v['banker_pair_amount'] * (1 + $userInfo['price_pair']) + $winMoney;
}
$ximaliang += $v['player_pair_amount'];
if($userInfo['type_xima'] != 1) $ximaliang += $v['player_pair_amount'];
}elseif($numberTabInfo['pair'] == 2){
if ($v['player_pair_amount'] > 0) {
$winMoney = $v['player_pair_amount'] * (1 + $userInfo['price_pair']) + $winMoney;
}
$ximaliang += $v['banker_pair_amount'];
if($userInfo['type_xima'] != 1) $ximaliang += $v['banker_pair_amount'];
}else{
$ximaliang += $v['banker_pair_amount'] + $v['player_pair_amount'];
if($userInfo['type_xima'] != 1) $ximaliang += $v['banker_pair_amount'] + $v['player_pair_amount'];
}
// 幸运6:没中算输口
// 幸运6
if ($numberTabInfo['luck_six'] == 2 && $v['luck_six_amount'] > 0){
$winMoney = $v['luck_six_amount'] * (1 + $userInfo['price_luck_six_2']) + $winMoney;
}elseif ($numberTabInfo['luck_six'] == 3 && $v['luck_six_amount'] > 0){
$winMoney = $v['luck_six_amount'] * (1 + $userInfo['price_luck_six_3']) + $winMoney;
}else{
$ximaliang += $v['luck_six_amount'];
if($userInfo['type_xima'] != 1) $ximaliang += $v['luck_six_amount'];
}
// 大小:没中算输口
// 大小
if ($numberTabInfo['big_small'] == 1){
$winMoney = $v['big_amount'] * (1 + $userInfo['price_big']) + $winMoney;
$ximaliang += $v['small_amount'];
if($userInfo['type_xima'] != 1) $ximaliang += $v['small_amount'];
}elseif ($numberTabInfo['big_small'] == 2){
$winMoney = $v['small_amount'] * (1 + $userInfo['price_small']) + $winMoney;
$ximaliang += $v['big_amount'];
if($userInfo['type_xima'] != 1) $ximaliang += $v['big_amount'];
}else{
$ximaliang += $v['big_amount'] + $v['small_amount'];
if($userInfo['type_xima'] != 1) $ximaliang += $v['big_amount'] + $v['small_amount'];
}
// 计算最终赢钱金额
$winTotal = $winMoney - $amount;
+14 -10
View File
@@ -137,23 +137,27 @@ class OpeningDtService
if($v['banker_amount'] > 0){
$winMoney = round($v['banker_amount'] * (1 + $userInfo['price_dragon']),2) + $winMoney;
}
$ximaliang = $v['player_amount'] + $v['tie_amount'];
if($userInfo['type_xima'] == 1){
$ximaliang = $amount;
}else{
$ximaliang = $v['player_amount'] + $v['tie_amount'];
}
}
// 虎赢
if ($numberTabInfo['result'] == 2) {
if($v['player_amount'] > 0){
$winMoney = round($v['player_amount'] * (1 + $userInfo['price_tiger']),2) + $winMoney;
}
$ximaliang = $v['banker_amount'] + $v['tie_amount'];
}
// 和:通杀龙虎
if ($numberTabInfo['result'] == 3) {
if (Env::get('system.dt_half') == 1) {
$winMoney = round(($v['banker_amount'] + $v['player_amount']) / 2, 2) + $winMoney;
$ximaliang = round(($v['banker_amount'] + $v['player_amount']) / 2, 2);
} else {
$winMoney = $v['banker_amount'] + $v['player_amount'] + $winMoney;
if($userInfo['type_xima'] == 1){
$ximaliang = $amount;
}else{
$ximaliang = $v['banker_amount'] + $v['tie_amount'];
}
}
// 和:不杀龙虎,全额退回
if ($numberTabInfo['result'] == 3) {
$winMoney = $v['banker_amount'] + $v['player_amount'] + $winMoney;
$ximaliang = 0;
if ($v['tie_amount'] > 0) {
$winMoney = $v['tie_amount'] * (1 + $userInfo['price_tie_dt']) + $winMoney;
}