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; $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){ }elseif($numberTabInfo['result'] == 2){
// 闲赢 // 闲赢
if($v['player_amount'] > 0){ if($v['player_amount'] > 0){
$winMoney = $v['player_amount'] * (1 + $userInfo['price_player']) + $winMoney; $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) { }elseif($numberTabInfo['result'] == 3) {
// 和赢 // 和赢:庄闲退回,开和不计洗码
if($v['tie_amount'] > 0){ if($v['tie_amount'] > 0){
$winMoney = $v['tie_amount'] * (1 + $userInfo['price_tie_baccarat']) + $winMoney; $winMoney = $v['tie_amount'] * (1 + $userInfo['price_tie_baccarat']) + $winMoney;
} }
// 开 和,下注庄和闲不扣钱
if($v['banker_amount'] > 0 && $v['player_amount'] > 0){ if($v['banker_amount'] > 0 && $v['player_amount'] > 0){
$winMoney = $v['player_amount'] + $v['banker_amount'] + $winMoney; $winMoney = $v['player_amount'] + $v['banker_amount'] + $winMoney;
}elseif($v['banker_amount'] > 0){ }elseif($v['banker_amount'] > 0){
@@ -223,7 +230,7 @@ class OpeningBaccaratService
$winMoney = $v['player_amount'] + $winMoney; $winMoney = $v['player_amount'] + $winMoney;
} }
} }
// 对子:没中的算输口 // 对子
if($numberTabInfo['pair'] == 3){ if($numberTabInfo['pair'] == 3){
if ($v['banker_pair_amount'] > 0) { if ($v['banker_pair_amount'] > 0) {
$winMoney = $v['banker_pair_amount'] * (1 + $userInfo['price_pair']) + $winMoney; $winMoney = $v['banker_pair_amount'] * (1 + $userInfo['price_pair']) + $winMoney;
@@ -235,32 +242,32 @@ class OpeningBaccaratService
if ($v['banker_pair_amount'] > 0) { if ($v['banker_pair_amount'] > 0) {
$winMoney = $v['banker_pair_amount'] * (1 + $userInfo['price_pair']) + $winMoney; $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){ }elseif($numberTabInfo['pair'] == 2){
if ($v['player_pair_amount'] > 0) { if ($v['player_pair_amount'] > 0) {
$winMoney = $v['player_pair_amount'] * (1 + $userInfo['price_pair']) + $winMoney; $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{ }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){ if ($numberTabInfo['luck_six'] == 2 && $v['luck_six_amount'] > 0){
$winMoney = $v['luck_six_amount'] * (1 + $userInfo['price_luck_six_2']) + $winMoney; $winMoney = $v['luck_six_amount'] * (1 + $userInfo['price_luck_six_2']) + $winMoney;
}elseif ($numberTabInfo['luck_six'] == 3 && $v['luck_six_amount'] > 0){ }elseif ($numberTabInfo['luck_six'] == 3 && $v['luck_six_amount'] > 0){
$winMoney = $v['luck_six_amount'] * (1 + $userInfo['price_luck_six_3']) + $winMoney; $winMoney = $v['luck_six_amount'] * (1 + $userInfo['price_luck_six_3']) + $winMoney;
}else{ }else{
$ximaliang += $v['luck_six_amount']; if($userInfo['type_xima'] != 1) $ximaliang += $v['luck_six_amount'];
} }
// 大小:没中算输口 // 大小
if ($numberTabInfo['big_small'] == 1){ if ($numberTabInfo['big_small'] == 1){
$winMoney = $v['big_amount'] * (1 + $userInfo['price_big']) + $winMoney; $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){ }elseif ($numberTabInfo['big_small'] == 2){
$winMoney = $v['small_amount'] * (1 + $userInfo['price_small']) + $winMoney; $winMoney = $v['small_amount'] * (1 + $userInfo['price_small']) + $winMoney;
$ximaliang += $v['big_amount']; if($userInfo['type_xima'] != 1) $ximaliang += $v['big_amount'];
}else{ }else{
$ximaliang += $v['big_amount'] + $v['small_amount']; if($userInfo['type_xima'] != 1) $ximaliang += $v['big_amount'] + $v['small_amount'];
} }
// 计算最终赢钱金额 // 计算最终赢钱金额
$winTotal = $winMoney - $amount; $winTotal = $winMoney - $amount;
+14 -10
View File
@@ -137,23 +137,27 @@ class OpeningDtService
if($v['banker_amount'] > 0){ if($v['banker_amount'] > 0){
$winMoney = round($v['banker_amount'] * (1 + $userInfo['price_dragon']),2) + $winMoney; $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 ($numberTabInfo['result'] == 2) {
if($v['player_amount'] > 0){ if($v['player_amount'] > 0){
$winMoney = round($v['player_amount'] * (1 + $userInfo['price_tiger']),2) + $winMoney; $winMoney = round($v['player_amount'] * (1 + $userInfo['price_tiger']),2) + $winMoney;
} }
$ximaliang = $v['banker_amount'] + $v['tie_amount']; if($userInfo['type_xima'] == 1){
} $ximaliang = $amount;
// 和:通杀龙虎 }else{
if ($numberTabInfo['result'] == 3) { $ximaliang = $v['banker_amount'] + $v['tie_amount'];
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 ($numberTabInfo['result'] == 3) {
$winMoney = $v['banker_amount'] + $v['player_amount'] + $winMoney;
$ximaliang = 0;
if ($v['tie_amount'] > 0) { if ($v['tie_amount'] > 0) {
$winMoney = $v['tie_amount'] * (1 + $userInfo['price_tie_dt']) + $winMoney; $winMoney = $v['tie_amount'] * (1 + $userInfo['price_tie_dt']) + $winMoney;
} }