where(array('id' => $table_id))->find();
$boot_id = $numberTab['boot_id'];
$opening = $z['result'];
$pair = $z['pair'];
$bets = Db::name('bet')->where(array('number_tab_id' => $numberTab['id']))->select();
$oBets = $bets;
if(!empty($oBets)){
foreach($bets AS $key => $value){
$bet_win_total = $value['win_total'];
Db::execute("update `cg_user` set `money` = `money` - ".$bet_win_total." where `id`=".$value['user_id'].' limit 1');
}
//删除上一铺下注、洗码、分成
$vid = Db::name('bet')->where(array('game_id' => $game_id, 'table_id' => $table_id, 'boot_id' => $boot_id, 'number_tab_id' => $numberTab['id']))->delete();
Db::name('xima')->where(array('game_id' => $game_id, 'table_id' => $table_id, 'boot_id' => $boot_id, 'number_tab_id' => $numberTab['id']))->delete();
Db::name('cs')->where(array('game_id' => $game_id, 'table_id' => $table_id, 'boot_id' => $boot_id, 'number_tab_id' => $numberTab['id']))->delete();
Db::name('agent_commission')->where(array('game_id' => $game_id, 'table_id' => $table_id, 'boot_id' => $boot_id, 'number_tab_id' => $numberTab['id']))->delete();
Db::name('number_tab')->where(array('id' => $numberTab['id']))->limit(1)->update(array('result' => $opening));
//记录修改日志
$retreated_log_data = array();
$retreated_log_data['mode'] = 1;
$retreated_log_data['type'] = 1;
$retreated_log_data['create_time'] = time();
$retreated_log_data['gamei_id'] = $game_id;
$retreated_log_data['table_id'] = $table_id;
$retreated_log_data['table_name'] = $numberTab['table_name'];
$retreated_log_data['boot_id'] = $boot_id;
$retreated_log_data['boot_num'] = $numberTab['boot_num'];
$retreated_log_data['number_tab_id'] = $numberTab['id'];
$retreated_log_data['number'] = $numberTab['number'];
$str = '';
if($numberTab['result'] == 1) $str = '龙';
if($numberTab['result'] == 2) $str = '虎';
if($numberTab['result'] == 3) $str = '和';
$nstr = '';
if($opening == 1) $nstr = '龙';
if($opening == 2) $nstr = '虎';
if($opening == 3) $nstr = '和';
$retreated_log_data['remark'] = '该口原本结果为:'.$str.',更改为:'.$nstr;
Db::name('retreated_log')->insert($retreated_log_data);
foreach($oBets AS $k => $v){
$user_info = Db::name('user')->where(array('id' => intval($v['user_id'])))->find();
$agent_commission = $user_info['agent_commission_dt'] / 100;
if($user_info){
$amount = 0;
$amount = $v['banker_amount'] + $v['player_amount'] + $v['tie_amount'];
$win_money = 0;
// 双边洗码
$ximaliang = 0;
if($user_info['type_xima'] == 1){
$ximaliang = $v['banker_amount'] - $v['player_amount'];
$ximaliang = abs($ximaliang);
}
// 龙赢
if ($opening == 1) {
if($v['banker_amount'] > 0){
$win_money = round($v['banker_amount'] * (1 + $user_info['price_dragon'] - $agent_commission),2) + $win_money;
}
// 单边洗码
if($user_info['type_xima'] == 2){
$ximaliang = $v['player_amount'];
}
}
// 虎赢
if ($opening == 2 && $v['player_amount'] > 0) {
$win_money = round($v['player_amount'] * (1 + $user_info['price_tiger'] - $agent_commission),2) + $win_money;
// 单边洗码
if($user_info['type_xima'] == 2){
$ximaliang = $v['banker_amount'];
}
}
// 和
if ($opening == 3) {
$win_money = $v['banker_amount'] + $v['player_amount'] + $win_money;
$ximaliang = 0;
if($v['tie_amount'] > 0){
$win_money = $v['tie_amount'] * (1 + $user_info['price_tie_dt']) + $win_money;
}
}
// 计算最终赢钱还是输钱
$win_total = $win_money - $amount;
//更新user表余额
if($v['result'] == 0){
$money = $user_info['money'] + $win_total + $amount;
}else{
$money = $user_info['money'] + $win_total;
}
Db::name('user')->where(array('id' => $user_info['id']))->update(array('money' => $money));
//更新bet表
$insertV = $v;
unset($insertV['id']);
$insertBetData = $insertV;
$insertBetData['result'] = $opening;
$insertBetData['win_total'] = $win_total;
if($v['result'] > 0){
$insertBetData['is_edit'] = 1;
}else{
$insertBetData['is_edit'] = 0;
}
$insertBetData['is_end'] = 1;
Db::name('bet')->insert($insertBetData);
//写入cs表
$agent = explode(',', $user_info['agent_parent_id_path']); //切割多个代理ID为数组
krsort($agent);
$nextCs = 0;
$nextMaliang = 0;
foreach($agent as $key => $value){
$user_path_info = Db::name('user')->where(array('id' => $value))->find();
if($user_path_info){
$maliang = 0;
$ximalv = $user_path_info['agent_ximalv_dt'];
$maliang_true = 0;
if($ximalv > 0 && $ximaliang > 0){
$type = $key == 0 ? 1 : 0;
$maliang = round(($ximaliang * $ximalv) / 100,2);
$maliang_true = $maliang;
if($user_path_info['agent_cs'] > 0 && $user_path_info['share_xima'] == 2){
$maliang_true = $maliang - round($maliang * ($user_path_info['agent_cs'] / 100),2);
}
$net_maliang = $maliang - $nextMaliang;
$nextMaliang = $net_maliang + $nextMaliang;
$insert_xima_sql = "INSERT INTO `cg_xima` (`user_id`,`bet_user_id`,`bet_id`,`game_id`,`table_id`,`sumday_id`,`day`,`number_tab_id`,`boot_id`,`ximaliang`,`ximalv`,`maliang`,`maliang_true`,`total`,`win_total`,`create_time`,`type`,`net_maliang`) VALUES (".$value.",".$user_info['id'].",".$v['id'].",".$v['game_id'].",".$v['table_id'].",".$v['sumday_id'].",'".$v['day']."',".$v['number_tab_id'].",".$v['boot_id'].",".$ximaliang.",".$ximalv.",".$maliang.",".$maliang_true.",".$amount.",".$win_total.",".$v['create_time'].",".$type.",".$net_maliang.")";
Db::execute($insert_xima_sql);
}
//if($user_path_info['agent_cs'] > 0){
$type = $key == 0 ? 1 : 0;
$share_amount = to_number(round(($user_path_info['agent_cs'] * $win_total) / 100,2));
if($user_path_info['agent_cs'] > 0){
$share_amount_true = round(to_number($maliang + $win_total) * ($user_path_info['agent_cs'] / 100),2);
}else{
$share_amount_true = $maliang;
}
$net_cs = $share_amount - $nextCs;
$nextCs = $net_cs + $nextCs;
$insert_cs_sql = "INSERT INTO `cg_cs` (`user_id`,`bet_user_id`,`bet_id`,`game_id`,`table_id`,`number_tab_id`,`boot_id`,`sumday_id`,`day`,`share_amount`,`share_amount_true`,`share_percent`,`total`,`win_total`,`create_time`,`type`,`net_cs`,`maliang`) VALUES (".$value.",".$user_info['id'].",".$v['id'].",".$v['game_id'].",".$v['table_id'].",".$v['number_tab_id'].",".$v['boot_id'].",".$v['sumday_id'].",'".$v['day']."',".$share_amount.",".$share_amount_true.",".$user_path_info['agent_cs'].",".$amount.",".$win_total.",".$v['create_time'].",".$type.",".$net_cs.",".$maliang.")";
Db::execute($insert_cs_sql);
//}
}
}
// 代理抽水
if($opening == 1 && $v['banker_amount'] > 0 && $user_info['agent_commission'] > 0){
$parentIdPath = explode(',',$user_info['agent_parent_id_path']);
foreach($parentIdPath as $value){
$user = Db::name('user')->where('id',$value)->find();
$insert_commission_sql = "INSERT INTO `cg_agent_commission` (`user_id`,`username`,`agent_id`,`agent_username`,`game_id`,`game_name`,`table_id`,`table_name`,`boot_id`,`boot_num`,`number_tab_id`,`number`,`bet_id`,`amount`,`agent_commission`,`money_commission`,`result`,`create_time`) VALUES (".$user['id'].",'".$user['username']."',".$user['agent_parent_id'].",'".$user['agent_parent_username']."',2,'龙虎',".$table_info['id'].",'".$table_info['table_name']."',".$v['boot_id'].",".$v['boot_num'].",".$v['number_tab_id'].",".$v['number'].",".$v['id'].",".$v['banker_amount'].",".$agent_commission.",".$v['banker_amount'] * $agent_commission.",".$opening.",".$v['create_time'].")";
Db::execute($insert_commission_sql);
}
}
if($opening == 2 && $v['player_amount'] > 0 && $user_info['agent_commission'] > 0){
$parentIdPath = explode(',',$user_info['agent_parent_id_path']);
foreach($parentIdPath as $value){
$user = Db::name('user')->where('id',$value)->find();
$insert_commission_sql = "INSERT INTO `cg_agent_commission` (`user_id`,`username`,`agent_id`,`agent_username`,`game_id`,`game_name`,`table_id`,`table_name`,`boot_id`,`boot_num`,`number_tab_id`,`number`,`bet_id`,`amount`,`agent_commission`,`money_commission`,`result`,`create_time`) VALUES (".$user['id'].",'".$user['username']."',".$user['agent_parent_id'].",'".$user['agent_parent_username']."',2,'龙虎',".$table_info['id'].",'".$table_info['table_name']."',".$v['boot_id'].",".$v['boot_num'].",".$v['number_tab_id'].",".$v['number'].",".$v['id'].",".$v['player_amount'].",".$user_info['agent_commission'].",".$v['player_amount'] * $agent_commission.",".$opening.",".$v['create_time'].")";
Db::execute($insert_commission_sql);
}
}
}
}
}
}
private function do_opening_baccarat_win6($numberTab,$z){
$game_id = $numberTab['game_id'];
$table_id = $numberTab['table_id'];
$boot_id = $numberTab['boot_id'];
$opening = $z['result'];
$pair = $z['pair'];
$win6 = $z['win6'];
$bets = Db::name('bet')->where(array('number_tab_id' => $numberTab['id'], 'status' => 1))->select();
$oBets = $bets;
if(!empty($oBets)){
foreach($bets AS $key => $value){
$bet_win_total = $value['win_total'];
Db::execute("update `cg_user` set `money` = `money` - ".$bet_win_total." where `id`=".$value['user_id'].' limit 1');
}
//删除上一铺下注、洗码、分成
Db::name('bet')->where(array('game_id' => $game_id, 'table_id' => $table_id, 'boot_id' => $boot_id, 'number_tab_id' => $numberTab['id']))->delete();
Db::name('xima')->where(array('game_id' => $game_id, 'table_id' => $table_id, 'boot_id' => $boot_id, 'number_tab_id' => $numberTab['id']))->delete();
Db::name('cs')->where(array('game_id' => $game_id, 'table_id' => $table_id, 'boot_id' => $boot_id, 'number_tab_id' => $numberTab['id']))->delete();
Db::name('number_tab')->where(array('id' => $numberTab['id']))->limit(1)->update(array('result' => $opening, 'pair' => $pair, 'win6' => $win6));
//记录修改日志
$retreated_log_data = array();
$retreated_log_data['mode'] = 1;
$retreated_log_data['type'] = 1;
$retreated_log_data['create_time'] = time();
$retreated_log_data['gamei_id'] = $game_id;
$retreated_log_data['table_id'] = $table_id;
$retreated_log_data['table_name'] = $numberTab['table_name'];
$retreated_log_data['boot_id'] = $boot_id;
$retreated_log_data['boot_num'] = $numberTab['boot_num'];
$retreated_log_data['number_tab_id'] = $number_tab_id;
$retreated_log_data['number'] = $numberTab['number'];
$str = '';
if($numberTab['result'] == 1) $str = '庄';
if($numberTab['result'] == 2) $str = '闲';
if($numberTab['result'] == 3) $str = '和';
if($numberTab['pair'] == 1) $str = $str.'-庄对';
if($numberTab['pair'] == 2) $str = $str.'-闲对';
if($numberTab['pair'] == 3) $str = $str.'-庄闲对';
if($numberTab['win6'] == 1) $str = $str.'-赢6';
$nstr = '';
if($opening == 1) $nstr = '庄';
if($opening == 2) $nstr = '闲';
if($opening == 3) $nstr = '和';
if($pair == 1) $nstr = $nstr.'-庄对';
if($pair == 2) $nstr = $nstr.'-闲对';
if($pair == 3) $nstr = $nstr.'-庄闲对';
if($isWin6 == 1) $nstr = $nstr.'-赢6';
$retreated_log_data['remark'] = '该口原本结果为:'.$str.',更改为:'.$nstr;
Db::name('retreated_log')->insert($retreated_log_data);
foreach($oBets AS $k => $v){
$user_info = Db::name('user')->field(array('id','money','agent_parent_id_path'))->where(array('id' => intval($v['user_id'])))->find();
if($user_info){
$amount = 0;
$amount = $v['banker_amount'] + $v['player_amount'] + $v['tie_amount'] + $v['banker_pair_amount'] + $v['player_pair_amount'];
$win_money = 0;
$BPT_ximaliang = 0;
if($opening == 1){
// 庄赢
if($v['banker_amount'] > 0){
if($isWin6 === 1){
$win_money = $v['banker_amount'] * (1 + 0.5) + $win_money;
}else{
$win_money = $v['banker_amount'] * (1 + 1) + $win_money;
}
}
$BPT_ximaliang = $v['player_amount'] + $v['tie_amount'];
}elseif($opening == 2){
// 闲赢
if($v['player_amount'] > 0){
if($isWin6 === 1){
$win_money = $v['player_amount'] * (1 + 0.5) + $win_money;
}else{
$win_money = $v['player_amount'] * (1 + 1) + $win_money;
}
}
$BPT_ximaliang = $v['banker_amount'] + $v['tie_amount'];
}elseif($opening == 3) {
// 和赢
if($v['tie_amount'] > 0){
$win_money = $v['tie_amount'] * (1 + 8) + $win_money;
}
// 开 和,下注庄和闲不扣钱
if($v['banker_amount'] > 0 && $v['player_amount'] > 0){
$win_money = $v['player_amount'] + $v['banker_amount'] + $win_money;
}elseif($v['banker_amount'] > 0){
$win_money = $v['banker_amount'] + $win_money;
} elseif ($v['player_amount'] > 0){
$win_money = $v['player_amount'] + $win_money;
}
}
if($pair == 3){
// 计算庄对下注的赢钱金额
if ($v['banker_pair_amount'] > 0) {
$win_money = $v['banker_pair_amount'] * (1 + 11) + $win_money;
}
//计算闲对下注的赢钱金额
if ($v['player_pair_amount'] > 0) {
$win_money = $v['player_pair_amount'] * (1 + 11) + $win_money;
}
}elseif($pair == 1){
if ($v['banker_pair_amount'] > 0) {
$win_money = $v['banker_pair_amount'] * (1 + 11) + $win_money;
}
}elseif($pair == 2){
if ($v['player_pair_amount'] > 0) {
$win_money = $v['player_pair_amount'] * (1 + 11) + $win_money;
}
}
// 计算最终赢钱还是输钱
$win_total = $win_money - $amount;
//更新user表余额
if($v['result'] == 0){
$money = $user_info['money'] + $win_total + $amount;
}else{
$money = $user_info['money'] + $win_total;
}
Db::name('user')->where(array('id' => $user_info['id']))->update(array('money' => $money));
//更新bet表
$insertV = $v;
unset($insertV['id']);
$insertBetData = $insertV;
$insertBetData['result'] = $opening;
$insertBetData['pair'] = $pair;
$insertBetData['win_total'] = $win_total;
if($v['result'] > 0){
$insertBetData['is_edit'] = 1;
}else{
$insertBetData['is_edit'] = 0;
}
$insertBetData['is_end'] = 1;
Db::name('bet')->insert($insertBetData);
//写入cs表
$agent = explode(',', $user_info['agent_parent_id_path']); //切割多个代理ID为数组
krsort($agent);
$nextCs = 0;
foreach($agent as $key => $value){
$user_path_info = Db::name('user')->where(array('id' => $value))->find();
if($user_path_info){
if($user_path_info['agent_cs'] > 0){
$type = $key == 0 ? 1 : 0;
$share_amount = to_number(($user_path_info['agent_cs'] * $win_total) / 100);
$share_amount_true = 0;
$net_cs = $share_amount - $share_amount;
$nextCs = $net_cs + $nextCs;
$insert_cs_sql = "INSERT INTO `cg_cs` (`user_id`,`bet_user_id`,`bet_id`,`game_id`,`table_id`,`number_tab_id`,`boot_id`,`sumday_id`,`day`,`share_amount`,`share_amount_true`,`share_percent`,`total`,`win_total`,`create_time`,`type`,`net_cs`) VALUES (".$value.",".$user_info['id'].",".$v['id'].",".$v['game_id'].",".$v['table_id'].",".$v['number_tab_id'].",".$v['boot_id'].",".$v['sumday_id'].",'".$v['day']."',".$share_amount.",".$share_amount_true.",".$user_path_info['agent_cs'].",".$amount.",".$win_total.",".time().",".$type.",".$net_cs.")";
Db::execute($insert_cs_sql);
}
}
}
}
}
}
}
private function do_opening_baccarat($numberTab,$z){
$game_id = $numberTab['game_id'];
$table_id = $numberTab['table_id'];
$table_info = Db::name('table')->where(array('id' => $table_id))->find();
$boot_id = $numberTab['boot_id'];
$opening = $z['result'];
$pair = $z['pair'];
$bets = Db::name('bet')->where(array('number_tab_id' => $numberTab['id'], 'status' => 1))->select();
$oBets = $bets;
if(!empty($oBets)){
foreach($bets AS $key => $value){
$bet_win_total = $value['win_total'];
Db::execute("update `cg_user` set `money` = `money` - ".$bet_win_total." where `id`=".$value['user_id'].' limit 1');
}
//删除上一铺下注、洗码、分成
Db::name('bet')->where(array('game_id' => $game_id, 'table_id' => $table_id, 'boot_id' => $boot_id, 'number_tab_id' => $numberTab['id']))->delete();
Db::name('xima')->where(array('game_id' => $game_id, 'table_id' => $table_id, 'boot_id' => $boot_id, 'number_tab_id' => $numberTab['id']))->delete();
Db::name('cs')->where(array('game_id' => $game_id, 'table_id' => $table_id, 'boot_id' => $boot_id, 'number_tab_id' => $numberTab['id']))->delete();
Db::name('agent_commission')->where(array('game_id' => $game_id, 'table_id' => $table_id, 'boot_id' => $boot_id, 'number_tab_id' => $numberTab['id']))->delete();
Db::name('number_tab')->where(array('id' => $numberTab['id']))->limit(1)->update(array('result' => $opening, 'pair' => $pair));
//记录修改日志
$retreated_log_data = array();
$retreated_log_data['mode'] = 1;
$retreated_log_data['type'] = 1;
$retreated_log_data['create_time'] = time();
$retreated_log_data['gamei_id'] = $game_id;
$retreated_log_data['table_id'] = $table_id;
$retreated_log_data['table_name'] = $numberTab['table_name'];
$retreated_log_data['boot_id'] = $boot_id;
$retreated_log_data['boot_num'] = $numberTab['boot_num'];
$retreated_log_data['number_tab_id'] = $numberTab['id'];
$retreated_log_data['number'] = $numberTab['number'];
$str = '';
if($numberTab['result'] == 1) $str = '庄';
if($numberTab['result'] == 2) $str = '闲';
if($numberTab['result'] == 3) $str = '和';
if($numberTab['pair'] == 1) $str = $str.'-庄对';
if($numberTab['pair'] == 2) $str = $str.'-闲对';
if($numberTab['pair'] == 3) $str = $str.'-庄闲对';
$nstr = '';
if($opening == 1) $nstr = '庄';
if($opening == 2) $nstr = '闲';
if($opening == 3) $nstr = '和';
if($pair == 1) $nstr = $nstr.'-庄对';
if($pair == 2) $nstr = $nstr.'-闲对';
if($pair == 3) $nstr = $nstr.'-庄闲对';
$retreated_log_data['remark'] = '该口原本结果为:'.$str.',更改为:'.$nstr;
Db::name('retreated_log')->insert($retreated_log_data);
foreach($oBets AS $k => $v){
$user_info = Db::name('user')->where(array('id' => intval($v['user_id'])))->find();
$agent_commission = $user_info['agent_commission'] / 100;
if($user_info){
$amount = 0;
$amount = $v['banker_amount'] + $v['player_amount'] + $v['tie_amount'] + $v['banker_pair_amount'] + $v['player_pair_amount'];
$win_money = 0;
// 双边洗码
$ximaliang = 0;
if($user_info['type_xima'] == 1){
$ximaliang = $v['banker_amount'] - $v['player_amount'];
$ximaliang = abs($ximaliang);
}
if($opening == 1){
// 庄赢
if($v['banker_amount'] > 0){
if($table_info['mode'] == 1){
$win_money = round($v['banker_amount'] * (1 + $user_info['price_banker'] - $agent_commission),2) + $win_money;
}else{
$win_money = round($v['banker_amount'] * (1 + $user_info['price_banker']),2) + $win_money;
}
}
// 单边洗码
if($user_info['type_xima'] == 2){
$ximaliang = $v['player_amount'];
}
}elseif($opening == 2){
// 闲赢
if($v['player_amount'] > 0){
$win_money = $v['player_amount'] * (1 + $user_info['price_player']) + $win_money;
}
// 单边洗码
if($user_info['type_xima'] == 2){
$ximaliang = $v['banker_amount'];
}
}elseif($opening == 3) {
$ximaliang = 0;
// 和赢
if($v['tie_amount'] > 0){
$win_money = $v['tie_amount'] * (1 + $user_info['price_tie_baccarat']) + $win_money;
}
// 开 和,下注庄和闲不扣钱
if($v['banker_amount'] > 0 && $v['player_amount'] > 0){
$win_money = $v['player_amount'] + $v['banker_amount'] + $win_money;
}elseif($v['banker_amount'] > 0){
$win_money = $v['banker_amount'] + $win_money;
} elseif ($v['player_amount'] > 0){
$win_money = $v['player_amount'] + $win_money;
}
}
if($pair == 3){
// 计算庄对下注的赢钱金额
if ($v['banker_pair_amount'] > 0) {
$win_money = $v['banker_pair_amount'] * (1 + $user_info['price_pair']) + $win_money;
}
//计算闲对下注的赢钱金额
if ($v['player_pair_amount'] > 0) {
$win_money = $v['player_pair_amount'] * (1 + $user_info['price_pair']) + $win_money;
}
}elseif($pair == 1){
if ($v['banker_pair_amount'] > 0) {
$win_money = $v['banker_pair_amount'] * (1 + $user_info['price_pair']) + $win_money;
}
}elseif($pair == 2){
if ($v['player_pair_amount'] > 0) {
$win_money = $v['player_pair_amount'] * (1 + $user_info['price_pair']) + $win_money;
}
}
// 计算最终赢钱还是输钱
$win_total = $win_money - $amount;
//更新user表余额
if($v['result'] == 0){
$money = $user_info['money'] + $win_total + $amount;
}else{
$money = $user_info['money'] + $win_total;
}
Db::name('user')->where(array('id' => $user_info['id']))->update(array('money' => $money));
//更新bet表
$insertV = $v;
unset($insertV['id']);
$insertBetData = $insertV;
$insertBetData['result'] = $opening;
$insertBetData['pair'] = $pair;
$insertBetData['win_total'] = $win_total;
if($v['result'] > 0){
$insertBetData['is_edit'] = 1;
}else{
$insertBetData['is_edit'] = 0;
}
$insertBetData['is_end'] = 1;
Db::name('bet')->insert($insertBetData);
//写入码率表及cs表
$agent = explode(',', $user_info['agent_parent_id_path']);
krsort($agent);
$nextCs = 0;
$nextMaliang = 0;
foreach($agent as $key => $value){
$user_path_info = Db::name('user')->where(array('id' => $value))->find();
if($user_path_info){
$maliang = 0;
$ximalv = $user_path_info['agent_ximalv'];
$maliang_true = 0;
if($ximalv > 0 && $ximaliang > 0){
$type = $key == 0 ? 1 : 0;
$maliang = round(($ximaliang * $ximalv) / 100,2);
$maliang_true = $maliang;
if($user_path_info['agent_cs'] > 0 && $user_path_info['share_xima'] == 2){
$maliang_true = $maliang - round($maliang * ($user_path_info['agent_cs'] / 100),2);
}
$net_maliang = $maliang - $nextMaliang;
$nextMaliang = $net_maliang + $nextMaliang;
$insert_xima_sql = "INSERT INTO `cg_xima` (`user_id`,`bet_user_id`,`bet_id`,`game_id`,`table_id`,`sumday_id`,`day`,`number_tab_id`,`boot_id`,`ximaliang`,`ximalv`,`maliang`,`maliang_true`,`total`,`win_total`,`create_time`,`type`,`net_maliang`) VALUES (".$value.",".$user_info['id'].",".$v['id'].",".$v['game_id'].",".$v['table_id'].",".$v['sumday_id'].",'".$v['day']."',".$v['number_tab_id'].",".$v['boot_id'].",".$ximaliang.",".$ximalv.",".$maliang.",".$maliang_true.",".$amount.",".$win_total.",".$v['create_time'].",".$type.",".$net_maliang.")";
Db::execute($insert_xima_sql);
}
//if($user_path_info['agent_cs'] > 0){
$type = $key == 0 ? 1 : 0;
$share_amount = to_number(($user_path_info['agent_cs'] * $win_total) / 100);
if($user_path_info['agent_cs'] > 0){
$share_amount_true = round(to_number($maliang + $win_total) * ($user_path_info['agent_cs'] / 100),2);
}else{
$share_amount_true = $maliang;
}
$net_cs = $share_amount - $nextCs;
$nextCs = $net_cs + $nextCs;
$insert_cs_sql = "INSERT INTO `cg_cs` (`user_id`,`bet_user_id`,`bet_id`,`game_id`,`table_id`,`number_tab_id`,`boot_id`,`sumday_id`,`day`,`share_amount`,`share_amount_true`,`share_percent`,`total`,`win_total`,`create_time`,`type`,`net_cs`,`maliang`) VALUES (".$value.",".$user_info['id'].",".$v['id'].",".$v['game_id'].",".$v['table_id'].",".$v['number_tab_id'].",".$v['boot_id'].",".$v['sumday_id'].",'".$v['day']."',".$share_amount.",".$share_amount_true.",".$user_path_info['agent_cs'].",".$amount.",".$win_total.",".$v['create_time'].",".$type.",".$net_cs.",".$maliang.")";
Db::execute($insert_cs_sql);
//}
}
}
// 代理抽水
if($opening == 1 && $v['banker_amount'] > 0 && $user_info['agent_commission'] > 0 ){
$parentIdPath = explode(',',$user_info['agent_parent_id_path']);
foreach($parentIdPath as $value){
$user = Db::name('user')->where('id',$value)->find();
$insert_commission_sql = "INSERT INTO `cg_agent_commission` (`user_id`,`username`,`agent_id`,`agent_username`,`game_id`,`game_name`,`table_id`,`table_name`,`boot_id`,`boot_num`,`number_tab_id`,`number`,`bet_id`,`amount`,`agent_commission`,`money_commission`,`result`,`pair`,`create_time`) VALUES (".$user['id'].",'".$user['username']."',".$user['agent_parent_id'].",'".$user['agent_parent_username']."',1,'百家乐',".$table_info['id'].",'".$table_info['table_name']."',".$v['boot_id'].",".$v['boot_num'].",".$v['number_tab_id'].",".$v['number'].",".$v['id'].",".$v['banker_amount'].",".$user_info['agent_commission'].",".$v['banker_amount'] * $agent_commission.",".$opening.",".$pair.",".$v['create_time'].")";
Db::execute($insert_commission_sql);
}
}
}
}
}
}
public function get_number_tab_id(){
if(Request::instance()->isPost()){
$table_id = intval(Request::instance()->post('online_table_id'));
$table_token = Request::instance()->post('table_token');
$local_day = Request::instance()->post('day');
$local_boot_num = intval(Request::instance()->post('boot_num'));
$local_number = intval(Request::instance()->post('number'));
if($table_id > 0 && $local_day && $local_boot_num > 0 && $local_number > 0){
$table = Db::name('table')->where(array('id' => $table_id))->find();
$game_id = $table['game_id'];
if($game_id == 1){
$bootTableName = 'boot';
$numberTabTableName = 'number_tab';
$betTableName = 'bet';
}elseif($game_id == 2){
$bootTableName = 'boot';
$numberTabTableName = 'number_tab';
$betTableName = 'bet';
}else{
return json(array('Success' => 0, 'Msg' => 'game_error'));
}
if($table['table_token'] == $table_token){
$lastNumberTab = Db::name($numberTabTableName)->where(array('table_id' => $table_id))->order('id DESC')->find();
//var_dump($local_day);
//echo "
";
//var_dump($local_boot_num);
//echo "
";
//var_dump($local_number);
//echo "
";
//echo "
"; //var_dump($lastNumberTab); //echo ""; if($lastNumberTab){ if($local_day == $lastNumberTab['day'] && $lastNumberTab['boot_num'] == $local_boot_num && $lastNumberTab['number'] == $local_number){ return json(array('Success' => 1, 'lastNumberTabId' => $lastNumberTab['id'])); }else{ return json(array('Success' => 0, 'Msg' => 'bet_status_error')); } }else{ return json(array('Success' => 0, 'Msg' => 'not_number_tab')); } }else{ return json(array('Success' => 0, 'Msg' => 'table_error')); } }else{ return json(array('Success' => 0, 'Msg' => 'post_error')); } } } public function sync_data(){ if(Request::instance()->isPost()){ $post = Request::instance()->post(); $data = unserialize($post['data']); $localTable = $data['table']; $localSumday = $data['sumday']; $localBoot = $data['boot']; $localNumberTab = $data['number_tab']; $online_table_id = intval($localTable['online_table_id']); $onlineTable = Db::name('table')->where(array('id' => $online_table_id))->find(); $game_id = intval($onlineTable['game_id']); if($game_id == 1){ $bootTableName = 'boot'; $numberTabTableName = 'number_tab'; $betTableName = 'bet'; }elseif($game_id == 2){ $bootTableName = 'boot'; $numberTabTableName = 'number_tab'; $betTableName = 'bet'; }else{ return json(array('Success' => 0, 'Msg' => 'no_table_info')); } /* echo "
"; print_r($localTable); print_r($localSumday); print_r($localBoot); print_r($localNumberTab); echo ""; exit(); */ if($onlineTable && $onlineTable['table_token'] == $localTable['table_token']){ foreach($localSumday AS $k => $v){ $onlineSumday = Db::name('sumday')->where(array('table_id' => $online_table_id, 'day' => $v['day']))->find(); if($onlineSumday){ $lastOnlineSumdayID = $onlineSumday['id']; $localSumdayID = $v['id']; unset($v['id']); $v['table_id'] = $online_table_id; $v['table_name'] = $onlineTable['table_name']; Db::name('sumday')->where(array('id' => $onlineSumday['id']))->update($v); foreach($localBoot AS $key => $value){ if($value['sumday_id'] == $localSumdayID){ $boot = Db::name($bootTableName)->where(array('table_id' => $online_table_id, 'sumday_id' => $lastOnlineSumdayID, 'boot_num' => $value['boot_num']))->find(); $localBootID = $value['id']; unset($value['id']); $value['table_id'] = $online_table_id; $value['table_name'] = $onlineTable['table_name']; $value['sumday_id'] = $lastOnlineSumdayID; if($boot){ Db::name($bootTableName)->where(array('id' => $boot['id']))->limit(1)->update($value); foreach($localNumberTab AS $j => $z){ if($z['boot_id'] == $localBootID){ $numberTab = Db::name($numberTabTableName)->where(array('table_id' => $online_table_id, 'sumday_id' => $lastOnlineSumdayID, 'boot_id' => $boot['id'], 'number' => $z['number']))->find(); unset($z['id']); unset($z['is_delete']); unset($z['is_edit']); if(isset($z['lucky_six'])){ unset($z['lucky_six']); } if(isset($z['lucky_six_number'])){ unset($z['lucky_six_number']); } unset($z['is_edit']); $z['table_id'] = $online_table_id; $z['table_name'] = $onlineTable['table_name']; $z['sumday_id'] = $lastOnlineSumdayID; $z['boot_id'] = $boot['id']; if($numberTab){ Db::name($numberTabTableName)->where(array('id' => $numberTab['id']))->limit(1)->update($z); //var_dump($numberTab); //判断是否需要处理开结果 if($game_id == 1){ if($z['bet_status'] == 3 && ($numberTab['result'] != $z['result'] || $numberTab['pair'] != $z['pair'])){ if($onlineTable['mode'] == 2){ $this->do_opening_baccarat_win6($numberTab,$z); }else{ $this->do_opening_baccarat($numberTab,$z); } } }elseif($game_id == 2){ if($z['bet_status'] == 3 && $numberTab['result'] != $z['result']){ $this->do_opening_dt($numberTab,$z); } } }else{ $insertNumberTabID = Db::name($numberTabTableName)->insertGetId($z); } } } }else{ $insertBootID = Db::name($bootTableName)->insertGetId($value); foreach($localNumberTab AS $j => $z){ if($z['boot_id'] == $localBootID){ unset($z['id']); unset($z['is_delete']); unset($z['is_edit']); if(isset($z['lucky_six'])){ unset($z['lucky_six']); } if(isset($z['lucky_six_number'])){ unset($z['lucky_six_number']); } $z['table_id'] = $online_table_id; $z['table_name'] = $onlineTable['table_name']; $z['sumday_id'] = $lastOnlineSumdayID; $z['boot_id'] = $insertBootID; $insertNumberTabID = Db::name($numberTabTableName)->insertGetId($z); } } } } } }else{ $localSumdayID = $v['id']; unset($v['id']); $v['table_id'] = $online_table_id; $v['table_name'] = $onlineTable['table_name']; $insertSumdayID = Db::name('sumday')->insertGetId($v); foreach($localBoot AS $key => $value){ if($value['sumday_id'] == $localSumdayID){ $localBootID = $value['id']; unset($value['id']); $value['table_id'] = $online_table_id; $value['table_name'] = $onlineTable['table_name']; $value['sumday_id'] = $insertSumdayID; $insertBootID = Db::name($bootTableName)->insertGetId($value); foreach($localNumberTab AS $j => $z){ if($z['boot_id'] == $localBootID){ unset($z['id']); unset($z['is_delete']); unset($z['is_edit']); if(isset($z['lucky_six'])){ unset($z['lucky_six']); } if(isset($z['lucky_six_number'])){ unset($z['lucky_six_number']); } $z['table_id'] = $online_table_id; $z['table_name'] = $onlineTable['table_name']; $z['sumday_id'] = $insertSumdayID; $z['boot_id'] = $insertBootID; $insertNumberTabID = Db::name($numberTabTableName)->insertGetId($z); } } } } } } return json(array('Success' => 1, 'Msg' => 'sync_success')); }else{ return json(array('Success' => 0, 'Msg' => 'no_table_info')); } } } }