0){ $v[$amountColumn] = intval($v[$amountColumn]); $v['bet_type'] = $betType; $v['bet_amount'] = $v[$amountColumn]; $v['bet_amount_all'] = $v[$amountColumn]; if($number_info['bet_status'] == 3){ if($flag >= 1 && $flag <= 3 && $v['result'] == $flag){ $v['win'] = round($v[$amountColumn] * $price,2); }elseif($flag >= 4 && $flag <= 5 && $v['pair'] == $flag){ $v['win'] = round($v[$amountColumn] * $price,2); }else{ $v['win'] = to_number(round($v[$amountColumn],2)); } }else{ $v['win'] = 0; } return $v; } } // 下注细分 龙虎 public function betDetailDt($flag,$v,$number_info,$user_info){ if($flag == 1){ $price = $user_info['price_banker']; $betType = '庄'; $amountColumn = 'banker_amount'; }elseif($flag == 2){ $price = $user_info['price_player']; $betType = '闲'; $amountColumn = 'player_amount'; }elseif($flag == 3){ $price = $user_info['price_tie_dt']; $betType = '和'; $amountColumn = 'tie_amount'; }else{ return $v; } // 下注细分重组 if($v[$amountColumn] > 0){ $v[$amountColumn] = intval($v[$amountColumn]); $v['bet_type'] = $betType; $v['bet_amount'] = $v[$amountColumn]; $v['bet_amount_all'] = $v[$amountColumn]; if($number_info['bet_status'] == 3){ if($flag >= 1 && $flag <= 3 && $v['result'] == $flag){ $v['win'] = round($v[$amountColumn] * $price,2); }else{ $v['win'] = to_number(round($v[$amountColumn],2)); } }else{ $v['win'] = 0; } return $v; } } // 牛牛翻倍赔率判断 public function getPrice($isWin,$num,$number_info,$user_info){ if($isWin == 1){ $winPoint = $number_info['result_player_'.$num]; }else{ $winPoint = $number_info['result_banker']; } if($winPoint >= 7 && $winPoint <= 9){ $price = $user_info['price_n7_n9']; }elseif($winPoint == 10){ $price = $user_info['price_nn']; }elseif($winPoint == 11){ $price = $user_info['price_5n']; }elseif($winPoint == 12){ $price = $user_info['price_bomb']; }else{ $price = 1; } return $price; } // 下注细分 牛牛 public function betDetailNn($flag,$v,$number_info,$user_info,$card_info){ if($flag == 1){ $result = '闲1'; $price = 1; $betType = '闲1'; $amountColumn = 'amount_player_1'; $resultColumn = 'result_player_1'; $winColumn = 'win_player_1'; }elseif($flag == 2){ $result = '闲1'; $price = $this->getPrice($number_info['win_player_1'],1,$number_info,$user_info); $betType = '闲1翻倍'; $amountColumn = 'amount_player_1_times'; $resultColumn = 'result_player_1'; $withholdColumn = 'withhold_player_1_times'; $winColumn = 'win_player_1'; }elseif($flag == 3){ $result = '闲1'; $price = 1; $betType = '庄(闲1)'; $amountColumn = 'amount_player_1_banker'; $resultColumn = 'result_player_1'; $winColumn = 'win_player_1'; }elseif($flag == 4){ $result = '闲1'; $price = $this->getPrice($number_info['win_player_1'],1,$number_info,$user_info); $betType = '庄(闲1)翻倍'; $amountColumn = 'amount_player_1_banker_times'; $resultColumn = 'result_player_1'; $withholdColumn = 'withhold_player_1_banker_times'; $winColumn = 'win_player_1'; }elseif($flag == 5){ $result = '闲2'; $price = 1; $betType = '闲2'; $amountColumn = 'amount_player_2'; $resultColumn = 'result_player_2'; $winColumn = 'win_player_2'; }elseif($flag == 6){ $result = '闲2'; $price = $this->getPrice($number_info['win_player_2'],2,$number_info,$user_info); $betType = '闲2翻倍'; $amountColumn = 'amount_player_2_times'; $resultColumn = 'result_player_2'; $withholdColumn = 'withhold_player_2_times'; $winColumn = 'win_player_2'; }elseif($flag == 7){ $result = '闲2'; $price = 1; $betType = '庄(闲2)'; $amountColumn = 'amount_player_2_banker'; $resultColumn = 'result_player_2'; $winColumn = 'win_player_2'; }elseif($flag == 8){ $result = '闲2'; $price = $this->getPrice($number_info['win_player_2'],2,$number_info,$user_info); $betType = '庄(闲2)翻倍'; $amountColumn = 'amount_player_2_banker_times'; $resultColumn = 'result_player_2'; $withholdColumn = 'withhold_player_2_banker_times'; $winColumn = 'win_player_2'; }elseif($flag == 9){ $result = '闲3'; $price = 1; $betType = '闲3'; $amountColumn = 'amount_player_3'; $resultColumn = 'result_player_3'; $winColumn = 'win_player_3'; }elseif($flag == 10){ $result = '闲3'; $price = $this->getPrice($number_info['win_player_3'],3,$number_info,$user_info); $betType = '闲3翻倍'; $amountColumn = 'amount_player_3_times'; $resultColumn = 'result_player_3'; $withholdColumn = 'withhold_player_3_times'; $winColumn = 'win_player_3'; }elseif($flag == 11){ $result = '闲3'; $price = 1; $betType = '庄(闲3)'; $amountColumn = 'amount_player_3_banker'; $resultColumn = 'result_player_3'; $winColumn = 'win_player_3'; }elseif($flag == 12){ $result = '闲3'; $price = $this->getPrice($number_info['win_player_3'],3,$number_info,$user_info); $betType = '庄(闲3)翻倍'; $amountColumn = 'amount_player_3_banker_times'; $resultColumn = 'result_player_3'; $withholdColumn = 'withhold_player_3_banker_times'; $winColumn = 'win_player_3'; }else{ return $v; } // 下注细分重组 if($v[$amountColumn] > 0){ $v[$amountColumn] = intval($v[$amountColumn]); if($card_info && $card_info['status'] == 2){ $v['card_result'] = ''; $v['card_result'] .= '庄:'.interchange_nn($number_info['result_banker']).' '.$result.':'.interchange_nn($number_info[$resultColumn]).'  '; if($number_info[$winColumn] == 1 ){ $v['card_result'] .= $result.'赢'; }else{ $v['card_result'] .= '庄赢'; } }else{ $v['card_result'] = ''; } $v['bet_type'] = $betType; $v['bet_amount'] = $v[$amountColumn]; if($flag % 2 == 0){ $v['bet_amount_all'] = $v[$amountColumn] + intval($v[$withholdColumn]); }else{ $v['bet_amount_all'] = $v[$amountColumn]; } if($number_info['bet_status'] == 3){ if($number_info[$winColumn] == 1){ $v['win'] = round($v[$amountColumn] * $price * 0.95, 2); }else{ $v['win'] = to_number(round($v[$amountColumn] * $price,2)); } }else{ $v['win'] = 0; } return $v; } } public function record(){ // 用于分页和搜索查询的数据 $get = Request::instance()->get(); $query = http_build_query($get); $this->assign('get',$get); $this->assign('query',$query); // 获取验证信息 $token = Request::instance()->get('token'); if($token != 'SGv9OOO4um53o9ZTW90AK0lk3rGaEq8FyANMiqlLSZymnOCfI76yHRGeJibvHwmgwieegkggyvh1Vs1jpQg9dAVsE7bipEiJ0By'){ echo '非法操作'; die; } $user_id = Request::instance()->get('user_id'); if($user_id <= 0) { echo '用户ID错误'; die; } $user_info = Db::name('user')->where('id',$user_id)->find(); if(!$user_info){ echo '用户不存在'; die; } // 接收参数 $game_id = Request::instance()->get('game_id'); $startDate = Request::instance()->get('startDate'); $endDate = Request::instance()->get('endDate'); // 查询日期处理 if($startDate){ $startTime = strtotime($startDate); }else{ $startTime = strtotime(date('Y-m-d'),time()); $get['startDate'] = date('Y-m-d',time()); $this->assign('get',$get); } if($endDate){ $endTime = strtotime($endDate) + 24*60*60 - 1; }else{ $endTime = time(); $get['endDate'] = date('Y-m-d',time()); $this->assign('get',$get); } // 查询数据条件 $betWhere = array(); $betWhere['create_time'] = array('between',[$startTime,$endTime]); $betWhere['user_id'] = $user_info['id']; if($game_id == 1 || $game_id == 2 || $game_id == 4){ $betWhere['game_id'] = $game_id; }else{ $betWhere['game_id'] = 1; $game_id = 1; $get['game_id'] = 1; $this->assign('get',$get); } // 查询注单信息 if($game_id == 1){ $bet = Db::name('bet')->where($betWhere)->order('id desc')->select(); $betAmount = Db::name('bet')->where($betWhere)->sum('amount'); $allAmount = Db::name('bet')->where($betWhere)->sum('amount'); $allWinTotal = Db::name('bet')->where($betWhere)->sum('win_total'); }elseif($game_id == 2){ $bet = Db::name('bet_dt')->where($betWhere)->order('id desc')->select(); $betAmount = Db::name('bet_dt')->where($betWhere)->sum('amount'); $allAmount = Db::name('bet_dt')->where($betWhere)->sum('amount'); $allWinTotal = Db::name('bet_dt')->where($betWhere)->sum('win_total'); }elseif($game_id == 4){ $bet = Db::name('bet_nn')->where($betWhere)->order('id desc')->select(); // 下注金额 $betAmount = Db::name('bet_nn')->where($betWhere)->sum('amount'); // 扣除的金额( 包含预扣 ) $allAmount = Db::name('bet_nn')->where($betWhere)->sum('amount'); $allAmount += Db::name('bet_nn')->where($betWhere)->sum('withhold_player_1_times'); $allAmount += Db::name('bet_nn')->where($betWhere)->sum('withhold_player_1_banker_times'); $allAmount += Db::name('bet_nn')->where($betWhere)->sum('withhold_player_2_times'); $allAmount += Db::name('bet_nn')->where($betWhere)->sum('withhold_player_2_banker_times'); $allAmount += Db::name('bet_nn')->where($betWhere)->sum('withhold_player_3_times'); $allAmount += Db::name('bet_nn')->where($betWhere)->sum('withhold_player_3_banker_times'); // 总赢 $allWinTotal = Db::name('bet_nn')->where($betWhere)->sum('win_total'); }else{ echo '游戏类型错误!';die; } // 组装注单信息 $newBet = array(); foreach($bet AS $k => $v){ $v['create_time'] = date('Y-m-d',$v['create_time']); $v['game_nume'] = $v['game_id'].'-'.$v['boot_num'].'-'.$v['number']; if($game_id == 1){ $number_info = Db::name('number_tab')->where('id',$v['number_tab_id'])->find(); if($number_info['bet_status'] == 3){ if($v['result'] == 1){ $result = '庄赢'; }elseif($v['result'] == 2){ $result = '闲赢'; }elseif($v['result'] == 3){ $result = '和'; }else{ $result = '-'; } if($v['pair'] == 1){ $pair = ',庄对'; }elseif($v['pair'] == 2){ $pair = ',闲对'; }elseif($v['pair'] == 3){ $pair = ',庄闲对'; }else{ $pair = ''; } $v['card_result'] = $result.$pair; }else{ $v['card_result'] = '-'; } // 下注金额细分 for($i=1; $i<=5; $i++){ $result = $this->betDetailBaccarat($i,$v,$number_info,$user_info); if($result){ $newBet[] = $result; } } }elseif($game_id == 2){ $number_info = Db::name('number_tab')->where('id',$v['number_tab_id'])->find(); if($number_info['bet_status'] == 3){ if($v['result'] == 1){ $result = '龙赢'; }elseif($v['result'] == 2){ $result = '虎赢'; }elseif($v['result'] == 3){ $result = '和'; } $v['card_result'] = $result; }else{ $v['card_result'] = ''; } // 下注金额细分 for($i=1; $i<=3; $i++){ $result = $this->betDetailDt($i,$v,$number_info,$user_info); if($result){ $newBet[] = $result; } } }elseif($game_id == 4){ $card_info = Db::name('card_nn')->where('number_tab_id',$v['number_tab_id'])->find(); $number_info = Db::name('number_tab')->where('id',$v['number_tab_id'])->find(); // 下注金额细分 for($i=1; $i<=12; $i++){ $result = $this->betDetailNn($i,$v,$number_info,$user_info,$card_info); if($result){ $newBet[] = $result; } } } } // 重新赋值 $bet = $newBet; // 渲染参数和模板 $this->assign('bet',$bet); $this->assign('betAmount',$betAmount); $this->assign('allAmount',$allAmount); $this->assign('allWinTotal',$allWinTotal); $this->assign('user_info',$user_info); return $this->fetch(); } // 下注记录(ajax刷新) public function recordAjax(){ // 登录信息 $user_id = Request::instance()->post('user_id'); $user_info = Db::name('user')->where('id',$user_id)->find(); // 接收参数 $game_id = Request::instance()->post('game_id'); $startDate = Request::instance()->post('startDate'); $endDate = Request::instance()->post('endDate'); // 查询日期处理 if($startDate){ $startTime = strtotime($startDate); }else{ $startTime = strtotime(date('Y-m-d'),time()); } if($endDate){ $endTime = strtotime($endDate) + 24*60*60 - 1; }else{ $endTime = time(); } // 查询数据条件 $betWhere = array(); $betWhere['create_time'] = array('between',[$startTime,$endTime]); $betWhere['user_id'] = $user_info['id']; if($game_id == 1 || $game_id == 2 || $game_id == 4){ $betWhere['game_id'] = $game_id; }else{ $betWhere['game_id'] = 1; $game_id = 1; $get['game_id'] = 1; $this->assign('get',$get); } // 查询注单信息 if($game_id == 1){ $bet = Db::name('bet')->where($betWhere)->order('id desc')->select(); $betAmount = Db::name('bet')->where($betWhere)->sum('amount'); $allAmount = Db::name('bet')->where($betWhere)->sum('amount'); $allWinTotal = Db::name('bet')->where($betWhere)->sum('win_total'); }elseif($game_id == 2){ $bet = Db::name('bet_dt')->where($betWhere)->order('id desc')->select(); $betAmount = Db::name('bet_dt')->where($betWhere)->sum('amount'); $allAmount = Db::name('bet_dt')->where($betWhere)->sum('amount'); $allWinTotal = Db::name('bet_dt')->where($betWhere)->sum('win_total'); }elseif($game_id == 4){ $bet = Db::name('bet_nn')->where($betWhere)->order('id desc')->select(); // 下注金额 $betAmount = Db::name('bet_nn')->where($betWhere)->sum('amount'); // 扣除的金额( 包含预扣 ) $allAmount = Db::name('bet_nn')->where($betWhere)->sum('amount'); $allAmount += Db::name('bet_nn')->where($betWhere)->sum('withhold_player_1_times'); $allAmount += Db::name('bet_nn')->where($betWhere)->sum('withhold_player_1_banker_times'); $allAmount += Db::name('bet_nn')->where($betWhere)->sum('withhold_player_2_times'); $allAmount += Db::name('bet_nn')->where($betWhere)->sum('withhold_player_2_banker_times'); $allAmount += Db::name('bet_nn')->where($betWhere)->sum('withhold_player_3_times'); $allAmount += Db::name('bet_nn')->where($betWhere)->sum('withhold_player_3_banker_times'); // 总赢 $allWinTotal = Db::name('bet_nn')->where($betWhere)->sum('win_total'); }else{ echo '游戏类型错误!';die; } // 组装注单信息 $newBet = array(); foreach($bet AS $k => $v){ $v['create_time'] = date('Y-m-d',$v['create_time']); $v['game_nume'] = $v['game_id'].'-'.$v['boot_num'].'-'.$v['number']; if($game_id == 1){ $number_info = Db::name('number_tab')->where('id',$v['number_tab_id'])->find(); if($number_info['bet_status'] == 3){ if($v['result'] == 1){ $result = '庄赢'; }elseif($v['result'] == 2){ $result = '闲赢'; }elseif($v['result'] == 3){ $result = '和'; }else{ $result = '-'; } if($v['pair'] == 1){ $pair = ',庄对'; }elseif($v['pair'] == 2){ $pair = ',闲对'; }elseif($v['pair'] == 3){ $pair = ',庄闲对'; }else{ $pair = ''; } $v['card_result'] = $result.$pair; }else{ $v['card_result'] = '-'; } // 下注金额细分 for($i=1; $i<=5; $i++){ $result = $this->betDetailBaccarat($i,$v,$number_info,$user_info); if($result){ $newBet[] = $result; } } }elseif($game_id == 2){ $number_info = Db::name('number_tab')->where('id',$v['number_tab_id'])->find(); if($number_info['bet_status'] == 3){ if($v['result'] == 1){ $result = '龙赢'; }elseif($v['result'] == 2){ $result = '虎赢'; }elseif($v['result'] == 3){ $result = '和'; } $v['card_result'] = $result; }else{ $v['card_result'] = ''; } // 下注金额细分 for($i=1; $i<=3; $i++){ $result = $this->betDetailDt($i,$v,$number_info,$user_info); if($result){ $newBet[] = $result; } } }elseif($game_id == 4){ $card_info = Db::name('card_nn')->where('number_tab_id',$v['number_tab_id'])->find(); $number_info = Db::name('number_tab_nn')->where('id',$v['number_tab_id'])->find(); // 下注金额细分 for($i=1; $i<=12; $i++){ $result = $this->betDetailNn($i,$v,$number_info,$user_info,$card_info); if($result){ $newBet[] = $result; } } } } // 重新赋值 $bet = $newBet; // 返回数据 return ['code'=>1,'bet'=>$bet,'betAmount'=>$betAmount,'allAmount'=>$allAmount,'allWinTotal'=>$allWinTotal]; } }