Files
Socket/docs/洗码量计算规则.md
T
OG Backup 2cd31285f0 backup: 线上最终版本全量备份
包含所有线上运行的改动:
- 荷官端倒计时卡顿修复(CountdownService TTL+10/前端watchdog)
- 停止下注debounce防重复(8个handle.js)
- 洗码量规则重写(单边/双边/开和不计/百家乐+龙虎)
- 龙虎和局不杀庄闲(全额退回)
- 日志系统(Logger工具类/日志查看/清理脚本)
- 好路提醒异常处理(WaybillRemindService try-catch)
- 扫牌器连接改进(ScanConnectService)
- 牛牛/三卡开牌修复
- .gitignore更新/.DS_Store清理
2026-06-14 14:20:43 +08:00

2.4 KiB
Raw Blame History

洗码量(码量)计算规则

客户在 2026-05-28 明确的完整规则,由此重写了开奖结算逻辑。 实现位置:app/services/opening/OpeningBaccaratService.phpOpeningDtService.php

核心定义

洗码量 = 投注额(按原投注额度计,不乘赔率)

系统有两种洗码模式,存于 cg_user.type_xima

type_xima 模式 规则
1 双边洗码 所有投注都计洗码,开和不计
2 单边洗码 只有输口计洗码,开和不计

注意:历史代码里 type_xima 的语义曾被误用为 1=双边/2=单边,已确认数据库中 单边洗码会员是 type_xima=2

百家乐(game_id=1

下注位置:庄、闲、和、庄对、闲对、幸运6、大、小

单边洗码(type_xima=2)— 输口计洗码:

  • 庄赢:洗码 = 闲 + 和 + 没中的对子 + 没中的幸运6 + 没中的大小
  • 闲赢:洗码 = 庄 + 和 + 没中的对子 + 没中的幸运6 + 没中的大小
  • 和局:庄闲退回不计,洗码 = 没中的对子 + 没中的幸运6 + 没中的大小

双边洗码(type_xima=1)— 所有投注都计洗码:

  • 庄赢/闲赢:洗码 = 全部投注额($amount
  • 和局:庄闲退回部分不计,其余照常(开和不计核心投注)

龙虎(game_id=2

下注位置:龙、虎、和

  • 和局不杀龙虎,龙虎全额退回(dt_half 旧逻辑"和局杀一半"已废除)
  • 单边洗码:龙赢→洗码=虎+和;虎赢→洗码=龙+和
  • 双边洗码:龙赢/虎赢→洗码=全部投注额;和局→0
  • 赔率:龙/虎 1:0.97,和 1:40

百家乐赔率补充

  • 庄 1:0.95,闲 1:1,和 1:8
  • 免佣模式(baccarat_type=1):庄赢且非幸运6 时 1:1,幸运6 时 1:0.5

关键代码模式

// 输口判断:开出的结果 != 投注位置 → 该位置投注额计入 ximaliang
if($userInfo['type_xima'] == 1){
    $ximaliang = $amount;          // 双边:全部投注
}else{
    $ximaliang += <各输口投注额>;   // 单边:仅输口
}
// 开和:庄闲退回,ximaliang 不累加这部分

数据落地

  • 洗码记录写入 cg_xima 表,字段 ximaliang(原投注额)、maliang=ximaliang×码率)、net_maliang
  • 开奖时(OpeningXxxService→Bet::openingBet)实时按各级代理当前码率计算并落库
  • 码率/占成在开奖时实时读 DB,改了码率只影响之后开的局,已开未结的局不变