552 lines
17 KiB
PHP
552 lines
17 KiB
PHP
<?php
|
|
namespace app\admin\controller;
|
|
|
|
use \think\Controller;
|
|
use \think\Request;
|
|
use \think\Db;
|
|
use \think\Lang;
|
|
use \think\Session;
|
|
use \think\Log;
|
|
|
|
class Betinfo extends Controller{
|
|
// 下注细分 百家乐
|
|
public function betDetailBaccarat($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_baccarat'];
|
|
$betType = '和';
|
|
$amountColumn = 'tie_amount';
|
|
} elseif($flag == 4){
|
|
$price = $user_info['price_pair'];
|
|
$betType = '庄对';
|
|
$amountColumn = 'banker_pair_amount';
|
|
} elseif($flag == 5){
|
|
$price = $user_info['price_pair'];
|
|
$betType = '闲对';
|
|
$amountColumn = 'player_pair_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);
|
|
}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'];
|
|
}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];
|
|
}
|
|
} |