action(); if(in_array($actionName,['doregister'])){ if(Session::has('is_post') && Session::get($actionName.'_is_post') == 0){ return ['status'=>false,'msg'=>'请勿重复提交']; } Session::set('is_post',0); } } public function __destruct(){ $actionName = Request::instance()->action(); if(in_array($actionName,['doregister'])){ Session::set($actionName.'_is_post',1); } } public function get_version(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); return json(config('app_version')); } public function get_system_info(){ if(Request::instance()->isPost()){ $system_info = Db::name('system')->where(array('id' => 1))->find(); return json(['Success' => 1, 'Data' => $system_info]); } } private function create_online_token($user){ return md5($user['encrypt'].$user['password']); } //试玩登录 public function demologin(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $token = trim($json_arr['token']); $client = intval($json_arr['client']); $sw_users = Db::name('user')->where(array('is_sw' => 1, 'is_delete' => 0, 'status' => 1, 'agent' => 0))->select(); if(!$sw_users){ return json(['Success' => 0, 'Msg' => '怎不能提供试玩']); } $randNum = array_rand($sw_users,1); $find = $sw_users[$randNum]; if($token == 'shiwanlogin'){ $online_token = $this->create_online_token($find); $find['online_token'] = $online_token; $update = array(); $update['isout'] = 0; $update['login_token'] = $online_token; $update['money'] = 100000; $update['last_login_time'] = time(); $update['login_count'] = $find['login_count'] + 1; $api_token = create_api_token($find['username'],$find['nickname']); $update['api_token'] = $api_token; Db::name('user')->where(array('id' => $find['id']))->limit(1)->update($update); $find['api_token'] = $api_token; $find['money'] = 2000; //获取公告 $memo = Db::name('memo')->where(array('type' => 1, 'table_id' => 0, 'status' => 1, 'position' => 3))->order('create_time DESC')->select(); $find['memo'] = $memo; //存入session Db::name('session')->where(array('last_time' => array('<', time() - Config::get('session_life_time'))))->delete(); $DBSession = Db::name('session')->where(array('session_id' => $api_token))->find(); if($DBSession){ Db::name('session')->where(array('session_id' => $api_token))->update(array('last_time' => time(), 'user_id' => $find['id'],'client'=>$client)); }else{ Db::name('session')->where(array('user_id' => $find['id']))->delete(); Db::name('session')->insert(array('session_id' =>$api_token, 'last_time' => time(), 'user_id' => $find['id'],'client'=>$client)); } unset($find['password']); unset($find['encrypt']); $data = encrypt_data($find); return json(['Success' => 1, 'Msg' => '登录成功', 'Data' => $data]); }else{ return json(['Success' => 0, 'Msg' => '登录失败']); } }else{ return json(['Success' => 0, 'Msg' => '登录出错']); } } } //保持在线--心跳 public function keepOnline(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ //清除过期session Db::name('session')->where(array('last_time' => array('<', time() - Config::get('session_life_time'))))->delete(); $api_token = trim($json_arr['api_token']); $userId = intval($json_arr['user_id']); $tableId = intval($json_arr['table_id']); $client = intval($json_arr['client']); if($api_token && $userId && $client){ $findSession = Db::name('session')->where(['session_id' => $api_token])->find(); $findUser = Db::name('user')->where(array('id' => $userId, 'is_delete' => 0, 'status' => 1, 'agent' => 0))->find(); if($findSession && $findUser && $api_token == $findUser['api_token']){//验证token Db::name('session')->where(['session_id' => $api_token])->update(['last_time' => time(), 'user_id' => $userId,'client'=>$client,'table_id'=>$tableId]); return json(['Success'=>1,'Msg'=>'更新成功']); } } } } return json(['Success'=>0,'Msg'=>'更新失败']); } //登录optimum public function login(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $username = trim($json_arr['username']); $password = trim($json_arr['password']); $client = intval($json_arr['client']); if(empty($username) || empty($password)){ return json(['Success' => 0, 'Msg' => '请填写账号密码']); } $find = Db::name('user')->where(array('username' => $username, 'is_delete' => 0, 'status' => 1, 'agent' => 0))->find(); if($find){ if(think_ucenter_md5($password, UC_AUTH_KEY) === $find['password'] && $find['password']){ $user_log = array(); $user_log['user_id'] = $find['id']; $user_log['username'] = $find['username']; $user_log['nickname'] = $find['nickname']; $user_log['ip'] = getIP(); $user_log['ip_location'] = ''; $user_log['client'] = 'PC或H5'; $user_log['create_time'] = time(); $user_log['remark'] = '登录'; Db::name('user_log')->insert($user_log); $online_token = $this->create_online_token($find); $find['online_token'] = $online_token; $find['login_token'] = $online_token; $update = array(); $update['isout'] = 0; $update['login_token'] = $online_token; $update['last_login_time'] = time(); $update['login_count'] = $find['login_count'] + 1; $update['last_login_ip'] = getIP(); $api_token = create_api_token($find['username'],$find['nickname']); $update['api_token'] = $api_token; Db::name('user')->where(array('id' => $find['id']))->limit(1)->update($update); $find['api_token'] = $api_token; //获取公告 $memo = Db::name('memo')->where(array('type' => 1, 'table_id' => 0, 'status' => 1, 'position' => 3))->order('create_time DESC')->select(); $find['memo'] = $memo; //存入session Db::name('session')->where(array('last_time' => array('<', time() - Config::get('session_life_time'))))->delete(); $DBSession = Db::name('session')->where(array('session_id' => $api_token))->find(); if($DBSession){ Db::name('session')->where(array('session_id' => $api_token))->update(array('last_time' => time(), 'user_id' => $find['id'],'client'=>$client)); }else{ Db::name('session')->where(array('user_id' => $find['id']))->delete(); Db::name('session')->insert(array('session_id' =>$api_token, 'last_time' => time(), 'user_id' => $find['id'],'client'=>$client)); } unset($find['password']); unset($find['encrypt']); // 钱包地址 $find['wallet'] = Db::name('user_wallet')->where('user_id',$find['id'])->find(); // 支付渠道 $agentParentIds = explode(',',$find['agent_parent_id_path']); $topAgent = Db::name('user')->where('id', $agentParentIds[0])->find(); $find['pay_channel'] = ''; $find['pay_channel_currency'] = []; $find['pay_channel_coin_chain'] = []; if($topAgent['agent_type'] == 1){ // 现金线走支付渠道 $find['pay_channel'] = $topAgent['pay_channel']; $find['pay_channel_currency'] = []; $find['pay_channel_coin_chain'] = []; if($find['pay_channel']){ $payChannelInfo = Db::name('pay_channel')->where('key',$find['pay_channel'])->find(); if($payChannelInfo && $payChannelInfo['currency']){ $find['pay_channel_currency'] = json_decode($payChannelInfo['currency'],true); } if($payChannelInfo && $payChannelInfo['coin_chain']){ $find['pay_channel_coin_chain'] = json_decode($payChannelInfo['coin_chain'],true); } } } elseif ($topAgent['agent_type'] == 2 && $topAgent['pay_channel'] == 'OPR') { // 人工转帐上分,前端显示充值信息 $find['pay_channel'] = $topAgent['pay_channel']; $find['pay_channel_address'] = $topAgent['pay_channel_address']; } $find['manager'] = []; if($find['bet_type'] == 2){ if($find['manager_id']){ $managerInfo = Db::name('manager')->where('id',$find['manager_id'])->where('status',1)->find(); if($managerInfo){ $find['manager']['id'] = $managerInfo['id']; $find['manager']['nickname'] = $managerInfo['nickname']; $find['manager']['telegram'] = $managerInfo['telegram']; $find['manager']['mobile'] = $managerInfo['mobile']; } } } $data = encrypt_data($find); return json(['Success' => 1, 'Msg' => '登录成功', 'Data' => $data]); }else{ return json(['Success' => 0, 'Msg' => '账号或者密码错误']); } }else{ return json(['Success' => 0, 'Msg' => '账号或者密码错误']); } }else{ return json(['Success' => 0, 'Msg' => '登录出错']); } } } // 获取用户信息 public function get_user_info(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $api_token = trim($json_arr['api_token']); $user_id = Db::name('session')->where(array('session_id' =>$api_token))->value('user_id'); $find = Db::name('user')->where(array('id' => $user_id, 'is_delete' => 0, 'status' => 1, 'agent' => 0))->find(); if($find){ $online_token = $this->create_online_token($find); $find['online_token'] = $online_token; $find['login_token'] = $online_token; $find['api_token'] = $api_token; //获取公告 $memo = Db::name('memo')->where(array('type' => 1, 'table_id' => 0, 'status' => 1, 'position' => 3))->order('create_time DESC')->select(); $find['memo'] = $memo; unset($find['password']); unset($find['encrypt']); // 钱包地址 $find['wallet'] = Db::name('user_wallet')->where('user_id',$find['id'])->find(); // 支付渠道 $agentParentIds = explode(',',$find['agent_parent_id_path']); $topAgent = Db::name('user')->where('id', $agentParentIds[0])->find(); $find['pay_channel'] = ''; $find['pay_channel_currency'] = []; $find['pay_channel_coin_chain'] = []; if($topAgent['agent_type'] == 1){ // 现金线走支付渠道 $find['pay_channel'] = $topAgent['pay_channel']; $find['pay_channel_currency'] = []; $find['pay_channel_coin_chain'] = []; if($find['pay_channel']){ $payChannelInfo = Db::name('pay_channel')->where('key',$find['pay_channel'])->find(); if($payChannelInfo && $payChannelInfo['currency']){ $find['pay_channel_currency'] = json_decode($payChannelInfo['currency'],true); } if($payChannelInfo && $payChannelInfo['coin_chain']){ $find['pay_channel_coin_chain'] = json_decode($payChannelInfo['coin_chain'],true); } } } $find['manager'] = []; if($find['bet_type'] == 2){ if($find['manager_id']){ $managerInfo = Db::name('manager')->where('id',$find['manager_id'])->where('status',1)->find(); if($managerInfo){ $find['manager']['id'] = $managerInfo['id']; $find['manager']['nickname'] = $managerInfo['nickname']; $find['manager']['telegram'] = $managerInfo['telegram']; $find['manager']['mobile'] = $managerInfo['mobile']; } } } $data = encrypt_data($find); return json(['Success' => 1, 'Msg' => '操作成功', 'Data' => $data]); }else{ return json(['Success' => 0, 'Msg' => '暂无数据']); } }else{ return json(['Success' => 0, 'Msg' => '操作错误']); } } } //用户钱 public function user_money(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); if($user_id > 0){ $user = Db::name('user')->field(array('money','api_token'))->where(array('id' => $user_id))->find(); if($user['api_token'] == $json_arr['api_token']){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time())); unset($user['api_token']); $data = encrypt_data($user); return json(['Success' => 1, 'Data' => $data]); }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } } } //修改密码 public function update_password(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $password_now = trim($json_arr['password_now']); $password_new = trim($json_arr['password_new']); $password_reply = trim($json_arr['password_reply']); $api_token = trim($json_arr['api_token']); if($user_id > 0){ $find = Db::name('user')->where(array('id' => $user_id))->find(); if($find && $find['api_token'] == $api_token){ if(empty($password_now) || empty($password_new) || empty($password_reply) || strlen($password_new) < 6){ return json(['Success' => 0, 'Msg' => '请填写当前密码以及新密码,新密码不能小于6个字符']); } if($password_new != $password_reply){ return json(['Success' => 0, 'Msg' => '两次密码不一致']); } if(think_ucenter_md5($password_now, UC_AUTH_KEY) == $find['password'] && $find['password']){ $newpass = think_ucenter_md5($password_new, UC_AUTH_KEY); Db::name('user')->where(array('id' => $user_id))->limit(1)->update(array('password' => $newpass, 'update_time' => time())); return json(['Success' => 1, 'Msg' => '修改密码成功']); }else{ return json(['Success' => 0, 'Msg' => '旧密码输入错误']); } }else{ return json(['Success' => 0, 'Msg' => '修改密码失败']); } }else{ return json(['Success' => 0, 'Msg' => '修改密码失败']); } }else{ return json(['Success' => 0, 'Msg' => '修改密码失败']); } } } //打赏 public function to_tip(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $table_id = intval($json_arr['table_id']); $table_name = $json_arr['table_name']; $api_token = trim($json_arr['api_token']); $money = intval($json_arr['money']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $table_id > 0 && $user['api_token'] == $api_token){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time())); if($money > 0){ if($user['money'] > $money){ $newMoney = $user['money'] - $money; $insertData = array(); $insertData['user_id'] = $user_id; $insertData['username'] = $user['username']; $insertData['table_id'] = $table_id; $insertData['table_name'] = $table_name; $insertData['create_time'] = time(); $insertData['money'] = $money; Db::name('tip')->insert($insertData); Db::name('user')->where(array('id' => $user_id))->limit(1)->update(array('money' => $newMoney)); $data = array('money' => $newMoney); $data = encrypt_data($data); return json(['Success' => 1, 'Data' => $data]); }else{ return json(['Success' => 0, 'Msg' => '您的余额不足']); } }else{ return json(['Success' => 0, 'Msg' => '打赏金额必须大于0']); } }else{ return json(['Success' => 0, 'Msg' => '打赏失败']); } }else{ return json(['Success' => 0, 'Msg' => '打赏失败']); } } } //好路 public function good_road(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $table_id = 0; $game_id = 1; $user = Db::name('user')->where(array('id' => $user_id, 'is_delete' => 0, 'status' => 1))->find(); if($user && $user['api_token'] == $api_token){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time())); $tablesData = array(); $tables = Db::name('waybill_remind')->alias('w')->join('table t','w.table_id = t.id')->where(array('t.game_id' => $game_id, 't.table_type' => 0))->order('w.id ASC')->where('t.bet_type = 1 or t.bet_type = 3')->field(array('w.*','t.table_type','t.bet_type'))->select(); $num = 0; foreach($tables AS $key => $value){ $table = false; $table = Db::name('table')->where(array('id' => $value['table_id']))->find(); if($table['table_type'] == 0){ $tablesData[$num]['table_id'] = $table['id']; $tablesData[$num]['waybill_type'] = $value['waybill_type']; $num++; } } $data = encrypt_data($tablesData); return json(array('Success' => 1, 'Data' => $data)); }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } } } //返回全部桌子 public function all_table(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $user = Db::name('user')->where(array('id' => $user_id))->find(); // 增加类型过滤, 2023/12/11 // table_type_d, 后续跟 table_type 合并 // table_type_d = 0, 点击, 默认 // table_type_d = 1, 三合一 //$table_type_d = isset($json_arr['table_type_d'])? intval($json_arr['table_type_d']) : 0; $table_type_d = 0; if (is_null($table_type_d) || ($table_type_d !=0 && $table_type_d != 1)) { $table_type_d = 0; } // 【识别测试】增加类型过滤。旧版不显示识别台,2024/03/06 $ui_version = isset($json_arr['version'])? $json_arr['version'] : ''; if($user && $user['api_token'] == $api_token){ $tableWhere = []; $tableWhere['status'] = 1; $tableWhere['table_type'] = 0; $tableWhere['table_type_d'] = $table_type_d; $tableWhere['bet_type'] = $user['bet_type']; if ($ui_version != 'v8') { $tables = Db::name('table')->where($tableWhere)->where('scanner_type != 2')->order('sort DESC')->select(); } else { $tables = Db::name('table')->where($tableWhere)->order('sort DESC')->select(); } foreach($tables AS $key => $value){ $value['repeatBet'] = array(); $bootTabTable = 'boot'; $numberTabTable = 'number_tab'; $betTable = 'bet'; $boot = Db::name($bootTabTable)->where('table_id',$value['id'])->order('id DESC')->find(); if($value['game_id'] == 1 || $value['game_id'] == 2) { if($boot){ $value['bet_amount_msg']['banker_amount'] = 0; $value['bet_amount_msg']['player_amount'] = 0; $value['bet_amount_msg']['tie_amount'] = 0; $value['bet_amount_msg']['banker_pair_amount'] = 0; $value['bet_amount_msg']['player_pair_amount'] = 0; $value['boot_num'] = $boot['boot_num']; $value['boot_id'] = $boot['id']; $value['playerCount'] = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'result' => 2))->count(); $value['tieCount'] = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'result' => 3))->count(); $value['bankerCount'] = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'result' => 1))->count(); if($value['game_id'] == 1){ $value['player_pair_Count'] = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'pair' => 2))->count(); $value['banker_pair_Count'] = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'pair' => 1))->count(); $all_pair = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'pair' => 3))->count(); $value['banker_pair_Count'] = $value['banker_pair_Count'] + $all_pair; $value['player_pair_Count'] = $value['player_pair_Count'] + $all_pair; } $number_tab = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id'=>$boot['id'],'bet_status'=>3))->order('start_time ASC,id ASC')->select(); if($number_tab){ $value['ludan'] = waybill($number_tab); $number_tab_add_banker = $number_tab; $number_tab_add_player = $number_tab; $number_tab_add_banker[] = array('result' => 1, 'pair' => 0); $number_tab_add_player[] = array('result' => 2, 'pair' => 0); $value['ludan_banker'] = waybill($number_tab_add_banker); $value['ludan_player'] = waybill($number_tab_add_player); }else{ $value['ludan'] = array(); $value['ludan_banker'] = array(); $value['ludan_player'] = array(); } $cur_number_tab = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id']))->order('id DESC')->find(); $value['number_tab_number'] = is_array($cur_number_tab) ? $cur_number_tab['number'] : 1; $value['number_tab_id'] = is_array($cur_number_tab) ? $cur_number_tab['id'] : 1; $value['previous_number_tab_id'] = 0; //查询当前用户是否有过下注 if($cur_number_tab['bet_status'] == 1 || $cur_number_tab['bet_status'] == 2){ $bet = Db::name($betTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id'], 'user_id' => $user_id))->find(); }else{ $bet = array(); } $value['bet_status'] = $cur_number_tab['bet_status']; if($bet){ $value['bet_amount_msg']['banker_amount'] = intval($bet['banker_amount']) > 0 ? intval($bet['banker_amount']) : 0; $value['bet_amount_msg']['player_amount'] = intval($bet['player_amount']) > 0 ? intval($bet['player_amount']) : 0; $value['bet_amount_msg']['tie_amount'] = intval($bet['tie_amount']) > 0 ? intval($bet['tie_amount']) : 0; if($value['game_id'] == 1){ $value['bet_amount_msg']['banker_pair_amount'] = intval($bet['banker_pair_amount']) > 0 ? intval($bet['banker_pair_amount']) : 0; $value['bet_amount_msg']['player_pair_amount'] = intval($bet['player_pair_amount']) > 0 ? intval($bet['player_pair_amount']) : 0; }else{ $value['bet_amount_msg']['banker_pair_amount'] = 0; $value['bet_amount_msg']['player_pair_amount'] = 0; } } //自动台返回牌型 if($value['is_scavenging'] == 1 && $cur_number_tab['bet_status'] == 2){ $card_info = getRedisCardByPosition($cur_number_tab['id']); if($card_info){ $value['card_info']['banker_1'] = $card_info['banker_1']; if($value['game_id'] == 1){ $value['card_info']['banker_2'] = $card_info['banker_2']; $value['card_info']['banker_3'] = $card_info['banker_3']; } $value['card_info']['player_1'] = $card_info['player_1']; if($value['game_id'] == 1){ $value['card_info']['player_2'] = $card_info['player_2']; $value['card_info']['player_3'] = $card_info['player_3']; } }else{ $value['card_info']['banker_1'] = 0; if($value['game_id'] == 1){ $value['card_info']['banker_2'] = 0; $value['card_info']['banker_3'] = 0; } $value['card_info']['player_1'] = 0; if($value['game_id'] == 1){ $value['card_info']['player_2'] = 0; $value['card_info']['player_3'] = 0; } } }else{ $value['card_info']['banker_1'] = 0; if($value['game_id'] == 1){ $value['card_info']['banker_2'] = 0; $value['card_info']['banker_3'] = 0; } $value['card_info']['player_1'] = 0; if($value['game_id'] == 1){ $value['card_info']['player_2'] = 0; $value['card_info']['player_3'] = 0; } } }else{ $value['bet_amount_msg']['banker_amount'] = 0; $value['bet_amount_msg']['player_amount'] = 0; $value['bet_amount_msg']['tie_amount'] = 0; $value['bet_amount_msg']['banker_pair_amount'] = 0; $value['bet_amount_msg']['player_pair_amount'] = 0; $value['boot_num'] = 1; $value['boot_id'] = 0; $value['number_tab_number'] = 1; $value['number_tab_id'] = 0; $value['previous_number_tab_id'] = 0; $value['playerCount'] = 0; $value['tieCount'] = 0; $value['bankerCount'] = 0; $value['ludan'] = array(); $value['ludan_banker'] = array(); $value['ludan_player'] = array(); $value['bet_status'] = 0; } } elseif($value['game_id'] == 4){ if($boot){ $value['bet_amount_msg']['amount_player_1'] = 0; $value['bet_amount_msg']['amount_player_1_times'] = 0; $value['bet_amount_msg']['amount_player_1_banker'] = 0; $value['bet_amount_msg']['amount_player_1_banker_times'] = 0; $value['bet_amount_msg']['amount_player_2'] = 0; $value['bet_amount_msg']['amount_player_2_times'] = 0; $value['bet_amount_msg']['amount_player_2_banker'] = 0; $value['bet_amount_msg']['amount_player_2_banker_times'] = 0; $value['bet_amount_msg']['amount_player_3'] = 0; $value['bet_amount_msg']['amount_player_3_times'] = 0; $value['bet_amount_msg']['amount_player_3_banker'] = 0; $value['bet_amount_msg']['amount_player_3_banker_times'] = 0; $value['boot_num'] = $boot['boot_num']; $value['boot_id'] = $boot['id']; $value['player_1_count'] = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'win_player_1' => 1))->count(); $value['player_2_count'] = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'win_player_2' => 1))->count(); $value['player_3_count'] = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'win_player_3' => 1))->count(); $number_tab = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'bet_status' => 3))->field('result_banker,result_player_1,result_player_2,result_player_3,win_player_1,win_player_2,win_player_3')->order('start_time ASC,id ASC')->select(); if($number_tab){ $value['ludan'] = nn_waybill($number_tab); }else{ $value['ludan'] = array(); } $cur_number_tab = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id']))->order('id DESC')->find(); $value['amount_total']['amount_player_1'] = $cur_number_tab['amount_player_1']; $value['amount_total']['amount_player_2'] = $cur_number_tab['amount_player_2']; $value['amount_total']['amount_player_3'] = $cur_number_tab['amount_player_3']; $value['amount_total']['amount_player_1_times'] = $cur_number_tab['amount_player_1_times']; $value['amount_total']['amount_player_2_times'] = $cur_number_tab['amount_player_2_times']; $value['amount_total']['amount_player_3_times'] = $cur_number_tab['amount_player_3_times']; $value['number_tab_number'] = is_array($cur_number_tab) ? $cur_number_tab['number'] : 1; $value['number_tab_id'] = is_array($cur_number_tab) ? $cur_number_tab['id'] : 1; $value['previous_number_tab_id'] = 0; $value['bet_status'] = $cur_number_tab['bet_status']; $value['rob_status'] = $cur_number_tab['rob_status']; $value['rob_banker_id'] = $cur_number_tab['rob_banker_id']; $value['rob_banker_username'] = $cur_number_tab['rob_banker_username']; //查询当前用户是否有过下注 if($cur_number_tab['bet_status'] == 1 || $cur_number_tab['bet_status'] == 2){ $bet = Db::name($betTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id'], 'user_id' => $user_id))->find(); }else{ $bet = array(); } if($bet){ $value['bet_amount_msg']['amount_player_1'] = intval($bet['amount_player_1']) > 0 ? intval($bet['amount_player_1']) : 0; $value['bet_amount_msg']['amount_player_1_times'] = intval($bet['amount_player_1_times']) > 0 ? intval($bet['amount_player_1_times']) : 0; $value['bet_amount_msg']['amount_player_1_banker'] = intval($bet['amount_player_1_banker']) > 0 ? intval($bet['amount_player_1_banker']) : 0; $value['bet_amount_msg']['amount_player_1_banker_times'] = intval($bet['amount_player_1_banker_times']) > 0 ? intval($bet['amount_player_1_banker_times']) : 0; $value['bet_amount_msg']['amount_player_2'] = intval($bet['amount_player_2']) > 0 ? intval($bet['amount_player_2']) : 0; $value['bet_amount_msg']['amount_player_2_times'] = intval($bet['amount_player_2_times']) > 0 ? intval($bet['amount_player_2_times']) : 0; $value['bet_amount_msg']['amount_player_2_banker'] = intval($bet['amount_player_2_banker']) > 0 ? intval($bet['amount_player_2_banker']) : 0; $value['bet_amount_msg']['amount_player_2_banker_times'] = intval($bet['amount_player_2_banker_times']) > 0 ? intval($bet['amount_player_2_banker_times']) : 0; $value['bet_amount_msg']['amount_player_3'] = intval($bet['amount_player_3']) > 0 ? intval($bet['amount_player_3']) : 0; $value['bet_amount_msg']['amount_player_3_times'] = intval($bet['amount_player_3_times']) > 0 ? intval($bet['amount_player_3_times']) : 0; $value['bet_amount_msg']['amount_player_3_banker'] = intval($bet['amount_player_3_banker']) > 0 ? intval($bet['amount_player_3_banker']) : 0; $value['bet_amount_msg']['amount_player_3_banker_times'] = intval($bet['amount_player_3_banker_times']) > 0 ? intval($bet['amount_player_3_banker_times']) : 0; } $value['card_info']['card_first'] = 0; $value['card_info']['player_1_card_1'] = 0; $value['card_info']['player_1_card_2'] = 0; $value['card_info']['player_1_card_3'] = 0; $value['card_info']['player_1_card_4'] = 0; $value['card_info']['player_1_card_5'] = 0; $value['card_info']['player_2_card_1'] = 0; $value['card_info']['player_2_card_2'] = 0; $value['card_info']['player_2_card_3'] = 0; $value['card_info']['player_2_card_4'] = 0; $value['card_info']['player_2_card_5'] = 0; $value['card_info']['player_3_card_1'] = 0; $value['card_info']['player_3_card_2'] = 0; $value['card_info']['player_3_card_3'] = 0; $value['card_info']['player_3_card_4'] = 0; $value['card_info']['player_3_card_5'] = 0; $value['card_info']['banker_card_1'] = 0; $value['card_info']['banker_card_2'] = 0; $value['card_info']['banker_card_3'] = 0; $value['card_info']['banker_card_4'] = 0; $value['card_info']['banker_card_5'] = 0; $value['nn_result']['player_1_result'] = 0; $value['nn_result']['player_2_result'] = 0; $value['nn_result']['player_3_result'] = 0; $value['nn_result']['banker_result'] = 0; if($value['is_scavenging'] == 1 && $cur_number_tab['bet_status'] == 2){ $card_info = getRedisCard($cur_number_tab['id']); if($card_info){ $value['card_info']['card_first'] = $card_info['card_first']; $value['card_info']['player_1_card_1'] = $card_info['player_1_card_1']; $value['card_info']['player_1_card_2'] = $card_info['player_1_card_2']; $value['card_info']['player_1_card_3'] = $card_info['player_1_card_3']; $value['card_info']['player_1_card_4'] = $card_info['player_1_card_4']; $value['card_info']['player_1_card_5'] = $card_info['player_1_card_5']; $value['card_info']['player_2_card_1'] = $card_info['player_2_card_1']; $value['card_info']['player_2_card_2'] = $card_info['player_2_card_2']; $value['card_info']['player_2_card_3'] = $card_info['player_2_card_3']; $value['card_info']['player_2_card_4'] = $card_info['player_2_card_4']; $value['card_info']['player_2_card_5'] = $card_info['player_2_card_5']; $value['card_info']['player_3_card_1'] = $card_info['player_3_card_1']; $value['card_info']['player_3_card_2'] = $card_info['player_3_card_2']; $value['card_info']['player_3_card_3'] = $card_info['player_3_card_3']; $value['card_info']['player_3_card_4'] = $card_info['player_3_card_4']; $value['card_info']['player_3_card_5'] = $card_info['player_3_card_5']; $value['card_info']['banker_card_1'] = $card_info['banker_card_1']; $value['card_info']['banker_card_2'] = $card_info['banker_card_2']; $value['card_info']['banker_card_3'] = $card_info['banker_card_3']; $value['card_info']['banker_card_4'] = $card_info['banker_card_4']; $value['card_info']['banker_card_5'] = $card_info['banker_card_5']; if($card_info['player_1_card_5'] > 0){ $player_1_card = array($card_info['player_1_card_1'],$card_info['player_1_card_2'],$card_info['player_1_card_3'],$card_info['player_1_card_4'],$card_info['player_1_card_5']); $player_1_result = JudgeCowCow($player_1_card); $value['nn_result']['player_1_result'] = $player_1_result['word']; }else{ $value['nn_result']['player_1_result'] = 0; } if($card_info['player_2_card_5'] > 0){ $player_2_card = array($card_info['player_2_card_1'],$card_info['player_2_card_2'],$card_info['player_2_card_3'],$card_info['player_2_card_4'],$card_info['player_2_card_5']); $player_2_result = JudgeCowCow($player_2_card); $value['nn_result']['player_2_result'] = $player_2_result['word']; }else{ $value['nn_result']['player_2_result'] = 0; } if($card_info['player_3_card_5'] > 0){ $player_3_card = array($card_info['player_3_card_1'],$card_info['player_3_card_2'],$card_info['player_3_card_3'],$card_info['player_3_card_4'],$card_info['player_3_card_5']); $player_3_result = JudgeCowCow($player_3_card); $value['nn_result']['player_3_result'] = $player_3_result['word']; }else{ $value['nn_result']['player_3_result'] = 0; } if($card_info['banker_card_5'] > 0){ $banker_card = array($card_info['banker_card_1'],$card_info['banker_card_2'],$card_info['banker_card_3'],$card_info['banker_card_4'],$card_info['banker_card_5']); $banker_result = JudgeCowCow($banker_card); $value['nn_result']['banker_result'] = $banker_result['word']; }else{ $value['nn_result']['banker_result'] = 0; } } } }else{ $value['bet_amount_msg']['amount_player_1'] = 0; $value['bet_amount_msg']['amount_player_1_times'] = 0; $value['bet_amount_msg']['amount_player_1_banker'] = 0; $value['bet_amount_msg']['amount_player_1_banker_times'] = 0; $value['bet_amount_msg']['amount_player_2'] = 0; $value['bet_amount_msg']['amount_player_2_times'] = 0; $value['bet_amount_msg']['amount_player_2_banker'] = 0; $value['bet_amount_msg']['amount_player_2_banker_times'] = 0; $value['bet_amount_msg']['amount_player_3'] = 0; $value['bet_amount_msg']['amount_player_3_times'] = 0; $value['bet_amount_msg']['amount_player_3_banker'] = 0; $value['bet_amount_msg']['amount_player_3_banker_times'] = 0; $value['boot_num'] = 1; $value['boot_id'] = 0; $value['number_tab_number'] = 1; $value['number_tab_id'] = 0; $value['previous_number_tab_id'] = 0; $value['bet_status'] = 0; $value['rob_status'] = 0; $value['rob_banker_id'] = 0; $value['rob_banker_username'] = ''; } } elseif($value['game_id'] == 5){ $value['bet_amount_msg']['amount_player_1'] = 0; $value['bet_amount_msg']['amount_player_1_times'] = 0; $value['bet_amount_msg']['amount_player_1_banker'] = 0; $value['bet_amount_msg']['amount_player_1_banker_times'] = 0; $value['bet_amount_msg']['amount_player_2'] = 0; $value['bet_amount_msg']['amount_player_2_times'] = 0; $value['bet_amount_msg']['amount_player_2_banker'] = 0; $value['bet_amount_msg']['amount_player_2_banker_times'] = 0; $value['bet_amount_msg']['amount_player_3'] = 0; $value['bet_amount_msg']['amount_player_3_times'] = 0; $value['bet_amount_msg']['amount_player_3_banker'] = 0; $value['bet_amount_msg']['amount_player_3_banker_times'] = 0; if($boot){ $value['boot_num'] = $boot['boot_num']; $value['boot_id'] = $boot['id']; $value['player_1_count'] = Db::name($numberTabTable)->where(array('boot_id' => $boot['id'], 'win_player_1' => 1))->count(); $value['player_2_count'] = Db::name($numberTabTable)->where(array('boot_id' => $boot['id'], 'win_player_2' => 1))->count(); $value['player_3_count'] = Db::name($numberTabTable)->where(array('boot_id' => $boot['id'], 'win_player_3' => 1))->count(); $number_tab = Db::name($numberTabTable)->where(array('boot_id' => $boot['id'], 'bet_status' => 3))->field('result_banker,result_player_1,result_player_2,result_player_3,win_player_1,win_player_2,win_player_3')->order('start_time ASC,id ASC')->select(); if($number_tab){ $value['ludan'] = nn_waybill($number_tab); }else{ $value['ludan'] = array(); } $cur_number_tab = Db::name($numberTabTable)->where(array('boot_id'=>$boot['id']))->order('id DESC')->find(); $value['amount_total']['amount_player_1'] = $cur_number_tab['amount_player_1']; $value['amount_total']['amount_player_2'] = $cur_number_tab['amount_player_2']; $value['amount_total']['amount_player_3'] = $cur_number_tab['amount_player_3']; $value['amount_total']['amount_player_1_times'] = $cur_number_tab['amount_player_1_times']; $value['amount_total']['amount_player_2_times'] = $cur_number_tab['amount_player_2_times']; $value['amount_total']['amount_player_3_times'] = $cur_number_tab['amount_player_3_times']; $value['number_tab_number'] = is_array($cur_number_tab) ? $cur_number_tab['number'] : 1; $value['number_tab_id'] = is_array($cur_number_tab) ? $cur_number_tab['id'] : 1; $value['previous_number_tab_id'] = 0; $value['bet_status'] = $cur_number_tab['bet_status']; $value['rob_status'] = $cur_number_tab['rob_status']; $value['rob_banker_id'] = $cur_number_tab['rob_banker_id']; $value['rob_banker_username'] = $cur_number_tab['rob_banker_username']; //查询当前用户是否有过下注 if($cur_number_tab['bet_status'] == 1 || $cur_number_tab['bet_status'] == 2){ $bet = Db::name($betTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id'], 'user_id' => $user_id))->find(); }else{ $bet = array(); } if($bet){ $value['bet_amount_msg']['amount_player_1'] = intval($bet['amount_player_1']) > 0 ? intval($bet['amount_player_1']) : 0; $value['bet_amount_msg']['amount_player_1_times'] = intval($bet['amount_player_1_times']) > 0 ? intval($bet['amount_player_1_times']) : 0; $value['bet_amount_msg']['amount_player_1_banker'] = intval($bet['amount_player_1_banker']) > 0 ? intval($bet['amount_player_1_banker']) : 0; $value['bet_amount_msg']['amount_player_1_banker_times'] = intval($bet['amount_player_1_banker_times']) > 0 ? intval($bet['amount_player_1_banker_times']) : 0; $value['bet_amount_msg']['amount_player_2'] = intval($bet['amount_player_2']) > 0 ? intval($bet['amount_player_2']) : 0; $value['bet_amount_msg']['amount_player_2_times'] = intval($bet['amount_player_2_times']) > 0 ? intval($bet['amount_player_2_times']) : 0; $value['bet_amount_msg']['amount_player_2_banker'] = intval($bet['amount_player_2_banker']) > 0 ? intval($bet['amount_player_2_banker']) : 0; $value['bet_amount_msg']['amount_player_2_banker_times'] = intval($bet['amount_player_2_banker_times']) > 0 ? intval($bet['amount_player_2_banker_times']) : 0; $value['bet_amount_msg']['amount_player_3'] = intval($bet['amount_player_3']) > 0 ? intval($bet['amount_player_3']) : 0; $value['bet_amount_msg']['amount_player_3_times'] = intval($bet['amount_player_3_times']) > 0 ? intval($bet['amount_player_3_times']) : 0; $value['bet_amount_msg']['amount_player_3_banker'] = intval($bet['amount_player_3_banker']) > 0 ? intval($bet['amount_player_3_banker']) : 0; $value['bet_amount_msg']['amount_player_3_banker_times'] = intval($bet['amount_player_3_banker_times']) > 0 ? intval($bet['amount_player_3_banker_times']) : 0; } if($value['is_scavenging'] == 1 && $cur_number_tab['bet_status'] == 2){ $card_info = getRedisCard($cur_number_tab['id']); if($card_info){ $value['card_info']['card_first'] = $card_info['card_first']; $value['card_info']['player_1_card_1'] = $card_info['player_1_card_1']; $value['card_info']['player_1_card_2'] = $card_info['player_1_card_2']; $value['card_info']['player_1_card_3'] = $card_info['player_1_card_3']; $value['card_info']['player_2_card_1'] = $card_info['player_2_card_1']; $value['card_info']['player_2_card_2'] = $card_info['player_2_card_2']; $value['card_info']['player_2_card_3'] = $card_info['player_2_card_3']; $value['card_info']['player_3_card_1'] = $card_info['player_3_card_1']; $value['card_info']['player_3_card_2'] = $card_info['player_3_card_2']; $value['card_info']['player_3_card_3'] = $card_info['player_3_card_3']; $value['card_info']['banker_card_1'] = $card_info['banker_card_1']; $value['card_info']['banker_card_2'] = $card_info['banker_card_2']; $value['card_info']['banker_card_3'] = $card_info['banker_card_3']; if($card_info['player_1_card_3'] > 0){ $player_1_card = array($card_info['player_1_card_1'],$card_info['player_1_card_2'],$card_info['player_1_card_3']); $player_1_result = ThredCardCowCow($player_1_card); $value['tc_result']['player_1_result'] = $player_1_result['word']; }else{ $value['tc_result']['player_1_result'] = 0; } if($card_info['player_2_card_3'] > 0){ $player_2_card = array($card_info['player_2_card_1'],$card_info['player_2_card_2'],$card_info['player_2_card_3']); $player_2_result = ThredCardCowCow($player_2_card); $value['tc_result']['player_2_result'] = $player_2_result['word']; }else{ $value['tc_result']['player_2_result'] = 0; } if($card_info['player_3_card_3'] > 0){ $player_3_card = array($card_info['player_3_card_1'],$card_info['player_3_card_2'],$card_info['player_3_card_3']); $player_3_result = ThredCardCowCow($player_3_card); $value['tc_result']['player_3_result'] = $player_3_result['word']; }else{ $value['tc_result']['player_3_result'] = 0; } if($card_info['banker_card_3'] > 0){ $banker_card = array($card_info['banker_card_1'],$card_info['banker_card_2'],$card_info['banker_card_3']); $banker_result = ThredCardCowCow($banker_card); $value['tc_result']['banker_result'] = $banker_result['word']; }else{ $value['tc_result']['banker_result'] = 0; } }else{ $value['card_info']['card_first'] = 0; $value['card_info']['player_1_card_1'] = 0; $value['card_info']['player_1_card_2'] = 0; $value['card_info']['player_1_card_3'] = 0; $value['card_info']['player_2_card_1'] = 0; $value['card_info']['player_2_card_2'] = 0; $value['card_info']['player_2_card_3'] = 0; $value['card_info']['player_3_card_1'] = 0; $value['card_info']['player_3_card_2'] = 0; $value['card_info']['player_3_card_3'] = 0; $value['card_info']['banker_card_1'] = 0; $value['card_info']['banker_card_2'] = 0; $value['card_info']['banker_card_3'] = 0; $value['tc_result']['player_1_result'] = 0; $value['tc_result']['player_2_result'] = 0; $value['tc_result']['player_3_result'] = 0; $value['tc_result']['banker_result'] = 0; } }else{ $value['card_info']['card_first'] = 0; $value['card_info']['player_1_card_1'] = 0; $value['card_info']['player_1_card_2'] = 0; $value['card_info']['player_1_card_3'] = 0; $value['card_info']['player_2_card_1'] = 0; $value['card_info']['player_2_card_2'] = 0; $value['card_info']['player_2_card_3'] = 0; $value['card_info']['player_3_card_1'] = 0; $value['card_info']['player_3_card_2'] = 0; $value['card_info']['player_3_card_3'] = 0; $value['card_info']['banker_card_1'] = 0; $value['card_info']['banker_card_2'] = 0; $value['card_info']['banker_card_3'] = 0; $value['tc_result']['player_1_result'] = 0; $value['tc_result']['player_2_result'] = 0; $value['tc_result']['player_3_result'] = 0; $value['tc_result']['banker_result'] = 0; } }else{ $value['boot_id'] = 1; $value['boot_num'] = 1; $value['number_tab_number'] = 1; $value['number_tab_id'] = 1; $value['previous_number_tab_id'] = 0; $value['player_1_count'] = 0; $value['player_2_count'] = 0; $value['player_3_count'] = 0; $value['ludan'] = array(); $value['bet_status'] = 0; $value['rob_status'] = 0; $value['rob_banker_id'] = 0; $value['rob_banker_username'] = ''; } } elseif($value['game_id'] == 6){ $betAmountMsg = [ 'toning_zero' => 0, 'toning_four' => 0, 'toning_one' => 0, 'toning_three' => 0, 'toning_big' => 0, 'toning_small' => 0, 'toning_singular' => 0, 'toning_plural' => 0 ]; $value['bet_amount_msg'] = $betAmountMsg; if($boot){ $value['boot_num'] = $boot['boot_num']; $value['boot_id'] = $boot['id']; $toningCountArray = tonging_count_to_array($boot['toning_count']); $value['count'] = $toningCountArray; $number_tab = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id'=>$boot['id'],'bet_status'=>3))->order('start_time ASC,id ASC')->select(); if($number_tab){ $value['ludan'] = WaybillToning::createWaybill($number_tab); }else{ $value['ludan'] = array(); } $cur_number_tab = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id']))->order('id DESC')->find(); $value['number_tab_number'] = is_array($cur_number_tab) ? $cur_number_tab['number'] : 1; $value['number_tab_id'] = is_array($cur_number_tab) ? $cur_number_tab['id'] : 1; $value['previous_number_tab_id'] = 0; //查询当前用户是否有过下注 if($cur_number_tab['bet_status'] == 1 || $cur_number_tab['bet_status'] == 2){ $bet = Db::name($betTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id'], 'user_id' => $user_id))->find(); }else{ $bet = array(); } $value['bet_status'] = $cur_number_tab['bet_status']; if($bet){ $amountArray = result_to_array($bet['toning_amount']); $value['bet_amount_msg'] = $amountArray; } }else{ $value['boot_num'] = 1; $value['boot_id'] = 0; $value['number_tab_number'] = 1; $value['number_tab_id'] = 0; $value['previous_number_tab_id'] = 0; $value['zero_count'] = 0; $value['one_count'] = 0; $value['two_count'] = 0; $value['three_count'] = 0; $value['four_count'] = 0; $value['big_count'] = 0; $value['small_count'] = 0; $value['singular_count'] = 0; $value['plural_count'] = 0; $value['ludan'] = array(); $value['bet_status'] = 0; } } elseif($value['game_id'] == 7){ $betAmountMsg = [ 'small' => 0, 'big' => 0, 'singular' => 0, 'plural' => 0, 'two_11' => 0, 'two_22' => 0, 'two_33' => 0, 'two_44' => 0, 'two_55' => 0, 'two_66' => 0, 'leopard' => 0, 'three_111' => 0, 'three_222' => 0, 'three_333' => 0, 'three_444' => 0, 'three_555' => 0, 'three_666' => 0, 'number_4' => 0, 'number_5' => 0, 'number_6' => 0, 'number_7' => 0, 'number_8' => 0, 'number_9' => 0, 'number_10' => 0, 'number_11' => 0, 'number_12' => 0, 'number_13' => 0, 'number_14' => 0, 'number_15' => 0, 'number_16' => 0, 'number_17' => 0, 'two_12' => 0, 'two_13' => 0, 'two_14' => 0, 'two_15' => 0, 'two_16' => 0, 'two_23' => 0, 'two_24' => 0, 'two_25' => 0, 'two_26' => 0, 'two_34' => 0, 'two_35' => 0, 'two_36' => 0, 'two_45' => 0, 'two_46' => 0, 'two_56' => 0, 'living_1' => 0, 'living_2' => 0, 'living_3' => 0, 'living_4' => 0, 'living_5' => 0, 'living_6' => 0, ]; $value['bet_amount_msg'] = $betAmountMsg; if($boot){ $value['boot_num'] = $boot['boot_num']; $value['boot_id'] = $boot['id']; $diceCountArray = dice_count_to_array($boot['dice_count']); $value['count'] = $diceCountArray; $number_tab = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id'=>$boot['id'],'bet_status'=>3))->order('start_time ASC,id ASC')->select(); if($number_tab){ //路单留空 $value['ludan'] = WaybillDice::createWaybill($number_tab); }else{ $value['ludan'] = array(); } $cur_number_tab = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id']))->order('id DESC')->find(); $value['number_tab_number'] = is_array($cur_number_tab) ? $cur_number_tab['number'] : 1; $value['number_tab_id'] = is_array($cur_number_tab) ? $cur_number_tab['id'] : 1; $value['previous_number_tab_id'] = 0; //查询当前用户是否有过下注 if($cur_number_tab['bet_status'] == 1 || $cur_number_tab['bet_status'] == 2){ $bet = Db::name($betTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id'], 'user_id' => $user_id))->find(); }else{ $bet = array(); } $value['bet_status'] = $cur_number_tab['bet_status']; if($bet){ $amountArray = result_to_array($bet['dice_amount']); $value['bet_amount_msg'] = $amountArray; } }else{ $value['boot_num'] = 1; $value['boot_id'] = 0; $value['number_tab_number'] = 1; $value['number_tab_id'] = 0; $value['previous_number_tab_id'] = 0; $value['count']['leopard_count'] = 0; $value['count']['small_count'] = 0; $value['count']['big_count'] = 0; $value['count']['singular_count'] = 0; $value['count']['plural_count'] = 0; $value['ludan'] = array(); $value['bet_status'] = 0; } } elseif($value['game_id'] == 8){ $betAmountMsg = [ 'roulette_type' => '', 'amount' => [] ]; $value['bet_amount_msg'] = $betAmountMsg; if($boot){ $value['boot_num'] = $boot['boot_num']; $value['boot_id'] = $boot['id']; $rouletteCountArray = roulette_count_to_array($boot['roulette_count']); $value['count'] = $rouletteCountArray; $number_tab = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id'=>$boot['id'],'bet_status'=>3))->order('start_time ASC,id ASC')->select(); if($number_tab){ //路单留空 $value['ludan'] = WaybillRoulette::createWaybill($number_tab); }else{ $value['ludan'] = array(); } $cur_number_tab = Db::name($numberTabTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id']))->order('id DESC')->find(); $value['number_tab_number'] = is_array($cur_number_tab) ? $cur_number_tab['number'] : 1; $value['number_tab_id'] = is_array($cur_number_tab) ? $cur_number_tab['id'] : 1; $value['previous_number_tab_id'] = 0; //查询当前用户是否有过下注 if($cur_number_tab['bet_status'] == 1 || $cur_number_tab['bet_status'] == 2){ $bet = Db::name($betTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id'], 'user_id' => $user_id))->find(); }else{ $bet = array(); } $value['bet_status'] = $cur_number_tab['bet_status']; if($bet){ if($bet['roulette_european_amount']){ $value['bet_amount_msg']['roulette_type'] = 'european'; $value['bet_amount_msg']['amount'] = result_to_array($bet['roulette_european_amount']); } if($bet['roulette_french_amount']){ $value['bet_amount_msg']['roulette_type'] = 'french'; $value['bet_amount_msg']['amount'] = result_to_array($bet['roulette_french_amount']); } } }else{ $value['boot_num'] = 1; $value['boot_id'] = 0; $value['number_tab_number'] = 1; $value['number_tab_id'] = 0; $value['previous_number_tab_id'] = 0; $value['count']['low_count'] = 0; $value['count']['high_count'] = 0; $value['count']['even_count'] = 0; $value['count']['odd_count'] = 0; $value['count']['red_count'] = 0; $value['count']['black_count'] = 0; $value['count']['zero_count'] = 0; $value['ludan'] = array(); $value['bet_status'] = 0; } } //赔率 $value['price_banker'] = $user['price_banker']; $value['price_player'] = $user['price_player']; $value['price_tie_baccarat'] = $user['price_tie_baccarat']; $value['price_pair'] = $user['price_pair']; $value['price_dragon'] = $user['price_dragon']; $value['price_tiger'] = $user['price_tiger']; $value['price_tie_dt'] = $user['price_tie_dt']; $value['price_n7_n9'] = $user['price_n7_n9']; $value['price_nn'] = $user['price_nn']; $value['price_5n'] = $user['price_5n']; $value['price_bomb'] = $user['price_bomb']; $value['price_tc_n1'] = $user['price_tc_n1']; $value['price_tc_n2'] = $user['price_tc_n2']; $value['price_tc_n3'] = $user['price_tc_n3']; $value['price_tc_n4'] = $user['price_tc_n4']; $value['price_tc_n5'] = $user['price_tc_n5']; $value['price_tc_n6'] = $user['price_tc_n6']; $value['price_tc_n7'] = $user['price_tc_n7']; $value['price_tc_n8'] = $user['price_tc_n8']; $value['price_tc_n9'] = $user['price_tc_n9']; $value['price_tc_nn'] = $user['price_tc_nn']; $value['price_tc_bz'] = $user['price_tc_bz']; $value['price_tc_ths'] = $user['price_tc_ths']; $value['price_tc_hjths'] = $user['price_tc_hjths']; $value['price_toning'] = $user['price_toning']; $value['price_toning_0'] = $user['price_toning_0']; $value['price_toning_1'] = $user['price_toning_1']; $value['countDown'] = 0; $value['bankerIsWin'] = false; $value['playerIsWin'] = false; $value['tieIsWin'] = false; $value['bpIsWin'] = false; $value['ppIsWin'] = false; $value['sendMode'] = ''; $value['chatdata'] = array(); $tables[$key] = $value; } $data = encrypt_data($tables); return json(array('Success' => 1, 'Data' => $data)); }else{ return json(array('Success' => 1, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 1, 'Msg' => '获取信息失败')); } } else { return json(array('Success' => 1, 'Msg' => '获取信息失败')); } } //返回单张桌子 public function singletable(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); // $json_arr = Request::instance()->post(); if($json_arr){ $table_id = isset($json_arr['table_id'])? intval($json_arr['table_id']) : 0; $user_id = isset($json_arr['user_id'])? intval($json_arr['user_id']) : 0; $api_token = isset($json_arr['api_token'])? trim($json_arr['api_token']) : ''; $user = Db::name('user')->where(array('id' => $user_id))->find(); if($table_id > 0 && $user && $user['api_token'] == $api_token){ $table = Db::name('table')->where(array('id' => $table_id, 'status' => 1,'bet_type' => $user['bet_type']))->find(); $table['isout'] = $user['isout']; $table['can_bet_luck_six'] = 0; $table['can_bet_big_small'] = 0; $game_id = $table['game_id']; $bootTabTable = 'boot'; $numberTabTable = 'number_tab'; $betTable = 'bet'; if($game_id == 4) { $boot = Db::name($bootTabTable)->where('table_id',$table['id'])->order('id DESC')->find(); if($boot){ //下注数据 $table['bet_amount_msg']['amount_player_1'] = 0; $table['bet_amount_msg']['amount_player_1_times'] = 0; $table['bet_amount_msg']['amount_player_1_banker'] = 0; $table['bet_amount_msg']['amount_player_1_banker_times'] = 0; $table['bet_amount_msg']['amount_player_2'] = 0; $table['bet_amount_msg']['amount_player_2_times'] = 0; $table['bet_amount_msg']['amount_player_2_banker'] = 0; $table['bet_amount_msg']['amount_player_2_banker_times'] = 0; $table['bet_amount_msg']['amount_player_3'] = 0; $table['bet_amount_msg']['amount_player_3_times'] = 0; $table['bet_amount_msg']['amount_player_3_banker'] = 0; $table['bet_amount_msg']['amount_player_3_banker_times'] = 0; //桌子信息 $table['boot_num'] = $boot['boot_num']; $table['player_1_count'] = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'win_player_1' => 1))->count(); $table['player_2_count'] = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'win_player_2' => 1))->count(); $table['player_3_count'] = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'win_player_3' => 1))->count(); $number_tab = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'bet_status' => 3))->field('result_banker,result_player_1,result_player_2,result_player_3,win_player_1,win_player_2,win_player_3')->order('start_time ASC,id ASC')->select(); if($number_tab){ $table['ludan'] = nn_waybill($number_tab); }else{ $table['ludan'] = array(); } $cur_number_tab = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id'=>$boot['id']))->order('id DESC')->find(); $table['number_tab_number'] = is_array($cur_number_tab) ? $cur_number_tab['number'] : 1; $table['number_tab_id'] = is_array($cur_number_tab) ? $cur_number_tab['id'] : 0; //查询当前用户是否有过下注 if($cur_number_tab['bet_status'] == 1 || $cur_number_tab['bet_status'] == 2){ $bet = Db::name($betTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id'], 'user_id' => $user_id))->find(); }else{ $bet = array(); } if($bet){ $table['bet_amount_msg']['amount_player_1'] = intval($bet['amount_player_1']) > 0 ? intval($bet['amount_player_1']) : 0; $table['bet_amount_msg']['amount_player_1_times'] = intval($bet['amount_player_1_times']) > 0 ? intval($bet['amount_player_1_times']) : 0; $table['bet_amount_msg']['amount_player_1_banker'] = intval($bet['amount_player_1_banker']) > 0 ? intval($bet['amount_player_1_banker']) : 0; $table['bet_amount_msg']['amount_player_1_banker_times'] = intval($bet['amount_player_1_banker_times']) > 0 ? intval($bet['amount_player_1_banker_times']) : 0; $table['bet_amount_msg']['amount_player_2'] = intval($bet['amount_player_2']) > 0 ? intval($bet['amount_player_2']) : 0; $table['bet_amount_msg']['amount_player_2_times'] = intval($bet['amount_player_2_times']) > 0 ? intval($bet['amount_player_2_times']) : 0; $table['bet_amount_msg']['amount_player_2_banker'] = intval($bet['amount_player_2_banker']) > 0 ? intval($bet['amount_player_2_banker']) : 0; $table['bet_amount_msg']['amount_player_2_banker_times'] = intval($bet['amount_player_2_banker_times']) > 0 ? intval($bet['amount_player_2_banker_times']) : 0; $table['bet_amount_msg']['amount_player_3'] = intval($bet['amount_player_3']) > 0 ? intval($bet['amount_player_3']) : 0; $table['bet_amount_msg']['amount_player_3_times'] = intval($bet['amount_player_3_times']) > 0 ? intval($bet['amount_player_3_times']) : 0; $table['bet_amount_msg']['amount_player_3_banker'] = intval($bet['amount_player_3_banker']) > 0 ? intval($bet['amount_player_3_banker']) : 0; $table['bet_amount_msg']['amount_player_3_banker_times'] = intval($bet['amount_player_3_banker_times']) > 0 ? intval($bet['amount_player_3_banker_times']) : 0; } $table['card_info']['card_first'] = 0; $table['card_info']['player_1_card_1'] = 0; $table['card_info']['player_1_card_2'] = 0; $table['card_info']['player_1_card_3'] = 0; $table['card_info']['player_1_card_4'] = 0; $table['card_info']['player_1_card_5'] = 0; $table['card_info']['player_2_card_1'] = 0; $table['card_info']['player_2_card_2'] = 0; $table['card_info']['player_2_card_3'] = 0; $table['card_info']['player_2_card_4'] = 0; $table['card_info']['player_2_card_5'] = 0; $table['card_info']['player_3_card_1'] = 0; $table['card_info']['player_3_card_2'] = 0; $table['card_info']['player_3_card_3'] = 0; $table['card_info']['player_3_card_4'] = 0; $table['card_info']['player_3_card_5'] = 0; $table['card_info']['banker_card_1'] = 0; $table['card_info']['banker_card_2'] = 0; $table['card_info']['banker_card_3'] = 0; $table['card_info']['banker_card_4'] = 0; $table['card_info']['banker_card_5'] = 0; $table['nn_result']['player_1_result'] = 0; $table['nn_result']['player_2_result'] = 0; $table['nn_result']['player_3_result'] = 0; $table['nn_result']['banker_result'] = 0; if($table['is_scavenging'] == 1 && $cur_number_tab['bet_status'] == 2){ $card_info = getRedisCard($cur_number_tab['id']); if($card_info){ $table['card_info']['card_first'] = $card_info['card_first']; $table['card_info']['player_1_card_1'] = $card_info['player_1_card_1']; $table['card_info']['player_1_card_2'] = $card_info['player_1_card_2']; $table['card_info']['player_1_card_3'] = $card_info['player_1_card_3']; $table['card_info']['player_1_card_4'] = $card_info['player_1_card_4']; $table['card_info']['player_1_card_5'] = $card_info['player_1_card_5']; $table['card_info']['player_2_card_1'] = $card_info['player_2_card_1']; $table['card_info']['player_2_card_2'] = $card_info['player_2_card_2']; $table['card_info']['player_2_card_3'] = $card_info['player_2_card_3']; $table['card_info']['player_2_card_4'] = $card_info['player_2_card_4']; $table['card_info']['player_2_card_5'] = $card_info['player_2_card_5']; $table['card_info']['player_3_card_1'] = $card_info['player_3_card_1']; $table['card_info']['player_3_card_2'] = $card_info['player_3_card_2']; $table['card_info']['player_3_card_3'] = $card_info['player_3_card_3']; $table['card_info']['player_3_card_4'] = $card_info['player_3_card_4']; $table['card_info']['player_3_card_5'] = $card_info['player_3_card_5']; $table['card_info']['banker_card_1'] = $card_info['banker_card_1']; $table['card_info']['banker_card_2'] = $card_info['banker_card_2']; $table['card_info']['banker_card_3'] = $card_info['banker_card_3']; $table['card_info']['banker_card_4'] = $card_info['banker_card_4']; $table['card_info']['banker_card_5'] = $card_info['banker_card_5']; if($card_info['player_1_card_5'] > 0){ $player_1_card = array($card_info['player_1_card_1'],$card_info['player_1_card_2'],$card_info['player_1_card_3'],$card_info['player_1_card_4'],$card_info['player_1_card_5']); $player_1_result = JudgeCowCow($player_1_card); $table['nn_result']['player_1_result'] = $player_1_result['word']; }else{ $table['nn_result']['player_1_result'] = 0; } if($card_info['player_2_card_5'] > 0){ $player_2_card = array($card_info['player_2_card_1'],$card_info['player_2_card_2'],$card_info['player_2_card_3'],$card_info['player_2_card_4'],$card_info['player_2_card_5']); $player_2_result = JudgeCowCow($player_2_card); $table['nn_result']['player_2_result'] = $player_2_result['word']; }else{ $table['nn_result']['player_2_result'] = 0; } if($card_info['player_3_card_5'] > 0){ $player_3_card = array($card_info['player_3_card_1'],$card_info['player_3_card_2'],$card_info['player_3_card_3'],$card_info['player_3_card_4'],$card_info['player_3_card_5']); $player_3_result = JudgeCowCow($player_3_card); $table['nn_result']['player_3_result'] = $player_3_result['word']; }else{ $table['nn_result']['player_3_result'] = 0; } if($card_info['banker_card_5'] > 0){ $banker_card = array($card_info['banker_card_1'],$card_info['banker_card_2'],$card_info['banker_card_3'],$card_info['banker_card_4'],$card_info['banker_card_5']); $banker_result = JudgeCowCow($banker_card); $table['nn_result']['banker_result'] = $banker_result['word']; }else{ $table['nn_result']['banker_result'] = 0; } } } }else{ $table['bet_amount_msg']['amount_player_1'] = 0; $table['bet_amount_msg']['amount_player_1_times'] = 0; $table['bet_amount_msg']['amount_player_1_banker'] = 0; $table['bet_amount_msg']['amount_player_1_banker_times'] = 0; $table['bet_amount_msg']['amount_player_2'] = 0; $table['bet_amount_msg']['amount_player_2_times'] = 0; $table['bet_amount_msg']['amount_player_2_banker'] = 0; $table['bet_amount_msg']['amount_player_2_banker_times'] = 0; $table['bet_amount_msg']['amount_player_3'] = 0; $table['bet_amount_msg']['amount_player_3_times'] = 0; $table['bet_amount_msg']['amount_player_3_banker'] = 0; $table['bet_amount_msg']['amount_player_3_banker_times'] = 0; $table['boot_num'] = 1; $table['boot_id'] = 0; $table['number_tab_number'] = 1; $table['number_tab_id'] = 0; $table['previous_number_tab_id'] = 0; $table['bet_status'] = 0; } } elseif($game_id == 5){ //限红 $limit_money_array = explode('-',$table['limit_money']); $table['limit_money_low'] = $limit_money_array[0]; $table['limit_money_high'] = $limit_money_array[1]; $boot = Db::name($bootTabTable)->where('table_id',$table['id'])->order('id DESC')->find(); if($boot){ $table['boot_num'] = $boot['boot_num']; $table['player_1_count'] = Db::name($numberTabTable)->where(array('boot_id' => $boot['id'], 'win_player_1' => 1))->count(); $table['player_2_count'] = Db::name($numberTabTable)->where(array('boot_id' => $boot['id'], 'win_player_2' => 1))->count(); $table['player_3_count'] = Db::name($numberTabTable)->where(array('boot_id' => $boot['id'], 'win_player_3' => 1))->count(); $number_tab = Db::name($numberTabTable)->where(array('boot_id' => $boot['id'], 'bet_status' => 3))->field('result_banker,result_player_1,result_player_2,result_player_3,win_player_1,win_player_2,win_player_3')->order('start_time ASC,id ASC')->select(); if($number_tab){ $table['ludan'] = nn_waybill($number_tab); }else{ $table['ludan'] = array(); } $cur_number_tab = Db::name($numberTabTable)->where(array('boot_id'=>$boot['id']))->order('id DESC')->find(); $table['number_tab_number'] = is_array($cur_number_tab) ? $cur_number_tab['number'] : 1; $table['number_tab_id'] = is_array($cur_number_tab) ? $cur_number_tab['id'] : 0; }else{ $table['boot_num'] = 1; $table['number_tab_number'] = 1; $table['player_1_count'] = 0; $table['player_2_count'] = 0; $table['player_3_count'] = 0; $table['ludan'] = array(); } } elseif($game_id == 6){ $boot = Db::name($bootTabTable)->where('table_id',$table['id'])->order('id DESC')->find(); $betAmountMsg = [ 'toning_zero' => 0, 'toning_four' => 0, 'toning_one' => 0, 'toning_three' => 0, 'toning_big' => 0, 'toning_small' => 0, 'toning_singular' => 0, 'toning_plural' => 0 ]; $table['bet_amount_msg'] = $betAmountMsg; if($boot){ $table['boot_num'] = $boot['boot_num']; $table['boot_id'] = $boot['id']; $toningCountArray = tonging_count_to_array($boot['toning_count']); $table['count'] = $toningCountArray; $number_tab = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id'=>$boot['id'],'bet_status'=>3))->order('start_time ASC,id ASC')->select(); if($number_tab){ $table['ludan'] = WaybillToning::createWaybill($number_tab); }else{ $table['ludan'] = array(); } $cur_number_tab = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id']))->order('id DESC')->find(); $table['number_tab_number'] = is_array($cur_number_tab) ? $cur_number_tab['number'] : 1; $table['number_tab_id'] = is_array($cur_number_tab) ? $cur_number_tab['id'] : 1; $table['previous_number_tab_id'] = 0; //查询当前用户是否有过下注 if($cur_number_tab['bet_status'] == 1 || $cur_number_tab['bet_status'] == 2){ $bet = Db::name($betTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id'], 'user_id' => $user_id))->find(); }else{ $bet = array(); } $table['bet_status'] = $cur_number_tab['bet_status']; if($bet){ $amountArray = result_to_array($bet['toning_amount']); $table['bet_amount_msg'] = $amountArray; } }else{ $table['boot_num'] = 1; $table['boot_id'] = 0; $table['number_tab_number'] = 1; $table['number_tab_id'] = 0; $table['previous_number_tab_id'] = 0; $table['zero_count'] = 0; $table['one_count'] = 0; $table['two_count'] = 0; $table['three_count'] = 0; $table['four_count'] = 0; $table['big_count'] = 0; $table['small_count'] = 0; $table['singular_count'] = 0; $table['plural_count'] = 0; $table['ludan'] = array(); $table['bet_status'] = 0; } } elseif($game_id == 7){ $boot = Db::name($bootTabTable)->where('table_id',$table['id'])->order('id DESC')->find(); $betAmountMsg = [ 'small' => 0, 'big' => 0, 'singular' => 0, 'plural' => 0, 'two_11' => 0, 'two_22' => 0, 'two_33' => 0, 'two_44' => 0, 'two_55' => 0, 'two_66' => 0, 'leopard' => 0, 'three_111' => 0, 'three_222' => 0, 'three_333' => 0, 'three_444' => 0, 'three_555' => 0, 'three_666' => 0, 'number_4' => 0, 'number_5' => 0, 'number_6' => 0, 'number_7' => 0, 'number_8' => 0, 'number_9' => 0, 'number_10' => 0, 'number_11' => 0, 'number_12' => 0, 'number_13' => 0, 'number_14' => 0, 'number_15' => 0, 'number_16' => 0, 'number_17' => 0, 'two_12' => 0, 'two_13' => 0, 'two_14' => 0, 'two_15' => 0, 'two_16' => 0, 'two_23' => 0, 'two_24' => 0, 'two_25' => 0, 'two_26' => 0, 'two_34' => 0, 'two_35' => 0, 'two_36' => 0, 'two_45' => 0, 'two_46' => 0, 'two_56' => 0, 'living_1' => 0, 'living_2' => 0, 'living_3' => 0, 'living_4' => 0, 'living_5' => 0, 'living_6' => 0, ]; $table['bet_amount_msg'] = $betAmountMsg; if($boot){ $table['boot_num'] = $boot['boot_num']; $table['boot_id'] = $boot['id']; $diceCountArray = dice_count_to_array($boot['dice_count']); $table['count'] = $diceCountArray; $number_tab = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id'=>$boot['id'],'bet_status'=>3))->order('start_time ASC,id ASC')->select(); if($number_tab){ //路单留空 $table['ludan'] = WaybillDice::createWaybill($number_tab); }else{ $table['ludan'] = array(); } $cur_number_tab = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id']))->order('id DESC')->find(); $table['number_tab_number'] = is_array($cur_number_tab) ? $cur_number_tab['number'] : 1; $table['number_tab_id'] = is_array($cur_number_tab) ? $cur_number_tab['id'] : 1; $table['previous_number_tab_id'] = 0; //查询当前用户是否有过下注 if($cur_number_tab['bet_status'] == 1 || $cur_number_tab['bet_status'] == 2){ $bet = Db::name($betTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id'], 'user_id' => $user_id))->find(); }else{ $bet = array(); } $table['bet_status'] = $cur_number_tab['bet_status']; if($bet){ $amountArray = result_to_array($bet['dice_amount']); $table['bet_amount_msg'] = $amountArray; } }else{ $table['boot_num'] = 1; $table['boot_id'] = 0; $table['number_tab_number'] = 1; $table['number_tab_id'] = 0; $table['previous_number_tab_id'] = 0; $table['count']['leopard_count'] = 0; $table['count']['small_count'] = 0; $table['count']['big_count'] = 0; $table['count']['singular_count'] = 0; $table['count']['plural_count'] = 0; $table['ludan'] = array(); $table['bet_status'] = 0; } } elseif($game_id == 8){ $boot = Db::name($bootTabTable)->where('table_id',$table['id'])->order('id DESC')->find(); $betAmountMsg = [ 'roulette_type' => '', 'amount' => [] ]; $table['bet_amount_msg'] = $betAmountMsg; if($boot){ $table['boot_num'] = $boot['boot_num']; $table['boot_id'] = $boot['id']; $rouletteCountArray = roulette_count_to_array($boot['roulette_count']); $table['count'] = $rouletteCountArray; $number_tab = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id'=>$boot['id'],'bet_status'=>3))->order('start_time ASC,id ASC')->select(); if($number_tab){ //路单留空 $table['ludan'] = WaybillRoulette::createWaybill($number_tab); }else{ $table['ludan'] = array(); } $cur_number_tab = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id']))->order('id DESC')->find(); $table['number_tab_number'] = is_array($cur_number_tab) ? $cur_number_tab['number'] : 1; $table['number_tab_id'] = is_array($cur_number_tab) ? $cur_number_tab['id'] : 1; $table['previous_number_tab_id'] = 0; //查询当前用户是否有过下注 if($cur_number_tab['bet_status'] == 1 || $cur_number_tab['bet_status'] == 2){ $bet = Db::name($betTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id'], 'user_id' => $user_id))->find(); }else{ $bet = array(); } $table['bet_status'] = $cur_number_tab['bet_status']; if($bet){ if($bet['roulette_european_amount']){ $table['bet_amount_msg']['roulette_type'] = 'european'; $table['bet_amount_msg']['amount'] = result_to_array($bet['roulette_european_amount']); } if($bet['roulette_french_amount']){ $table['bet_amount_msg']['roulette_type'] = 'french'; $table['bet_amount_msg']['amount'] = result_to_array($bet['roulette_french_amount']); } } }else{ $table['boot_num'] = 1; $table['boot_id'] = 0; $table['number_tab_number'] = 1; $table['number_tab_id'] = 0; $table['previous_number_tab_id'] = 0; $table['count']['low_count'] = 0; $table['count']['even_count'] = 0; $table['count']['odd_count'] = 0; $table['count']['red_count'] = 0; $table['count']['black_count'] = 0; $table['count']['zero_count'] = 0; $table['ludan'] = array(); $table['bet_status'] = 0; } } else{ $boot = Db::name($bootTabTable)->where('table_id',$table['id'])->order('id DESC')->find(); if($boot){ $table['bet_amount_msg']['banker_amount'] = 0; $table['bet_amount_msg']['player_amount'] = 0; $table['bet_amount_msg']['tie_amount'] = 0; $table['bet_amount_msg']['banker_pair_amount'] = 0; $table['bet_amount_msg']['player_pair_amount'] = 0; $table['boot_num'] = $boot['boot_num']; $table['playerCount'] = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'result' => 2))->count(); $table['tieCount'] = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'result' => 3))->count(); $table['bankerCount'] = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'result' => 1))->count(); if($game_id == 1){ $table['player_pair_Count'] = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'pair' => 2))->count(); $table['banker_pair_Count'] = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'pair' => 1))->count(); $all_pair = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'pair' => 3))->count(); $table['banker_pair_Count'] = $table['banker_pair_Count'] + $all_pair; $table['player_pair_Count'] = $table['player_pair_Count'] + $all_pair; } $number_tab = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'bet_status' => 3))->order('start_time ASC,id ASC')->select(); if($number_tab){ $number_tab_add_banker = $number_tab; $number_tab_add_player = $number_tab; $number_tab_add_banker[] = array('result' => 1, 'pair' => 0); $number_tab_add_player[] = array('result' => 2, 'pair' => 0); $table['ludan'] = waybill($number_tab); $table['ludan_banker'] = waybill($number_tab_add_banker); $table['ludan_player'] = waybill($number_tab_add_player); }else{ $table['ludan'] = array(); $table['ludan_banker'] = array(); $table['ludan_player'] = array(); } $cur_number_tab = Db::name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id']))->order('id DESC')->find(); $table['number_tab_number'] = is_array($cur_number_tab) ? $cur_number_tab['number'] : 1; $table['number_tab_id'] = is_array($cur_number_tab) ? $cur_number_tab['id'] : 0; if($table['number_tab_number'] <= 50){ $table['can_bet_luck_six'] = 1; } if($table['number_tab_number'] <= 30){ $table['can_bet_big_small'] = 1; } //查询当前用户是否有过下注 if($cur_number_tab['bet_status'] == 1 || $cur_number_tab['bet_status'] == 2){ $bet = Db::name($betTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id'], 'user_id' => $user_id))->find(); }else{ $bet = array(); } $table['bet_status'] = $cur_number_tab['bet_status']; if($bet){ $table['bet_amount_msg']['banker_amount'] = intval($bet['banker_amount']) > 0 ? intval($bet['banker_amount']) : 0; $table['bet_amount_msg']['player_amount'] = intval($bet['player_amount']) > 0 ? intval($bet['player_amount']) : 0; $table['bet_amount_msg']['tie_amount'] = intval($bet['tie_amount']) > 0 ? intval($bet['tie_amount']) : 0; if($table['game_id'] == 1){ $table['bet_amount_msg']['banker_pair_amount'] = intval($bet['banker_pair_amount']) > 0 ? intval($bet['banker_pair_amount']) : 0; $table['bet_amount_msg']['player_pair_amount'] = intval($bet['player_pair_amount']) > 0 ? intval($bet['player_pair_amount']) : 0; }else{ $table['bet_amount_msg']['banker_pair_amount'] = 0; $table['bet_amount_msg']['player_pair_amount'] = 0; } } //自动台返回牌型 if($table['is_scavenging'] == 1 && $cur_number_tab['bet_status'] == 2){ $card_info = getRedisCardByPosition($cur_number_tab['id']); if($card_info){ $table['card_info']['banker_1'] = $card_info['banker_1']; if($table['game_id'] == 1){ $table['card_info']['banker_2'] = $card_info['banker_2']; $table['card_info']['banker_3'] = $card_info['banker_3']; } $table['card_info']['player_1'] = $card_info['player_1']; if($table['game_id'] == 1){ $table['card_info']['player_2'] = $card_info['player_2']; $table['card_info']['player_3'] = $card_info['player_3']; } }else{ $table['card_info']['banker_1'] = 0; if($table['game_id'] == 1){ $table['card_info']['banker_2'] = 0; $table['card_info']['banker_3'] = 0; } $table['card_info']['player_1'] = 0; if($table['game_id'] == 1){ $table['card_info']['player_2'] = 0; $table['card_info']['player_3'] = 0; } } }else{ $table['card_info']['banker_1'] = 0; if($table['game_id'] == 1){ $table['card_info']['banker_2'] = 0; $table['card_info']['banker_3'] = 0; } $table['card_info']['player_1'] = 0; if($table['game_id'] == 1){ $table['card_info']['player_2'] = 0; $table['card_info']['player_3'] = 0; } } }else{ $table['bet_amount_msg']['banker_amount'] = 0; $table['bet_amount_msg']['player_amount'] = 0; $table['bet_amount_msg']['tie_amount'] = 0; $table['bet_amount_msg']['banker_pair_amount'] = 0; $table['bet_amount_msg']['player_pair_amount'] = 0; $table['boot_num'] = 1; $table['boot_id'] = 0; $table['number_tab_number'] = 1; $table['number_tab_id'] = 0; $table['previous_number_tab_id'] = 0; $table['playerCount'] = 0; $table['tieCount'] = 0; $table['bankerCount'] = 0; $table['ludan'] = array(); $table['ludan_banker'] = array(); $table['ludan_player'] = array(); $table['bet_status'] = 0; $table['can_bet_luck_six'] = 1; $table['can_bet_big_small'] = 1; } } $data = encrypt_data($table); return json(array('Success' => 1, 'Data' => $data)); }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } } else { return json(['Success' => 0, 'Msg' => '获取信息失败']); } } //今日最佳 public function optimum(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time())); $optimum = Db::name('optimum')->order('win_money desc')->select(); $optimum = encrypt_data($optimum); return json(array('Success' => 1, 'Data' => $optimum)); }else{ return json(array('Success' => 1, 'Data' => encrypt_data([]))); // return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } } //游戏记录 public function get_user_bets(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ // 语言包 $langList = ['tw' => 'zh-tw.php','en' => 'en-us.php']; $langType = empty($json_arr['language']) ? 'cn' : $json_arr['language']; $langFile = empty($langList[$langType]) ? 'en-us.php' : $langList[$langType]; $langFile = ROOT_PATH.'thinkphp/lang/'.$langFile; Lang::load($langFile); $lang = Lang::get(); $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $game_id = intval($json_arr['game_id']); $time_interval = intval($json_arr['time_interval']); $page = intval($json_arr['page']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token && $game_id > 0 && $time_interval > 0 && $page > 0){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time())); if($time_interval == 1){ $startTime = mktime(0,0,0,date('m'),date('d'),date('Y')); $endTime = mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; }elseif($time_interval == 2){ $startTime = mktime(0,0,0,date('m'),date('d')-1,date('Y')); $endTime = mktime(0,0,0,date('m'),date('d'),date('Y'))-1; }elseif($time_interval == 3){ $startTime = mktime(0,0,0,date("m"),date("d")-date("w")+1,date("Y")); $endTime = mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y")); } $betWhere = array(); $betWhere['create_time'] = array('between',[$startTime,$endTime]); $betWhere['user_id'] = $user_id; $betWhere['game_id'] = $game_id; $betWhere['status'] = array('>',0); $page_list = 15; if($page > 1){ $limie_start = ($page - 1) * $page_list; }else{ $limie_start = 0; } if($game_id > 0){ $bet = Db::name('bet')->where($betWhere)->order('id desc')->limit($limie_start,$page_list)->select(); $bet_num = Db::name('bet')->where($betWhere)->order('id desc')->count(); }else{ return json(['Success'=>0,'msg'=>'retreated_fail_6']); } $page_num = ceil($bet_num/$page_list); //组装注单信息 $newBet = array(); $data = array(); $user_bets = array(); $bet_list_amount = 0; $bet_list_wintotal = 0; foreach ($bet as $k => $v){ $v['create_time'] = date('Y-m-d H:i:s',$v['create_time']); $v['game_num'] = $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($number_info['result'] == 1){ $result = $lang['banker']; }elseif($number_info['result'] == 2){ $result = $lang['player']; }elseif($number_info['result'] == 3){ $result = $lang['tie']; }else{ $result = '-'; } if($number_info['pair'] == 1){ $pair = ','.$lang['banker_pair']; }elseif($number_info['pair'] == 2){ $pair = ','.$lang['player_pair']; }elseif($number_info['pair'] == 3){ $pair = ','.$lang['both_pair']; }else{ $pair = ''; } if($number_info['luck_six'] > 1){ $luck_six = ','.$lang['luck_6']; }else{ $luck_six = ''; } if($number_info['big_small'] == 1){ $big_small = ','.$lang['big']; }elseif($number_info['big_small'] == 2){ $big_small = ','.$lang['small']; }else{ $big_small = ''; } $v['card_result'] = $result.$pair.$luck_six.$big_small; }else{ $v['card_result'] = '-'; } if($v['status'] == 2){ $v['card_result'] = $lang['void']; } $data['game_num'] = $v['game_num']; $data['table_name'] = $v['table_name'].'('.$v['boot_num'].'/'.$v['number'].')'; $data['card_result'] = $v['card_result']; $data['user_bet'] = ''; if($v['banker_amount'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['banker'].'('.$v['banker_amount'].')'; } if($v['player_amount'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['player'].'('.$v['player_amount'].')'; } if($v['tie_amount'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['tie'].'('.$v['tie_amount'].')'; } if($v['banker_pair_amount'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['banker_pair'].'('.$v['banker_pair_amount'].')'; } if($v['player_pair_amount'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['player_pair'].'('.$v['player_pair_amount'].')'; } if($v['luck_six_amount'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['luck_6'].'('.$v['luck_six_amount'].')'; } if($v['big_amount'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['big'].'('.$v['big_amount'].')'; } if($v['small_amount'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['small'].'('.$v['small_amount'].')'; } if($v['baccarat_type'] == 1){ $data['user_bet'] = $data['user_bet'].'('.$lang['free_commission'].')'; }else{ $data['user_bet'] = $data['user_bet'].'('.$lang['commission'].')'; } // 码量 $data['create_time'] = $v['create_time']; $data['money_before_bet'] = $v['money_before_bet']; $data['amount'] = $v['amount']; $data['win_total'] = $v['win_total']; $data['ximaliang'] = Db::name('xima')->where(array('game_id'=>$v['game_id'],'table_id'=>$v['table_id'],'bet_id'=>$v['id'],'user_id'=>$v['user_id'],'bet_user_id'=>$v['user_id']))->sum('ximaliang'); $data['ximalv'] = Db::name('xima')->where(array('game_id'=>$v['game_id'],'table_id'=>$v['table_id'],'bet_id'=>$v['id'],'user_id'=>$v['user_id'],'bet_user_id'=>$v['user_id']))->value('ximalv'); if(empty($data['ximaliang'])){ $data['ximalv'] = Db::name('user')->where(array('id'=>$v['user_id']))->value('agent_ximalv'); } $data['maliang'] = Db::name('xima')->where(['game_id'=>$v['game_id'],'table_id'=>$v['table_id'],'bet_id'=>$v['id'],'user_id'=>$v['user_id'],'bet_user_id'=>$v['user_id']])->sum('net_maliang'); $newBet[] = $data; $bet_list_amount = $bet_list_amount + $v['amount']; $bet_list_wintotal = $bet_list_wintotal + $v['win_total']; } if($game_id == 2){ $number_info = Db::name('number_tab')->where('id',$v['number_tab_id'])->find(); if($number_info['bet_status'] == 3){ if($number_info['result'] == 1){ $result = $lang['dragon']; }elseif($number_info['result'] == 2){ $result = $lang['tiger']; }elseif($number_info['result'] == 3){ $result = $lang['tie']; }else{ $result = '-'; } $v['card_result'] = $result; }else{ $v['card_result'] = '-'; } if($v['status'] == 2){ $v['card_result'] = $lang['void']; } $data['game_num'] = $v['game_num']; $data['table_name'] = $v['table_name'].'('.$v['boot_num'].'/'.$v['number'].')'; $data['card_result'] = $v['card_result']; $data['user_bet'] = ''; if($v['banker_amount'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['dragon'].'('.$v['banker_amount'].')'; } if($v['player_amount'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['tiger'].'('.$v['player_amount'].')'; } if($v['tie_amount'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['tie'].'('.$v['tie_amount'].')'; } $data['create_time'] = $v['create_time']; $data['money_before_bet'] = $v['money_before_bet']; $data['amount'] = $v['amount']; $data['win_total'] = $v['win_total']; $data['ximaliang'] = Db::name('xima')->where(array('game_id'=>$v['game_id'],'table_id'=>$v['table_id'],'bet_id'=>$v['id'],'user_id'=>$v['user_id'],'bet_user_id'=>$v['user_id']))->sum('ximaliang'); $data['ximalv'] = Db::name('xima')->where(array('game_id'=>$v['game_id'],'table_id'=>$v['table_id'],'bet_id'=>$v['id'],'user_id'=>$v['user_id'],'bet_user_id'=>$v['user_id']))->value('ximalv'); if(empty($data['ximaliang'])){ $data['ximalv'] = Db::name('user')->where(array('id'=>$v['user_id']))->value('agent_ximalv_dt'); } $data['maliang'] = Db::name('xima')->where(['game_id'=>$v['game_id'],'table_id'=>$v['table_id'],'bet_id'=>$v['id'],'user_id'=>$v['user_id'],'bet_user_id'=>$v['user_id']])->sum('net_maliang'); $newBet[] = $data; $bet_list_amount = $bet_list_amount + $v['amount']; $bet_list_wintotal = $bet_list_wintotal + $v['win_total']; } if($game_id == 4){ $number_info = Db::name('number_tab')->where('id',$v['number_tab_id'])->find(); if($number_info['bet_status'] == 3){ $result = ''; if($v['win_player_1'] == 0 && $v['win_player_2'] == 0 && $v['win_player_3'] == 0){ $result .= $lang['banker']." "; } if($v['win_player_1'] == 1){ $result .= $lang['player_1']." "; } if($v['win_player_2'] == 1){ $result .= $lang['player_2']." "; } if($v['win_player_3'] == 1){ $result .= $lang['player_3']." "; } $result.= '('; $result.= $lang['player_1'].interchange_nn($v['result_player_1'],$lang).' '; $result.= $lang['player_2'].interchange_nn($v['result_player_2'],$lang).' '; $result.= $lang['player_3'].interchange_nn($v['result_player_3'],$lang).' '; $result.= $lang['banker'].interchange_nn($v['result_banker'],$lang).' '; $result.= ')'; $v['card_result'] = trim($result,','); }else{ $v['card_result'] = '-'; } if($v['status'] == 2){ $v['card_result'] = $lang['void']; } $data['game_num'] = $v['game_num']; $data['table_name'] = $v['table_name'].'('.$v['boot_num'].'/'.$v['number'].')'; $data['card_result'] = $v['card_result']; $data['user_bet'] = ''; $data['number_is_rob'] = 0; if($v['amount_player_1'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['player_1_flat'].'('.$v['amount_player_1'].')'; } if($v['amount_player_1_times'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['player_1_double'].'('.$v['amount_player_1_times'].')'; } if($v['amount_player_1_banker'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['banker_player_1_flat'].'('.$v['amount_player_1_banker'].')'; } if($v['amount_player_1_banker_times'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['banker_player_1_double'].'('.$v['amount_player_1_banker_times'].')'; } if($v['amount_player_2'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['player_2_flat'].'('.$v['amount_player_2'].')'; } if($v['amount_player_2_times'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['player_2_double'].'('.$v['amount_player_2_times'].')'; } if($v['amount_player_2_banker'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['banker_player_2_flat'].'('.$v['amount_player_2_banker'].')'; } if($v['amount_player_2_banker_times'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['banker_player_2_double'].'('.$v['amount_player_2_banker_times'].')'; } if($v['amount_player_3'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['player_3_flat'].'('.$v['amount_player_3'].')'; } if($v['amount_player_3_times'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['player_3_double'].'('.$v['amount_player_3_times'].')'; } if($v['amount_player_3_banker'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['banker_player_3_flat'].'('.$v['amount_player_3_banker'].')'; } if($v['amount_player_3_banker_times'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['banker_player_3_double'].'('.$v['amount_player_3_banker_times'].')'; } if($number_info['rob_banker_id'] == $user_id){ $data['user_bet'] = $lang['round_host']; $data['number_is_rob'] = 1; } $data['amount'] = $v['amount_player_1'] + $v['amount_player_1_times'] + $v['amount_player_1_banker'] + $v['amount_player_1_banker_times']; $data['amount'] += $v['amount_player_2'] + $v['amount_player_2_times'] + $v['amount_player_2_banker'] + $v['amount_player_2_banker_times']; $data['amount'] += $v['amount_player_3'] + $v['amount_player_3_times'] + $v['amount_player_3_banker'] + $v['amount_player_3_banker_times']; $data['create_time'] = $v['create_time']; $data['money_before_bet'] = $v['money_before_bet']; $data['win_total'] = $v['win_total']; $data['number_tab_id'] = $v['number_tab_id']; $data['ximaliang'] = Db::name('xima')->where(array('game_id'=>$v['game_id'],'table_id'=>$v['table_id'],'bet_id'=>$v['id'],'user_id'=>$v['user_id'],'bet_user_id'=>$v['user_id']))->sum('ximaliang'); $data['ximalv'] = Db::name('xima')->where(array('game_id'=>$v['game_id'],'table_id'=>$v['table_id'],'bet_id'=>$v['id'],'user_id'=>$v['user_id'],'bet_user_id'=>$v['user_id']))->value('ximalv'); if(empty($data['ximaliang'])){ $data['ximalv'] = Db::name('user')->where(array('id'=>$v['user_id']))->value('agent_ximalv_nn'); } $data['maliang'] = Db::name('xima')->where(['game_id'=>$v['game_id'],'table_id'=>$v['table_id'],'bet_id'=>$v['id'],'user_id'=>$v['user_id'],'bet_user_id'=>$v['user_id']])->sum('net_maliang'); $newBet[] = $data; $bet_list_amount = $bet_list_amount + $v['amount']; $bet_list_wintotal = $bet_list_wintotal + $v['win_total']; } if($game_id == 5){ $number_info = Db::name('number_tab')->where('id',$v['number_tab_id'])->find(); if($number_info['bet_status'] == 3){ $result = ''; if($v['win_player_1'] == 0 && $v['win_player_2'] == 0 && $v['win_player_3'] == 0){ $result .= $lang['banker']." "; } if($v['win_player_1'] == 1){ $result .= $lang['player_1']." "; } if($v['win_player_2'] == 1){ $result .= $lang['player_2']." "; } if($v['win_player_3'] == 1){ $result .= $lang['player_3']." "; } $result.= '('; $result.= $lang['player_1'].interchange_nn($v['result_player_1'],$lang).' '; $result.= $lang['player_2'].interchange_nn($v['result_player_2'],$lang).' '; $result.= $lang['player_3'].interchange_nn($v['result_player_3'],$lang).' '; $result.= $lang['banker'].interchange_nn($v['result_banker'],$lang).' '; $result.= ')'; $v['card_result'] = trim($result,','); }else{ $v['card_result'] = '-'; } $data['game_num'] = $v['game_num']; $data['table_name'] = $v['table_name'].'('.$v['boot_num'].'/'.$v['number'].')'; $data['card_result'] = $v['card_result']; $data['user_bet'] = ''; $data['number_is_rob'] = 0; if($v['amount_player_1'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['player_1_flat'].'('.$v['amount_player_1'].')'; } if($v['amount_player_1_times'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['player_1_double'].'('.$v['amount_player_1_times'].')'; } if($v['amount_player_1_banker'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['banker_player_1_flat'].'('.$v['amount_player_1_banker'].')'; } if($v['amount_player_1_banker_times'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['banker_player_1_double'].'('.$v['amount_player_1_banker_times'].')'; } if($v['amount_player_2'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['player_2_flat'].'('.$v['amount_player_2'].')'; } if($v['amount_player_2_times'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['player_2_double'].'('.$v['amount_player_2_times'].')'; } if($v['amount_player_2_banker'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['banker_player_2_flat'].'('.$v['amount_player_2_banker'].')'; } if($v['amount_player_2_banker_times'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['banker_player_2_double'].'('.$v['amount_player_2_banker_times'].')'; } if($v['amount_player_3'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['player_3_flat'].'('.$v['amount_player_3'].')'; } if($v['amount_player_3_times'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['player_3_double'].'('.$v['amount_player_3_times'].')'; } if($v['amount_player_3_banker'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['banker_player_3_flat'].'('.$v['amount_player_3_banker'].')'; } if($v['amount_player_3_banker_times'] > 0){ $data['user_bet'] = $data['user_bet'].$lang['banker_player_3_double'].'('.$v['amount_player_3_banker_times'].')'; } if($number_info['rob_banker_id'] == $user_id){ $data['user_bet'] = $lang['round_host']; $data['number_is_rob'] = 1; } $data['amount'] = $v['amount_player_1'] + $v['amount_player_1_times'] + $v['amount_player_1_banker'] + $v['amount_player_1_banker_times']; $data['amount'] += $v['amount_player_2'] + $v['amount_player_2_times'] + $v['amount_player_2_banker'] + $v['amount_player_2_banker_times']; $data['amount'] += $v['amount_player_3'] + $v['amount_player_3_times'] + $v['amount_player_3_banker'] + $v['amount_player_3_banker_times']; $data['create_time'] = $v['create_time']; $data['money_before_bet'] = $v['money_before_bet']; $data['win_total'] = $v['win_total']; $data['number_tab_id'] = $v['number_tab_id']; $data['ximaliang'] = Db::name('xima')->where(array('game_id'=>$v['game_id'],'table_id'=>$v['table_id'],'bet_id'=>$v['id'],'user_id'=>$v['user_id'],'bet_user_id'=>$v['user_id']))->sum('ximaliang'); $data['ximalv'] = Db::name('xima')->where(array('game_id'=>$v['game_id'],'table_id'=>$v['table_id'],'bet_id'=>$v['id'],'user_id'=>$v['user_id'],'bet_user_id'=>$v['user_id']))->value('ximalv'); if(empty($data['ximaliang'])){ $data['ximalv'] = Db::name('user')->where(array('id'=>$v['user_id']))->value('agent_ximalv_tc'); } $data['maliang'] = Db::name('xima')->where(['game_id'=>$v['game_id'],'table_id'=>$v['table_id'],'bet_id'=>$v['id'],'user_id'=>$v['user_id'],'bet_user_id'=>$v['user_id']])->sum('net_maliang'); $newBet[] = $data; $bet_list_amount = $bet_list_amount + $v['amount']; $bet_list_wintotal = $bet_list_wintotal + $v['win_total']; } if($game_id == 6){ $number_info = Db::name('number_tab')->where('id',$v['number_tab_id'])->find(); if($number_info['bet_status'] == 3){ $result = $lang['toning_result_'.$number_info['toning_result']] ? $lang['toning_result_'.$number_info['toning_result']] : '-'; $v['card_result'] = $result; }else{ $v['card_result'] = '-'; } if($v['status'] == 2){ $v['card_result'] = $lang['void']; } $data['game_num'] = $v['game_num']; $data['table_name'] = $v['table_name'].'('.$v['boot_num'].'/'.$v['number'].')'; $data['card_result'] = $v['card_result']; $data['user_bet'] = ''; $toning_result = result_to_array($v['toning_amount']); foreach ($toning_result as $zone => $zone_money){ if($zone_money > 0){ $data['user_bet'] = $data['user_bet'].$lang[$zone].'('.$zone_money.')'; } } $data['create_time'] = $v['create_time']; $data['money_before_bet'] = $v['money_before_bet']; $data['amount'] = $v['amount']; $data['win_total'] = $v['win_total']; $data['ximaliang'] = 0; $data['ximalv'] = 0; $data['maliang'] = 0; $newBet[] = $data; $bet_list_amount = $bet_list_amount + $v['amount']; $bet_list_wintotal = $bet_list_wintotal + $v['win_total']; } if($game_id == 7){ $number_info = Db::name('number_tab')->where('id',$v['number_tab_id'])->find(); if($number_info['bet_status'] == 3){ $v['card_result'] = $number_info['dice_result'] ? $number_info['dice_result'] : '-'; }else{ $v['card_result'] = '-'; } if($v['status'] == 2){ $v['card_result'] = $lang['void']; } $data['game_num'] = $v['game_num']; $data['table_name'] = $v['table_name'].'('.$v['boot_num'].'/'.$v['number'].')'; $data['card_result'] = $v['card_result']; $data['user_bet'] = ''; $dice_result = result_to_array($v['dice_amount']); foreach ($dice_result as $zone => $zone_money){ if($zone_money > 0){ $data['user_bet'] = $data['user_bet'].$lang['dice_'.$zone].'('.$zone_money.')'; } } $data['create_time'] = $v['create_time']; $data['money_before_bet'] = $v['money_before_bet']; $data['amount'] = $v['amount']; $data['win_total'] = $v['win_total']; $data['ximaliang'] = 0; $data['ximalv'] = 0; $data['maliang'] = 0; $newBet[] = $data; $bet_list_amount = $bet_list_amount + $v['amount']; $bet_list_wintotal = $bet_list_wintotal + $v['win_total']; } if($game_id == 8) { $number_info = Db::name('number_tab')->where('id',$v['number_tab_id'])->find(); if($number_info['bet_status'] == 3){ $v['card_result'] = $number_info['roulette_result'] ? $number_info['roulette_result'] : '-'; }else{ $v['card_result'] = '-'; } if($v['status'] == 2){ $v['card_result'] = $lang['void']; } $data['game_num'] = $v['game_num']; $data['table_name'] = $v['table_name'].'('.$v['boot_num'].'/'.$v['number'].')'; $data['card_result'] = $v['card_result']; $data['user_bet'] = ''; if($v['roulette_european_amount']){ $roulette_result = result_to_array($v['roulette_european_amount']); foreach ($roulette_result as $zone => $zone_money){ if($zone_money > 0){ if(in_array($zone,['low','high','odd','even','red','black','column_1','column_2','column_3','dozen_1','dozen_2','dozen_3'])){ $data['user_bet'] = $data['user_bet'].$lang['roulette_'.$zone].'('.$zone_money.')'; }else{ $keyArray = explode("_", $zone); $data['user_bet'] = $data['user_bet'].$lang['roulette_'.$keyArray[0]].'['.$keyArray[1].']'.'('.$zone_money.')'; } } } $data['user_bet'] = $lang['european'].':'.$data['user_bet']; } if($v['roulette_french_amount']){ $roulette_result = result_to_array($v['roulette_french_amount']); foreach ($roulette_result as $zone => $zone_money){ if($zone_money > 0){ if(in_array($zone,['zeroGame','neighborsOfZero','orphans','theThird'])){ $zone = strtolower($zone); $data['user_bet'] = $data['user_bet'].$lang['roulette_'.$zone].'('.$zone_money.')'; }else{ $keyArray = explode("_", $zone); $data['user_bet'] = $data['user_bet'].$lang['roulette_'.$keyArray[0]].'['.$keyArray[1].']'.'('.$zone_money.')'; } } } $data['user_bet'] = $lang['french'].':'.$data['user_bet']; } $data['create_time'] = $v['create_time']; $data['money_before_bet'] = $v['money_before_bet']; $data['amount'] = $v['amount']; $data['win_total'] = $v['win_total']; $data['ximaliang'] = 0; $data['ximalv'] = 0; $data['maliang'] = 0; $newBet[] = $data; $bet_list_amount = $bet_list_amount + $v['amount']; $bet_list_wintotal = $bet_list_wintotal + $v['win_total']; } } // 重新赋值 $user_bets['bet_info'] = $newBet; $user_bets['bet_num'] = $bet_num; $user_bets['page_num'] = $page_num; $user_bets['bet_list_amount'] = $bet_list_amount; $user_bets['bet_list_wintotal'] = $bet_list_wintotal; // return json($user_bets); $bet = encrypt_data($user_bets); return json(array('Success' => 1, 'Data' => $bet)); }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } } } //上下分记录 public function recharge_record(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $mode = intval($json_arr['mode']); $time_interval = intval($json_arr['time_interval']); $page = intval($json_arr['page']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token && $mode > 0 && $time_interval > 0 && $page > 0){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time())); if($time_interval == 1){ $startTime = mktime(0,0,0,date('m'),date('d'),date('Y')); $endTime = mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; }elseif($time_interval == 2){ $startTime = mktime(0,0,0,date('m'),date('d')-1,date('Y')); $endTime = mktime(0,0,0,date('m'),date('d'),date('Y'))-1; }elseif($time_interval == 3){ $startTime = mktime(0,0,0,date("m"),date("d")-date("w")+1,date("Y")); $endTime = mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y")); } $betWhere = array(); $betWhere['create_time'] = array('between',[$startTime,$endTime]); $betWhere['user_id'] = $user_id; $betWhere['mode'] = $mode; $page_list = 15; if($page > 1){ $limie_start = $page * $page_list -1; }else{ $limie_start = 0; } $recharge = Db::name('recharge')->where($betWhere)->field('id,mode,create_time,old_money,new_money,amount')->order('id desc')->limit($limie_start,$page_list)->select(); $recharge_num = Db::name('recharge')->where($betWhere)->count(); $page_num = ceil($recharge_num/$page_list); //组装注单信息 $recharge_record = array(); $recharge_amount = 0; foreach ($recharge as $k => $v) { $v['create_time'] = date('Y-m-d H:i:s',$v['create_time']); if($v['mode'] == 1){ $v['mode'] = '上分'; }elseif($v['mode'] == 2){ $v['mode'] = '下分'; } $recharge_amount = $recharge_amount + $v['amount']; $recharge[$k] = $v; } $recharge_record['recharge'] = $recharge; $recharge_record['recharge_num'] = $recharge_num; $recharge_record['page_num'] = $page_num; $recharge_record['recharge_amount'] = $recharge_amount; $recharge_record = encrypt_data($recharge_record); return json(array('Success' => 1, 'Data' => $recharge_record)); }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } } //上下分记录 public function tip_record(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $time_interval = intval($json_arr['time_interval']); $page = intval($json_arr['page']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token && $time_interval > 0 && $page > 0){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time())); if($time_interval == 1){ $startTime = mktime(0,0,0,date('m'),date('d'),date('Y')); $endTime = mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; }elseif($time_interval == 2){ $startTime = mktime(0,0,0,date('m'),date('d')-1,date('Y')); $endTime = mktime(0,0,0,date('m'),date('d'),date('Y'))-1; }elseif($time_interval == 3){ $startTime = mktime(0,0,0,date("m"),date("d")-date("w")+1,date("Y")); $endTime = mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y")); } $betWhere = array(); $betWhere['create_time'] = array('between',[$startTime,$endTime]); $betWhere['user_id'] = $user_id; $page_list = 15; if($page > 1){ $limie_start = $page * $page_list -1; }else{ $limie_start = 0; } $tip = Db::name('tip')->where($betWhere)->order('id desc')->limit($limie_start,$page_list)->select(); $tip_num = Db::name('tip')->where($betWhere)->count(); $page_num = ceil($tip_num/$page_list); //组装注单信息 $tip_record = array(); $tip_amount = 0; foreach ($tip as $k => $v) { $v['create_time'] = date('Y-m-d H:i:s',$v['create_time']); $tip_amount = $tip_amount + $v['money']; $tip[$k] = $v; } $tip_record['tip'] = $tip; $tip_record['tip_num'] = $tip_num; $tip_record['page_num'] = $page_num; $tip_record['tip_amount'] = $tip_amount; $tip_record = encrypt_data($tip_record); return json(array('Success' => 1, 'Data' => $tip_record)); }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } } //开结果后获取会员的下注信息及计算其输赢数目 public function user_bet_baccarat(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ // 语言包 $langList = ['tw' => 'zh-tw.php','en' => 'en-us.php']; $langType = empty($json_arr['language']) ? 'cn' : $json_arr['language']; $langFile = empty($langList[$langType]) ? 'en-us.php' : $langList[$langType]; $langFile = ROOT_PATH.'thinkphp/lang/'.$langFile; Lang::load($langFile); $lang = Lang::get(); $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $number_tab_id = intval($json_arr['number_tab_id']); $table_id = intval($json_arr['table_id']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token && $number_tab_id > 0 && $table_id > 0){ //更新session $betArray = Db::name('bet')->where(array('user_id' => $user_id, 'table_id' => $table_id, 'number_tab_id' => $number_tab_id, 'status' => 1))->order('`id` ASC')->find(); $priceArray = Db::name('user')->where(array('id' => $user_id))->field(array('price_banker','price_player','price_tie_baccarat','price_pair','price_luck_six_2','price_luck_six_3','price_big','price_small'))->find(); if($betArray){ $number_table = Db::name('number_tab')->where(array('id' => $number_tab_id))->field(array('result','pair','luck_six','big_small'))->find(); $luck_six = $number_table['luck_six']; $result = $number_table['result']; $pair = $number_table['pair']; $big_small = $number_table['big_small']; $returnArray = array(); $banker_amount = $betArray['banker_amount']; $player_amount = $betArray['player_amount']; $tie_amount = $betArray['tie_amount']; $banker_pair_amount = $betArray['banker_pair_amount']; $player_pair_amount = $betArray['player_pair_amount']; $luck_six_amount = $betArray['luck_six_amount']; $big_amount = $betArray['big_amount']; $small_amount = $betArray['small_amount']; $b_multiple = $priceArray['price_banker']; $p_multiple = $priceArray['price_player']; $t_multiple = $priceArray['price_tie_baccarat']; $pp_multiple = $priceArray['price_pair']; $price_luck_six_2_pp_multiple = $priceArray['price_luck_six_2']; $price_luck_six_3_pp_multiple = $priceArray['price_luck_six_3']; $price_big_multiple = $priceArray['price_big']; $price_small_multiple = $priceArray['price_small']; $win_total = 0; if($banker_amount > 0){ if($result == 1){ if ($betArray['baccarat_type'] == 1){ if ($number_table['luck_six'] > 0){ $returnArray[] = array('name' => $lang['banker_full'], 'amount' => $banker_amount, 'win_amount' => round($banker_amount * 0.5,2)); } else { $returnArray[] = array('name' => $lang['banker_full'], 'amount' => $banker_amount, 'win_amount' => round($banker_amount * 1,2)); } } else { $returnArray[] = array('name' => $lang['banker_full'], 'amount' => $banker_amount, 'win_amount' => round($banker_amount * $b_multiple,2)); } }elseif($result == 3){ $returnArray[] = array('name' => $lang['banker_full'], 'amount' => $banker_amount, 'win_amount' => 0); }else{ $returnArray[] = array('name' => $lang['banker_full'], 'amount' => $banker_amount, 'win_amount' => to_number($banker_amount)); } }else{ $returnArray[] = array('name' => $lang['banker_full'], 'amount' => 0, 'win_amount' => 0); } if($player_amount > 0){ if($result == 2){ $returnArray[] = array('name' => $lang['player_full'], 'amount' => $player_amount, 'win_amount' => round($player_amount * $p_multiple,2)); }elseif($result == 3){ $returnArray[] = array('name' => $lang['player_full'], 'amount' => $player_amount, 'win_amount' => 0); }else{ $returnArray[] = array('name' => $lang['player_full'], 'amount' => $player_amount, 'win_amount' => to_number($player_amount)); } }else{ $returnArray[] = array('name' => $lang['player_full'], 'amount' => 0, 'win_amount' => 0); } if($tie_amount > 0){ if($result == 3){ $returnArray[] = array('name' => $lang['tie_full'], 'amount' => $tie_amount, 'win_amount' => round($tie_amount * $t_multiple,2)); }else{ $returnArray[] = array('name' => $lang['tie_full'], 'amount' => $tie_amount, 'win_amount' => to_number($tie_amount)); } }else{ $returnArray[] = array('name' => $lang['tie_full'], 'amount' => 0, 'win_amount' => 0); } if($banker_pair_amount > 0){ if($pair == 1 || $pair == 3){ $returnArray[] = array('name' => $lang['banker_pair_full'], 'amount' => $banker_pair_amount, 'win_amount' => round($banker_pair_amount * $pp_multiple,2)); }else{ $returnArray[] = array('name' => $lang['banker_pair_full'], 'amount' => $banker_pair_amount, 'win_amount' => to_number($banker_pair_amount)); } }else{ $returnArray[] = array('name' => $lang['banker_pair_full'], 'amount' => 0, 'win_amount' => 0); } if($player_pair_amount > 0){ if($pair == 2 || $pair == 3){ $returnArray[] = array('name' => $lang['banker_pair_full'], 'amount' => $player_pair_amount, 'win_amount' => round($player_pair_amount * $pp_multiple,2)); }else{ $returnArray[] = array('name' => $lang['banker_pair_full'], 'amount' => $player_pair_amount, 'win_amount' => to_number($player_pair_amount)); } }else{ $returnArray[] = array('name' => $lang['banker_pair_full'], 'amount' => 0, 'win_amount' => 0); } // 幸运6 if ($luck_six_amount > 0){ if($luck_six == 2 || $luck_six == 3){ if ($luck_six == 2){ $returnArray[] = array('name' => $lang['luck_6'], 'amount' => $luck_six_amount, 'win_amount' => round($luck_six_amount * $price_luck_six_2_pp_multiple,2)); } else { $returnArray[] = array('name' => $lang['luck_6'], 'amount' => $luck_six_amount, 'win_amount' => round($luck_six_amount * $price_luck_six_3_pp_multiple,2)); } }else{ $returnArray[] = array('name' => $lang['luck_6'], 'amount' => $luck_six_amount, 'win_amount' => to_number($luck_six_amount)); } } else { $returnArray[] = array('name' => $lang['luck_6'], 'amount' => 0, 'win_amount' => 0); } // 大 if ($big_amount > 0){ if($big_small == 1){ $returnArray[] = array('name' => $lang['big'], 'amount' => $big_amount, 'win_amount' => round($big_amount * $price_big_multiple,2)); }else{ $returnArray[] = array('name' => $lang['big'], 'amount' => $big_amount, 'win_amount' => to_number($big_amount)); } } else { $returnArray[] = array('name' => $lang['big'], 'amount' => 0, 'win_amount' => 0); } // 小 if ($small_amount > 0){ if($big_small == 2){ $returnArray[] = array('name' => $lang['small'], 'amount' => $small_amount, 'win_amount' => round($small_amount * $price_small_multiple,2)); }else{ $returnArray[] = array('name' => $lang['small'], 'amount' => $small_amount, 'win_amount' => to_number($small_amount)); } } else { $returnArray[] = array('name' => $lang['small'], 'amount' => 0, 'win_amount' => 0); } foreach($returnArray AS $k => $v){ $win_total = $v['win_amount'] + $win_total; } $jsonData = array('win_total' => $win_total, 'returnData' => $returnArray); $data = encrypt_data($jsonData); return json(['Success' => 1, 'Data' => $data]); }else{ return json(['Success' => 0, 'Msg' => '没有下注数据']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } } } //开结果后获取会员的下注信息及计算其输赢数目 public function user_bet_dt(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ // 语言包 $langList = ['tw' => 'zh-tw.php','en' => 'en-us.php']; $langType = empty($json_arr['language']) ? 'cn' : $json_arr['language']; $langFile = empty($langList[$langType]) ? 'en-us.php' : $langList[$langType]; $langFile = ROOT_PATH.'thinkphp/lang/'.$langFile; Lang::load($langFile); $lang = Lang::get(); $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $number_tab_id = intval($json_arr['number_tab_id']); $table_id = intval($json_arr['table_id']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token && $number_tab_id > 0 && $table_id > 0){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time(), 'table_id' => $table_id)); $betArray = Db::name('bet')->where(array('user_id' => $user_id, 'table_id' => $table_id, 'number_tab_id' => $number_tab_id, 'status' => 1))->order('`id` ASC')->find(); $priceArray = Db::name('user')->where(array('id' => $user_id))->field(array('price_dragon','price_tiger','price_tie_dt'))->find(); if($betArray){ $number_table = Db::name('number_tab')->where(array('id' => $number_tab_id))->field(array('result'))->find(); $result = $number_table['result']; $returnArray = array(); $banker_amount = $betArray['banker_amount']; $player_amount = $betArray['player_amount']; $tie_amount = $betArray['tie_amount']; $win_total = 0; if($banker_amount > 0){ if($result == 1){ $returnArray[] = array('name' => $lang['dragon_full'], 'amount' => $banker_amount, 'win_amount' => round($banker_amount * $priceArray['price_dragon'],2)); }elseif($result == 3){ if(DT_HALF == 1){ $returnArray[] = array('name' => $lang['dragon_full'], 'amount' => $banker_amount, 'win_amount' => to_number($banker_amount / 2,2)); }else{ $returnArray[] = array('name' => $lang['dragon_full'], 'amount' => $banker_amount, 'win_amount' => 0); } }else{ $returnArray[] = array('name' => $lang['dragon_full'], 'amount' => $banker_amount, 'win_amount' => to_number($banker_amount)); } }else{ $returnArray[] = array('name' => $lang['dragon_full'], 'amount' => 0, 'win_amount' => 0); } if($tie_amount > 0){ if($result == 3){ $returnArray[] = array('name' => $lang['tie_full'], 'amount' => $tie_amount, 'win_amount' => round($tie_amount * $priceArray['price_tie_dt'],2)); }else{ $returnArray[] = array('name' => $lang['tie_full'], 'amount' => $tie_amount, 'win_amount' => to_number($tie_amount)); } }else{ $returnArray[] = array('name' => $lang['tie_full'], 'amount' => 0, 'win_amount' => 0); } if($player_amount > 0){ if($result == 2){ $returnArray[] = array('name' => $lang['tiger_full'], 'amount' => $player_amount, 'win_amount' => round($player_amount * $priceArray['price_tiger'],2)); }elseif($result == 3){ if(DT_HALF == 1){ $returnArray[] = array('name' => $lang['tiger_full'], 'amount' => $player_amount, 'win_amount' => to_number($player_amount / 2,2)); }else{ $returnArray[] = array('name' => $lang['tiger_full'], 'amount' => $player_amount, 'win_amount' => 0); } }else{ $returnArray[] = array('name' => $lang['tiger_full'], 'amount' => $player_amount, 'win_amount' => to_number($player_amount)); } }else{ $returnArray[] = array('name' => $lang['tiger_full'], 'amount' => 0, 'win_amount' => 0); } foreach($returnArray AS $k => $v){ $win_total = $v['win_amount'] + $win_total; } $jsonData = array('win_total' => $win_total, 'returnData' => $returnArray); $data = encrypt_data($jsonData); return json(['Success' => 1, 'Data' => $data]); }else{ return json(['Success' => 0, 'msg' => '没有下注数据']); } }else{ return json(['Success' => 0, 'msg' => '获取信息失败']); } }else{ return json(['Success' => 0, 'msg' => '获取信息失败']); } } } //开结果后获取会员的下注信息及计算其输赢数目 public function user_bet_nn(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $number_tab_id = intval($json_arr['number_tab_id']); $table_id = intval($json_arr['table_id']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token && $number_tab_id > 0 && $table_id > 0){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time(), 'table_id' => $table_id)); $betArray = Db::name('bet')->where(array('user_id' => $user_id, 'table_id' => $table_id, 'number_tab_id' => $number_tab_id, 'status' => 1))->order('`id` ASC')->find(); if($betArray){ $jsonData = array('win_total' => $betArray['win_total'], 'end_money' => $betArray['end_money'], 'amount' => $betArray['amount']); $data = encrypt_data($jsonData); return json(['Success' => 1, 'Data' => $data]); }else{ return json(['Success' => 0, 'Msg' => '没有下注数据']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } } //开结果后获取会员的下注信息及计算其输赢数目 public function user_bet_tc(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $number_tab_id = intval($json_arr['number_tab_id']); $table_id = intval($json_arr['table_id']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token && $number_tab_id > 0 && $table_id > 0){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time(), 'table_id' => $table_id)); $betArray = Db::name('bet')->where(array('user_id' => $user_id, 'table_id' => $table_id, 'number_tab_id' => $number_tab_id, 'status' => 1))->order('`id` ASC')->find(); if($betArray){ $jsonData = array('win_total' => $betArray['win_total'], 'end_money' => $betArray['end_money'], 'amount' => $betArray['amount']); $data = encrypt_data($jsonData); return json(['Success' => 1, 'Data' => $data]); }else{ return json(['Success' => 0, 'Msg' => '没有下注数据']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } } //开结果后获取会员的下注信息及计算其输赢数目 public function user_bet_toning(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $number_tab_id = intval($json_arr['number_tab_id']); $table_id = intval($json_arr['table_id']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token && $number_tab_id > 0 && $table_id > 0){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time(), 'table_id' => $table_id)); $betArray = Db::name('bet')->where(array('user_id' => $user_id, 'table_id' => $table_id, 'number_tab_id' => $number_tab_id, 'status' => 1))->order('`id` ASC')->find(); if($betArray){ $jsonData = array('win_total' => $betArray['win_total'], 'end_money' => $betArray['end_money'], 'amount' => $betArray['amount']); $data = encrypt_data($jsonData); return json(['Success' => 1, 'Data' => $data]); }else{ return json(['Success' => 0, 'Msg' => '没有下注数据']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } } //开结果后获取会员的下注信息及计算其输赢数目 public function user_bet_dice(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $number_tab_id = intval($json_arr['number_tab_id']); $table_id = intval($json_arr['table_id']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token && $number_tab_id > 0 && $table_id > 0){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time(), 'table_id' => $table_id)); $betArray = Db::name('bet')->where(array('user_id' => $user_id, 'table_id' => $table_id, 'number_tab_id' => $number_tab_id, 'status' => 1))->order('`id` ASC')->find(); if($betArray){ $jsonData = array('win_total' => $betArray['win_total'], 'end_money' => $betArray['end_money'], 'amount' => $betArray['amount']); $data = encrypt_data($jsonData); return json(['Success' => 1, 'Data' => $data]); }else{ return json(['Success' => 0, 'Msg' => '没有下注数据']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } } public function user_bet_roulette(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $number_tab_id = intval($json_arr['number_tab_id']); $table_id = intval($json_arr['table_id']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token && $number_tab_id > 0 && $table_id > 0){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time(), 'table_id' => $table_id)); $betArray = Db::name('bet')->where(array('user_id' => $user_id, 'table_id' => $table_id, 'number_tab_id' => $number_tab_id, 'status' => 1))->order('`id` ASC')->find(); if($betArray){ $jsonData = array('win_total' => $betArray['win_total'], 'end_money' => $betArray['end_money'], 'amount' => $betArray['amount']); $data = encrypt_data($jsonData); return json(['Success' => 1, 'Data' => $data]); }else{ return json(['Success' => 0, 'Msg' => '没有下注数据']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } } //快速提现 public function show_withdrawal(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time())); $show_withdrawal = array(); $show_withdrawal['finish_money'] = Db::name('receivables_record')->where('record_type',2)->where('user_id',$user_id)->where('status',1)->sum('recharge_money'); $show_withdrawal['ongoing_money'] = Db::name('receivables_record')->where('record_type',2)->where('user_id',$user_id)->where('status',0)->sum('recharge_money'); $show_withdrawal['user_bank'] = Db::name('receivables')->where('user_id',$user_id)->where('type',2)->field('receivables_name,receivables_bank,receivables_bank_branch,receivables_bank_number')->order('id desc')->select(); $data = encrypt_data($show_withdrawal); return json(array('Success' => 1, 'Data' => $data)); }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } } //确认提现 public function withdrawal(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $recharge_name = trim($json_arr['recharge_name']); $recharge_bank = trim($json_arr['recharge_bank']); $recharge_bank_branch = trim($json_arr['recharge_bank_branch']); $recharge_cardnumber = trim($json_arr['recharge_cardnumber']); $recharge_money = trim($json_arr['recharge_money']); if(!$recharge_name){ return json(array('Success' => 0, 'Msg' => '持卡人不能为空')); } if(!$recharge_bank){ return json(array('Success' => 0, 'Msg' => '提款银行不能为空')); } if(!$recharge_bank_branch){ return json(array('Success' => 0, 'Msg' => '提款银行支行不能为空')); } if(!$recharge_cardnumber){ return json(array('Success' => 0, 'Msg' => '提款银行卡号不能为空')); } if(!$recharge_money || $recharge_money <= 0){ return json(array('Success' => 0, 'Msg' => '提款金额有误')); } $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token){ $is_banke_info = Db::name('receivables')->where('user_id',$user_id)->where('receivables_bank',$recharge_bank)->where('type',2)->find(); if(!$is_banke_info){ $add_bank = array(); $add_bank['user_id'] = $user_id; $add_bank['receivables_name'] = $recharge_name; $add_bank['receivables_bank'] = $recharge_bank; $add_bank['receivables_bank_branch'] = $recharge_bank_branch; $add_bank['receivables_bank_number'] = $recharge_cardnumber; $add_bank['create_time'] = time(); $add_bank['status'] = 1; $add_bank['type'] = 2; Db::name('receivables')->insert($add_bank); } if($user['money'] > $recharge_money){ $add_record = array(); $add_record['user_id'] = $user_id; $add_record['username'] = $user['username']; $add_record['record_type'] = 2; $add_record['recharge_name'] = $recharge_name; $add_record['recharge_bank'] = $recharge_bank; $add_record['recharge_bank_branch'] = $recharge_bank_branch; $add_record['recharge_cardnumber'] = $recharge_cardnumber; $add_record['recharge_money'] = $recharge_money; $add_record['create_time'] = time(); $add_record['status'] = 0; $is_add_record = Db::name('receivables_record')->insert($add_record); if($is_add_record){ $record_info = array(); $record_info['msg'] = '提现成功,请等待管理员放款'; $record_info['finish_money'] = Db::name('receivables_record')->where('record_type',2)->where('user_id',$user_id)->where('status',1)->sum('recharge_money'); $record_info['ongoing_money'] = Db::name('receivables_record')->where('record_type',2)->where('user_id',$user_id)->where('status',0)->sum('recharge_money'); $record_info['newMoney'] = $user['money'] - $recharge_money; Db::name('user')->where(array('id' => $user_id))->limit(1)->update(array('money' => $record_info['newMoney'])); $data = encrypt_data($record_info); return json(array('Success' => 1, 'Data' => $data)); }else{ return json(array('Success' => 0, 'Msg' => '提现失败,请稍后再试')); } }else{ return json(array('Success' => 0, 'Msg' => '您的余额不足')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } } //充值信息 public function show_recharge(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time())); $rechargeinfo = array(); $rechargeinfo['rechargeinfo']['bank_info'] = Db::name('receivables')->where('receivables_type',1)->where('status',1)->field('id,receivables_name,receivables_bank,receivables_bank_number')->order('create_time ASC,id ASC')->select(); $url = $_SERVER['HTTP_HOST']; $rechargeinfo['rechargeinfo']['weixin_info'] = Db::name('receivables')->where('receivables_type',2)->where('status',1)->field('id,receivables_name,receivables_qr_code')->order('create_time ASC,id ASC')->find(); if($rechargeinfo['rechargeinfo']['weixin_info']){ $rechargeinfo['rechargeinfo']['weixin_info']['receivables_qr_code'] = 'http://'.$url.$rechargeinfo['rechargeinfo']['weixin_info']['receivables_qr_code']; } $rechargeinfo['rechargeinfo']['alipay_info'] = Db::name('receivables')->where('receivables_type',3)->where('status',1)->field('id,receivables_name,receivables_qr_code')->order('create_time ASC,id ASC')->find(); if($rechargeinfo['rechargeinfo']['alipay_info']){ $rechargeinfo['rechargeinfo']['alipay_info']['receivables_qr_code'] = 'http://'.$url.$rechargeinfo['rechargeinfo']['alipay_info']['receivables_qr_code']; } $rechargeinfo['recharge_record']['finish_money'] = Db::name('receivables_record')->where('record_type',1)->where('user_id',$user_id)->where('status',1)->sum('recharge_money'); $rechargeinfo['recharge_record']['ongoing_money'] = Db::name('receivables_record')->where('record_type',1)->where('user_id',$user_id)->where('status',0)->sum('recharge_money'); $rechargeinfo = encrypt_data($rechargeinfo); return json(array('Success' => 1, 'Data' => $rechargeinfo)); }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } } //确认充值 public function recharge(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $recharge_type = intval($json_arr['recharge_type']); $receivables_id = intval($json_arr['receivables_id']); if($recharge_type == 1){ $recharge_bank = trim($json_arr['recharge_bank']); $recharge_cardnumber = trim($json_arr['recharge_cardnumber']); } $recharge_money = trim($json_arr['recharge_money']); if(!$recharge_money || $recharge_money <= 0){ return json(array('Success' => 0, 'Msg' => '充值金额有误')); } $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token && $recharge_type > 0 && $receivables_id > 0 && $recharge_money > 0){ $add_record = array(); $add_record['user_id'] = $user_id; $add_record['username'] = $user['username']; $add_record['record_type'] = 1; $add_record['recharge_type'] = $recharge_type; $add_record['receivables_id'] = $receivables_id; $recharge_info = Db::name('receivables')->where('id',$receivables_id)->find(); $add_record['recharge_name'] = $recharge_info['receivables_name']; $add_record['recharge_name'] = $user['username']; if($add_record['recharge_type'] == 1){ $add_record['recharge_bank'] = $recharge_bank; $add_record['recharge_cardnumber'] = $recharge_cardnumber; } $add_record['recharge_money'] = $recharge_money; $add_record['create_time'] = time(); $add_record['status'] = 0; $is_add_record = Db::name('receivables_record')->insert($add_record); if($is_add_record){ $record_info = array(); $record_info['msg'] = '充值成功,请联系管理员确认'; $record_info['finish_money'] = Db::name('receivables_record')->where('record_type',1)->where('user_id',$user_id)->where('status',1)->sum('recharge_money'); $record_info['ongoing_money'] = Db::name('receivables_record')->where('record_type',1)->where('user_id',$user_id)->where('status',0)->sum('recharge_money'); $data = encrypt_data($record_info); return json(array('Success' => 1, 'Data' => $data)); }else{ return json(array('Success' => 0, 'Msg' => '充值失败,请稍后再试')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(['Success' => 0, 'Msg' => '获取信息失败']); } } //游戏记录 public function get_rob_bet(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $user_id = intval($json_arr['user_id']); $api_token = trim($json_arr['api_token']); $game_id = intval($json_arr['game_id']); $number_tab_id = intval($json_arr['number_tab_id']); $page = intval($json_arr['page']); $user = Db::name('user')->where(array('id' => $user_id))->find(); if($user && $user['api_token'] == $api_token && $game_id > 0 && $page > 0){ //更新session // Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time())); $betWhere = array(); // $betWhere['user_id'] = $user_id; $betWhere['game_id'] = $game_id; $betWhere['number_tab_id'] = $number_tab_id; $betWhere['status'] = 1; $page_list = 15; if($page > 1){ $limie_start = ($page - 1) * $page_list; }else{ $limie_start = 0; } if($game_id == 4){ $bet = Db::name('bet')->where($betWhere)->where('user_id','<>',$user_id)->order('id desc')->limit($limie_start,$page_list)->select(); $bet_num = Db::name('bet')->where($betWhere)->where('user_id','<>',$user_id)->order('id desc')->count(); }elseif($game_id == 5){ $bet = Db::name('bet')->where($betWhere)->where('user_id','<>',$user_id)->order('id desc')->limit($limie_start,$page_list)->select(); $bet_num = Db::name('bet')->where($betWhere)->where('user_id','<>',$user_id)->order('id desc')->count(); }else{ return json(['Success'=>0,'msg'=>'游戏类型错误']); } $page_num = ceil($bet_num/$page_list); //组装注单信息 $newBet = array(); $data = array(); $user_bets = array(); $bet_list_amount = 0; $bet_list_wintotal = 0; foreach ($bet as $k => $v){ $v['create_time'] = date('Y-m-d H:i:s',$v['create_time']); $v['game_num'] = $v['game_id'].$v['boot_num'].$v['number']; if($game_id == 4){ $number_info = Db::name('number_tab')->where('id',$v['number_tab_id'])->find(); if($number_info['bet_status'] == 3){ if($v['win_player_1'] == 1 && $v['win_player_2'] == 1 && $v['win_player_3'] == 1){ $result = '闲1,闲2,闲3'; }elseif($v['win_player_1'] == 0 && $v['win_player_2'] == 0 && $v['win_player_3'] == 0){ $result = '庄赢'; }elseif($v['win_player_1'] == 1 && $v['win_player_2'] == 0 && $v['win_player_3'] == 0){ $result = '闲1赢'; }elseif($v['win_player_1'] == 0 && $v['win_player_2'] == 1 && $v['win_player_3'] == 0){ $result = '闲2赢'; }elseif($v['win_player_1'] == 0 && $v['win_player_2'] == 0 && $v['win_player_3'] == 1){ $result = '闲3赢'; }elseif($v['win_player_1'] == 1 && $v['win_player_2'] == 1 && $v['win_player_3'] == 0){ $result = '闲1,闲2'; }elseif($v['win_player_1'] == 1 && $v['win_player_2'] == 0 && $v['win_player_3'] == 1){ $result = '闲1,闲3'; }elseif($v['win_player_1'] == 0 && $v['win_player_2'] == 1 && $v['win_player_3'] == 1){ $result = '闲2,闲3'; }else{ $result = '-'; } $v['card_result'] = $result; }else{ $v['card_result'] = '-'; } $data['username'] = $v['username']; $data['game_num'] = $v['game_num']; $data['table_name'] = $v['table_name'].'('.$v['boot_num'].'/'.$v['number'].')'; $data['card_result'] = $v['card_result']; $data['user_bet'] = ''; if($v['amount_player_1'] > 0){ $data['user_bet'] = $data['user_bet'].'闲1闲平倍('.$v['amount_player_1'].')'; } if($v['amount_player_1_times'] > 0){ $data['user_bet'] = $data['user_bet'].'闲1闲翻倍('.$v['amount_player_1_times'].')'; } if($v['amount_player_1_banker'] > 0){ $data['user_bet'] = $data['user_bet'].'闲1庄平倍('.$v['amount_player_1_banker'].')'; } if($v['amount_player_1_banker_times'] > 0){ $data['user_bet'] = $data['user_bet'].'闲1庄翻倍('.$v['amount_player_1_banker_times'].')'; } if($v['amount_player_2'] > 0){ $data['user_bet'] = $data['user_bet'].'闲2闲平倍('.$v['amount_player_2'].')'; } if($v['amount_player_2_times'] > 0){ $data['user_bet'] = $data['user_bet'].'闲2闲翻倍('.$v['amount_player_2_times'].')'; } if($v['amount_player_2_banker'] > 0){ $data['user_bet'] = $data['user_bet'].'闲2庄平倍('.$v['amount_player_2_banker'].')'; } if($v['amount_player_2_banker_times'] > 0){ $data['user_bet'] = $data['user_bet'].'闲2庄翻倍('.$v['amount_player_2_banker_times'].')'; } if($v['amount_player_3'] > 0){ $data['user_bet'] = $data['user_bet'].'闲3闲平倍('.$v['amount_player_3'].')'; } if($v['amount_player_3_times'] > 0){ $data['user_bet'] = $data['user_bet'].'闲3闲翻倍('.$v['amount_player_3_times'].')'; } if($v['amount_player_3_banker'] > 0){ $data['user_bet'] = $data['user_bet'].'闲3庄平倍('.$v['amount_player_3_banker'].')'; } if($v['amount_player_3_banker_times'] > 0){ $data['user_bet'] = $data['user_bet'].'闲3庄翻倍('.$v['amount_player_3_banker_times'].')'; } $data['create_time'] = $v['create_time']; $data['money_before_bet'] = $v['money_before_bet']; $data['amount'] = $v['amount']; $data['win_total'] = $v['win_total']; $newBet[] = $data; $bet_list_amount = $bet_list_amount + $v['amount']; $bet_list_wintotal = $bet_list_wintotal + $v['win_total']; } if($game_id == 5){ $number_info = Db::name('number_tab')->where('id',$v['number_tab_id'])->find(); if($number_info['bet_status'] == 3){ if($v['win_player_1'] == 1 && $v['win_player_2'] == 1 && $v['win_player_3'] == 1){ $result = '闲1,闲2,闲3'; }elseif($v['win_player_1'] == 0 && $v['win_player_2'] == 0 && $v['win_player_3'] == 0){ $result = '庄赢'; }elseif($v['win_player_1'] == 1 && $v['win_player_2'] == 0 && $v['win_player_3'] == 0){ $result = '闲1赢'; }elseif($v['win_player_1'] == 0 && $v['win_player_2'] == 1 && $v['win_player_3'] == 0){ $result = '闲2赢'; }elseif($v['win_player_1'] == 0 && $v['win_player_2'] == 0 && $v['win_player_3'] == 1){ $result = '闲3赢'; }elseif($v['win_player_1'] == 1 && $v['win_player_2'] == 1 && $v['win_player_3'] == 0){ $result = '闲1,闲2'; }elseif($v['win_player_1'] == 1 && $v['win_player_2'] == 0 && $v['win_player_3'] == 1){ $result = '闲1,闲3'; }elseif($v['win_player_1'] == 0 && $v['win_player_2'] == 1 && $v['win_player_3'] == 1){ $result = '闲2,闲3'; }else{ $result = '-'; } $v['card_result'] = $result; }else{ $v['card_result'] = '-'; } $data['game_num'] = $v['game_num']; $data['table_name'] = $v['table_name'].'('.$v['boot_num'].'/'.$v['number'].')'; $data['card_result'] = $v['card_result']; $data['username'] = $v['username']; $data['user_bet'] = ''; if($v['amount_player_1'] > 0){ $data['user_bet'] = $data['user_bet'].'闲1闲平倍('.$v['amount_player_1'].')'; } if($v['amount_player_1_times'] > 0){ $data['user_bet'] = $data['user_bet'].'闲1闲翻倍('.$v['amount_player_1_times'].')'; } if($v['amount_player_1_banker'] > 0){ $data['user_bet'] = $data['user_bet'].'闲1庄平倍('.$v['amount_player_1_banker'].')'; } if($v['amount_player_1_banker_times'] > 0){ $data['user_bet'] = $data['user_bet'].'闲1庄翻倍('.$v['amount_player_1_banker_times'].')'; } if($v['amount_player_2'] > 0){ $data['user_bet'] = $data['user_bet'].'闲2闲平倍('.$v['amount_player_2'].')'; } if($v['amount_player_2_times'] > 0){ $data['user_bet'] = $data['user_bet'].'闲2闲翻倍('.$v['amount_player_2_times'].')'; } if($v['amount_player_2_banker'] > 0){ $data['user_bet'] = $data['user_bet'].'闲2庄平倍('.$v['amount_player_2_banker'].')'; } if($v['amount_player_2_banker_times'] > 0){ $data['user_bet'] = $data['user_bet'].'闲2庄翻倍('.$v['amount_player_2_banker_times'].')'; } if($v['amount_player_3'] > 0){ $data['user_bet'] = $data['user_bet'].'闲3闲平倍('.$v['amount_player_3'].')'; } if($v['amount_player_3_times'] > 0){ $data['user_bet'] = $data['user_bet'].'闲3闲翻倍('.$v['amount_player_3_times'].')'; } if($v['amount_player_3_banker'] > 0){ $data['user_bet'] = $data['user_bet'].'闲3庄平倍('.$v['amount_player_3_banker'].')'; } if($v['amount_player_3_banker_times'] > 0){ $data['user_bet'] = $data['user_bet'].'闲3庄翻倍('.$v['amount_player_3_banker_times'].')'; } $data['create_time'] = $v['create_time']; $data['money_before_bet'] = $v['money_before_bet']; $data['amount'] = $v['amount']; $data['win_total'] = $v['win_total']; $newBet[] = $data; $bet_list_amount = $bet_list_amount + $v['amount']; $bet_list_wintotal = $bet_list_wintotal + $v['win_total']; } } // 重新赋值 $user_bets['bet_info'] = $newBet; $user_bets['bet_num'] = $bet_num; $user_bets['page_num'] = $page_num; $user_bets['bet_list_amount'] = $bet_list_amount; $user_bets['bet_list_wintotal'] = $bet_list_wintotal; // return json($user_bets); $bet = encrypt_data($user_bets); return json(array('Success' => 1, 'Data' => $bet)); }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } } } //电话呼入 public function online_call(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); $phone = Request::instance()->post('phone'); if($phone){ $table_info = Db::name('table')->where('phone',$phone)->find(); if($table_info){ $data = array(); $data['table_id'] = $table_info['id']; $data['table_name'] = $table_info['table_name']; $memo = Db::name('memo')->where('status',1)->order('id DESC')->find(); if($memo){ $data['memo'] = $memo['title']; }else{ $data['memo'] = '欢迎光临'; } return json(array('Success' => 1, 'Data' => $data)); }else{ return json(array('Success' => 0, 'Msg' => '该手机号码尚未绑定')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } } /** * 注册会员接口 * @return \think\response\Json * @throws \think\Exception * DateTime: 2019/12/12 12:53 */ public function doRegister(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST'); if($data = Request::instance()->post()){ $data = decrypt_data($data); $username = isset($data['username'])?$data['username']:''; $pass = isset($data['pass'])?$data['pass']:''; $repass = isset($data['repass'])?$data['repass']:''; $mobile = isset($data['mobile'])?$data['mobile']:''; $referral_code = isset($data['referral_code'])?$data['referral_code']:''; $area_id = null !== REGISTER_DEFAULT_AREA_ID? REGISTER_DEFAULT_AREA_ID : (isset($data['area_id'])? $data['area_id'] : '2'); // 默认TW if(strlen($username) <= 0){ return json(['Success' => 0, 'Msg' => '请输入账号']); } if(strlen($pass) < 6){ return json(['Success' => 0, 'Msg' => '密码不能小于6个字符']); } if($pass != $repass){ return json(['Success' => 0, 'Msg' => '两次输入密码不一致']); } if($mobile && !is_numeric($mobile)){ return json(['Success' => 0, 'Msg' => '请输入有效的手机号']); } // if($agent){ // $agentParent = Db::name('user')->where(['id'=>$agent,'agent'=>1,'status'=>1,'is_delete'=>0])->find(); // if(!$agentParent){ // return json(['Success' => 0, 'Msg' => '介绍人错误']); // } // }else{ // return json(['Success' => 0, 'Msg' => '介绍人错误']); // } if($referral_code){ $agentParent = Db::name('user')->where(['referral_code'=>$referral_code,'agent'=>1,'status'=>1,'is_delete'=>0])->find(); if(!$agentParent){ return json(['Success' => 0, 'Msg' => '介绍人错误']); } }else{//不传则用默认代理 $area_list = config('area_list'); if(!$area_id || !in_array($area_id,array_keys($area_list))){ return json(['Success' => 0, 'Msg' => '地区错误']); } $defualt_agent = $area_list[$area_id]['default_agent']; if($defualt_agent <= 0){ return json(['Success' => 0, 'Msg' => '该地区暂不支持注册']); } $agentParent = Db::name('user')->where(['id'=>$defualt_agent,'area_id'=>$area_id])->find(); if(!$agentParent){ return json(['Success' => 0, 'Msg' => '该地区默认代理不存在']); } } $user = Db::name('user')->where(array('username' => $username))->find(); if($user){ return json(['Success' => 0, 'Msg' => '账号已经存在']); } $insertData = array(); $insertData['username'] = $username; $insertData['nickname'] = $username; $insertData['password'] = think_ucenter_md5($pass, UC_AUTH_KEY); $insertData['encrypt'] = getRandChar(); $insertData['mobile'] = $mobile; $insertData['status'] = 1; $insertData['agent'] = 0; $insertData['letter'] = $agentParent['letter']; $insertData['type_xima'] = $agentParent['type_xima']; $insertData['agent_parent_id'] = $agentParent['id']; $insertData['agent_parent_username'] = $agentParent['username']; $insertData['agent_parent_nickname'] = $agentParent['nickname']; $insertData['limit_low'] = $agentParent['limit_low']; $insertData['limit_high'] = $agentParent['limit_high']; $insertData['limit_low_tie'] = $agentParent['limit_low_tie']; $insertData['limit_high_tie'] = $agentParent['limit_high_tie']; $insertData['limit_low_pair'] = $agentParent['limit_low_pair']; $insertData['limit_high_pair'] = $agentParent['limit_high_pair']; $insertData['share_xima'] = $agentParent['share_xima']; // 洗码率 $ximalvGap = REGISTER_XIMALV_GAP; $insertData['agent_ximalv'] = ($agentParent['agent_ximalv']-$ximalvGap) > 0 ? ($agentParent['agent_ximalv']-$ximalvGap) : 0; $insertData['agent_ximalv_dt'] = ($agentParent['agent_ximalv_dt']-$ximalvGap) > 0 ? ($agentParent['agent_ximalv_dt']-$ximalvGap) : 0; $insertData['agent_ximalv_nn'] = ($agentParent['agent_ximalv_nn']-$ximalvGap) > 0 ? ($agentParent['agent_ximalv_nn']-$ximalvGap) : 0; $insertData['agent_ximalv_tc'] = ($agentParent['agent_ximalv_tc']-$ximalvGap) > 0 ? ($agentParent['agent_ximalv_tc']-$ximalvGap) : 0; // 返水率 $rebateGap = REGISTER_REBATE_GAP; $insertData['rebate_rate'] = ($agentParent['rebate_rate']-$rebateGap) > 0 ? ($agentParent['rebate_rate']-$rebateGap) : 0; //赔率等于他的上级代理 $insertData['price_banker'] = $agentParent['price_banker']; $insertData['price_player'] = $agentParent['price_player']; $insertData['price_tie_baccarat'] = $agentParent['price_tie_baccarat']; $insertData['price_pair'] = $agentParent['price_pair']; $insertData['price_dragon'] = $agentParent['price_dragon']; $insertData['price_tiger'] = $agentParent['price_tiger']; $insertData['price_tie_dt'] = $agentParent['price_tie_dt']; $insertData['price_n7_n9'] = $agentParent['price_n7_n9']; $insertData['price_nn'] = $agentParent['price_nn']; $insertData['price_5n'] = $agentParent['price_5n']; $insertData['price_bomb'] = $agentParent['price_bomb']; $insertData['price_tc_n1'] = $agentParent['price_tc_n1']; $insertData['price_tc_n2'] = $agentParent['price_tc_n2']; $insertData['price_tc_n3'] = $agentParent['price_tc_n3']; $insertData['price_tc_n4'] = $agentParent['price_tc_n4']; $insertData['price_tc_n5'] = $agentParent['price_tc_n5']; $insertData['price_tc_n6'] = $agentParent['price_tc_n6']; $insertData['price_tc_n7'] = $agentParent['price_tc_n7']; $insertData['price_tc_n8'] = $agentParent['price_tc_n8']; $insertData['price_tc_n9'] = $agentParent['price_tc_n9']; $insertData['price_tc_nn'] = $agentParent['price_tc_nn']; $insertData['price_tc_bz'] = $agentParent['price_tc_bz']; $insertData['price_tc_ths'] = $agentParent['price_tc_ths']; $insertData['price_tc_hjths'] = $agentParent['price_tc_hjths']; $insertData['area_id'] = $agentParent['area_id']; $insertData['bet_type'] = 3; $insertData['reg_time'] = time(); if(getIp()){ $ip = getIp()?:'0.0.0.0'; } $insertData['reg_ip'] = $ip; $insertData['avatar'] = '/static/index/images/admin.png'; $insertData['update_time'] = time(); $insertId = Db::name('user')->insertGetId($insertData); if($insertId > 0){ Db::name('user')->where(array('id' => $insertId))->update(array('agent_parent_id_path' => $agentParent['agent_parent_id_path'] . ',' . $insertId)); // 生成U钱包地址 // $Usdt = new Usdt(); // $result = $Usdt->newUserWallet(); // if(isset($result['code']) && $result['code'] == 0){ // $walletData = [ // 'user_id' => $insertId, // 'address' => $result['wallet']['address'], // 'parent_id' => $result['wallet']['parent_id'], // 'status' => $result['wallet']['status'], // 'tid' => $result['wallet']['tid'], // 'type' => $result['wallet']['type'], // 'create_time' => time(), // 'update_time' => time(), // ]; // Db::name('user_wallet')->insert($walletData); // } return json(['Success' => 1, 'Msg' => '注册成功']); }else{ return json(['Success' => 0, 'Msg' => '注册失败']); } } } /** * Line授权登录注册接口 */ public function lineAutoLogin() { $referral_code = Request::instance()->get('referral_code'); if(strlen($referral_code) <= 0){ $referral_code = "NOREFERRAL"; } $state = $referral_code; $redirect_uri = urlencode(API_STATIC_DOMAIN . 'pcapi/lineauth'); $lineUrl = "https://access.line.me/oauth2/v2.1/authorize"; $authUrl = $lineUrl . "?response_type=code&client_id=" . LINE_CLIENT_ID . "&redirect_uri=" . $redirect_uri . "&state=" . $state . "&scope=openid%20profile"; $this->redirect($authUrl,302); } public function lineAuth() { $param = Request::instance()->get(); $code = $param['code']; $referral_code = $param['state']; $data = array( 'grant_type' => "authorization_code", 'code' => $code, 'redirect_uri' => API_STATIC_DOMAIN . "pcapi/lineauth", 'client_id' => LINE_CLIENT_ID, 'client_secret' => LINE_CLIENT_SECRET ); $dataStr = http_build_query($data); $tokenUrl = "https://api.line.me/oauth2/v2.1/token"; $ch = curl_init(); //设置抓取的url curl_setopt($ch, CURLOPT_URL, $tokenUrl); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_POST, 1); //设置post数据 curl_setopt($ch, CURLOPT_POSTFIELDS, $dataStr); //设置头文件的信息作为数据流输出 curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/x-www-form-urlencoded', 'Content-Length: ' . strlen($dataStr)) ); ob_start(); curl_exec($ch); $return_content = object_to_array(json_decode(ob_get_contents())); ob_end_clean(); $accessToken = $return_content['access_token']; $profileUrl = "https://api.line.me/v2/profile"; curl_setopt($ch, CURLOPT_URL, $profileUrl); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . $accessToken )); ob_start(); curl_exec($ch); $return_content = object_to_array(json_decode(ob_get_contents())); ob_end_clean(); $user = Db::name('user')->where('line_id',$return_content['userId'])->find(); if ($user) { // 已存在,传参跳到前端自动登录 $token = $user['line_id']; $encrypt = $user['username']; $loginUrl = WT_STATIC_DOMAIN . "login?token=" . $token . "&encrypt=" . $user['username']; $this->redirect($loginUrl,302); } $id = $this->selfRegister($return_content, $referral_code); if ($id == -1) { //$this->success('没有授权,请登录', '/login/index'); // 各种原因授权注册不成功,跳到前端 $this->redirect(WT_STATIC_DOMAIN,302); } else { $user = Db::name('user')->where('id',$id)->find(); //Session::set('user_info',$user); //Db::name('user')->where('id',$user['id'])->update(['last_login_time' => time(), 'last_login_ip' => getIP()]); //$this->success('授權成功', '/index/index', 3); // 自动注册成功,传参跳到前端登录 $token = $user['line_id']; $encrypt = $user['username']; $loginUrl = WT_STATIC_DOMAIN . "login?token=" . $token . "&encrypt=" . $user['username']; $this->redirect($loginUrl,302); } } private function selfRegister($user, $referral_code) { if($referral_code && $referral_code != 'NOREFERRAL'){ $agentParent = Db::name('user')->where(['referral_code'=>$referral_code,'agent'=>1,'status'=>1,'is_delete'=>0])->find(); if(!$agentParent){ return -1; } }else{//不传则用默认代理 $area_id = 2; //固定TW地区 $area_list = config('area_list'); if(!$area_id || !in_array($area_id,array_keys($area_list))){ //return json(['Success' => 0, 'Msg' => '地区错误']); return -1; } $default_agent = $area_list[$area_id]['default_wt_agent']; if($default_agent <= 0){ //return json(['Success' => 0, 'Msg' => '该地区暂不支持注册']); return -1; } $agentParent = Db::name('user')->where(['id'=>$default_agent,'area_id'=>$area_id])->find(); if(!$agentParent){ //return json(['Success' => 0, 'Msg' => '该地区默认代理不存在']); return -1; } } $insertData = array(); $insertData['line_id'] = $user['userId']; $insertData['username'] = 'cl' . substr(think_ucenter_md5($user['userId'], UC_AUTH_KEY), 0, 6); $insertData['nickname'] = $user['displayName']; $insertData['password'] = think_ucenter_md5('cl123321', UC_AUTH_KEY); $insertData['encrypt'] = getRandChar(); $insertData['mobile'] = ''; $insertData['status'] = 1; $insertData['agent'] = 0; $insertData['letter'] = $agentParent['letter']; $insertData['type_xima'] = $agentParent['type_xima']; $insertData['agent_parent_id'] = $agentParent['id']; $insertData['agent_parent_username'] = $agentParent['username']; $insertData['agent_parent_nickname'] = $agentParent['nickname']; $insertData['limit_low'] = $agentParent['limit_low']; $insertData['limit_high'] = $agentParent['limit_high']; $insertData['limit_low_tie'] = $agentParent['limit_low_tie']; $insertData['limit_high_tie'] = $agentParent['limit_high_tie']; $insertData['limit_low_pair'] = $agentParent['limit_low_pair']; $insertData['limit_high_pair'] = $agentParent['limit_high_pair']; $insertData['share_xima'] = $agentParent['share_xima']; /* $insertData['agent_ximalv'] = $agentParent['agent_ximalv']; $insertData['agent_ximalv_single'] = $agentParent['agent_ximalv_single']; $insertData['agent_ximalv_dt'] = $agentParent['agent_ximalv_dt']; $insertData['agent_ximalv_dt_single'] = $agentParent['agent_ximalv_dt_single']; $insertData['agent_ximalv_nn'] = $agentParent['agent_ximalv_nn']; $insertData['agent_ximalv_nn_single'] = $agentParent['agent_ximalv_nn_single']; $insertData['agent_ximalv_tc'] = $agentParent['agent_ximalv_tc']; $insertData['agent_ximalv_tc_single'] = $agentParent['agent_ximalv_tc_single']; */ //赔率等于他的上级代理 $insertData['price_banker'] = $agentParent['price_banker']; $insertData['price_player'] = $agentParent['price_player']; $insertData['price_tie_baccarat'] = $agentParent['price_tie_baccarat']; $insertData['price_pair'] = $agentParent['price_pair']; $insertData['price_dragon'] = $agentParent['price_dragon']; $insertData['price_tiger'] = $agentParent['price_tiger']; $insertData['price_tie_dt'] = $agentParent['price_tie_dt']; $insertData['price_n7_n9'] = $agentParent['price_n7_n9']; $insertData['price_nn'] = $agentParent['price_nn']; $insertData['price_5n'] = $agentParent['price_5n']; $insertData['price_bomb'] = $agentParent['price_bomb']; $insertData['price_tc_n1'] = $agentParent['price_tc_n1']; $insertData['price_tc_n2'] = $agentParent['price_tc_n2']; $insertData['price_tc_n3'] = $agentParent['price_tc_n3']; $insertData['price_tc_n4'] = $agentParent['price_tc_n4']; $insertData['price_tc_n5'] = $agentParent['price_tc_n5']; $insertData['price_tc_n6'] = $agentParent['price_tc_n6']; $insertData['price_tc_n7'] = $agentParent['price_tc_n7']; $insertData['price_tc_n8'] = $agentParent['price_tc_n8']; $insertData['price_tc_n9'] = $agentParent['price_tc_n9']; $insertData['price_tc_nn'] = $agentParent['price_tc_nn']; $insertData['price_tc_bz'] = $agentParent['price_tc_bz']; $insertData['price_tc_ths'] = $agentParent['price_tc_ths']; $insertData['price_tc_hjths'] = $agentParent['price_tc_hjths']; $insertData['area_id'] = $agentParent['area_id']; $insertData['bet_type'] = 3; $insertData['reg_time'] = time(); if(getIp()){ $ip = getIp()?:'0.0.0.0'; } $insertData['reg_ip'] = $ip; if(array_key_exists('pictureUrl', $user)) { $insertData['avatar'] = $user['pictureUrl'];; } else { $insertData['avatar'] = '/static/index/images/admin.png'; } $insertData['update_time'] = time(); $insertId = Db::name('user')->insertGetId($insertData); if($insertId > 0){ Db::name('user')->where(array('id' => $insertId))->update(array('agent_parent_id_path' => $agentParent['agent_parent_id_path'] . ',' . $insertId)); return $insertId; }else{ return -1; } } //登录 public function lineLogin(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $username = trim($json_arr['encrypt']); $token = trim($json_arr['token']); $client = 5; //intval($json_arr['client']); if(empty($username) || empty($token)){ return json(['Success' => 0, 'Msg' => '非法登录']); } $find = Db::name('user')->where(array('username' => $username, 'is_delete' => 0, 'status' => 1, 'agent' => 0, 'line_id' => $token))->find(); if($find){ //判断是否属于line投用户 $zdlIdArr = explode(',',$find['agent_parent_id_path']); $isAllow = false; foreach(config('limit_list')['line_referral'] as $allowAgentId){ if(in_array($allowAgentId,$zdlIdArr)){ $isAllow = true; } } if(!$isAllow){ return json(['Success' => 0, 'Msg' => '非法登录']); } $user_log = array(); $user_log['user_id'] = $find['id']; $user_log['username'] = $find['username']; $user_log['nickname'] = $find['nickname']; $user_log['ip'] = getIP(); $user_log['ip_location'] = ''; $user_log['client'] = 'Line'; $user_log['create_time'] = time(); $user_log['remark'] = '登录'; Db::name('user_log')->insert($user_log); $online_token = $this->create_online_token($find); $find['online_token'] = $online_token; $update = array(); $update['isout'] = 0; $update['login_token'] = $online_token; $update['last_login_time'] = time(); $update['login_count'] = $find['login_count'] + 1; $update['last_login_ip'] = getIP(); $api_token = create_api_token($find['username'],$find['nickname']); $update['api_token'] = $api_token; Db::name('user')->where(array('id' => $find['id']))->limit(1)->update($update); $find['api_token'] = $api_token; //获取公告 $memo = Db::name('memo')->where(array('type' => 1, 'table_id' => 0, 'status' => 1, 'position' => 3))->order('create_time DESC')->select(); $find['memo'] = $memo; //存入session Db::name('session')->where(array('last_time' => array('<', time() - Config::get('session_life_time'))))->delete(); $DBSession = Db::name('session')->where(array('session_id' => $api_token))->find(); if($DBSession){ Db::name('session')->where(array('session_id' => $api_token))->update(array('last_time' => time(), 'user_id' => $find['id'],'client'=>$client)); }else{ Db::name('session')->where(array('user_id' => $find['id']))->delete(); Db::name('session')->insert(array('session_id' =>$api_token, 'last_time' => time(), 'user_id' => $find['id'],'client'=>$client)); } unset($find['password']); unset($find['encrypt']); $data = encrypt_data($find); return json(['Success' => 1, 'Msg' => '登录成功', 'Data' => $data]); }else{ return json(['Success' => 0, 'Msg' => '非法登录']); } }else{ return json(['Success' => 0, 'Msg' => '非法登录']); } } } public function app_entrance(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $entrance = array(); $entrance['HallUrl'] = HallUrl; $entrance['IframeUrl'] = IframeUrl; $entrance['PayUrl'] = PayUrl; $entrance['isOpen'] = ENTRANCE_ISOPEN; $entrance['username'] = ENTRANCE_USERNAME; $entrance['password'] = ENTRANCE_PASSWORD; $entrance['code'] = DISGUISE_CODE; $entrance['openSw'] = openSw; return json(['Success' => 1, 'Data' => $entrance]); } } //api用户通过接口获取铺信息 public function api_get_info(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $appId = intval(Request::instance()->post("appId")); $nonceStr = trim(Request::instance()->post("nonceStr")); $sign= trim(Request::instance()->post("sign")); if (is_null($appId) || strlen($appId) == 0 || is_null($nonceStr) || strlen($nonceStr) != 16 || is_null($sign) || strlen($sign) == 0) { return json(['Success' => 0, 'Msg' => 'Reject! Invalid Sign!']); } $api_info = Db::name('api_account')->where(array('appid' => $appId, 'status' => 1))->find(); if (!$api_info) { return json(['Success' => 0, 'Msg' => 'Reject! Invalid Sign!']); } $_sign = md5($appId . $nonceStr . $api_info['appsecret']); if ($sign != $sign) { return json(['Success' => 0, 'Msg' => 'Reject! Invalid Sign!']); } $number_tab_id = intval(Request::instance()->post("ntd")); $number_tab_info = Db::name('number_tab')->field(array( 'id','game_name','table_id','table_name','boot_id','boot_num','number','result','pair','result_before_edit','pair_before_edit','start_time','end_time','bet_status', 'bet_start_time','bet_end_time','is_add' ))->where(array('id' => $number_tab_id, 'game_id' => 1))->find(); if (!$number_tab_info) { return json(['Success' => 0, 'Msg' => 'Invalid Request!']); } $cardInfo = Db::name('card')->where(array('number_tab_id' => $number_tab_id))->find(); if (!$cardInfo) { return json(['Success' => 0, 'Msg' => 'Invalid Request!']); } $banker1 = interchange_card($cardInfo['banker_1']) >= 10 ? 0 : interchange_card($cardInfo['banker_1']); $banker2 = interchange_card($cardInfo['banker_2']) >= 10 ? 0 : interchange_card($cardInfo['banker_2']); $banker3 = $cardInfo['banker_3']? (interchange_card($cardInfo['banker_3']) >= 10 ? 0 : interchange_card($cardInfo['banker_3'])) : 0; $player1 = interchange_card($cardInfo['player_1']) >= 10 ? 0 : interchange_card($cardInfo['player_1']); $player2 = interchange_card($cardInfo['player_2']) >= 10 ? 0 : interchange_card($cardInfo['player_2']); $player3 = $cardInfo['player_3']? (interchange_card($cardInfo['player_3']) >= 10 ? 0 : interchange_card($cardInfo['player_3'])) : 0; $number_tab_info['banker'] = ($banker1 + $banker2 + $banker3) % 10; $number_tab_info['player'] = ($player1 + $player2 + $player3) % 10; return json(['Success' => 1, 'Msg' => 'query success', 'data' => $number_tab_info]); } } // 用户充值记录 public function user_recharge() { header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()) { $json_arr = decrypt_data(Request::instance()->post()); if ($json_arr) { $userId = intval($json_arr['user_id']); $page = intval($json_arr['page'] ?? 1); $pageSize = intval($json_arr['page_size'] ?? 10); $count = Db::name('user_recharge')->where('user_id',$userId)->count(); $list = Db::name('user_recharge') ->where('user_id',$userId) ->order('create_time desc,id desc') ->page($page,$pageSize) ->select(); foreach($list as &$v){ $v['create_time'] = date('Y-m-d H:i:s',$v['create_time']); $v['update_time'] = date('Y-m-d H:i:s',$v['update_time']); } $data = [ 'count' => $count, 'list' => $list, ]; return json(['Success' => 1, 'Msg' => 'query success', 'data' => $data]); }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } } // 用户提现记录 public function user_withdraw() { header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()) { $json_arr = decrypt_data(Request::instance()->post()); if ($json_arr) { $userId = intval($json_arr['user_id']); $page = intval($json_arr['page'] ?? 1); $pageSize = intval($json_arr['page_size'] ?? 10); $count = Db::name('user_withdraw')->where('user_id',$userId)->count(); $list = Db::name('user_withdraw') ->where('user_id',$userId) ->order('create_time desc,id desc') ->page($page,$pageSize) ->select(); foreach($list as &$v){ $v['create_time'] = date('Y-m-d H:i:s',$v['create_time']); $v['audit_time'] = date('Y-m-d H:i:s',$v['audit_time']); $v['update_time'] = date('Y-m-d H:i:s',$v['update_time']); } $data = [ 'count' => $count, 'list' => $list, ]; return json(['Success' => 1, 'Msg' => 'query success', 'data' => $data]); }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } } //申请提现 public function apply_withdraw(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr){ $userId = intval($json_arr['user_id']); $amount = floatval($json_arr['amount']); $address = trim($json_arr['to_addr']); if(!$amount || $amount <= 0){ return json(array('Success' => 0, 'Msg' => '提款金额有误')); } if(empty($address)){ return json(array('Success' => 0, 'Msg' => '钱包地址必填')); } $user = Db::name('user')->where(array('id' => $userId))->find(); if($user){ Db::startTrans(); $user = Db::name('user')->where(array('id' => $userId))->lock(true)->find(); $system = Db::name('system')->find(); $money = $user['money']; $withdrawMoney = empty($system['withdraw_money']) ? 100 : $system['withdraw_money']; $withdrawFee = empty($system['withdraw_fee']) ? 1 : $system['withdraw_fee']; // 计算积分兑换 $amountMoney = $withdrawMoney/100*($amount); $feeMoney = $withdrawMoney/100*($withdrawFee); $needMoney = $amountMoney + $feeMoney; if($needMoney > $money){ return json(array('Success' => 0, 'Msg' => '余额不足,无法申请提现')); } $afterMoney = $money - $needMoney; // 写入提现申请 $res = Db::name('user_withdraw')->insert([ 'order_no' => createOrderNo('TX'), 'user_id' => $userId, 'amount' => $amount, 'money' => $amountMoney, 'old_money' => $money, 'new_money' => $afterMoney, 'service_fee' => $withdrawFee, 'service_fee_money' => $feeMoney, 'withdraw_rate' => $withdrawFee, 'to_address' => $address, 'create_time' => time() ]); if(!$res){ return json(array('Success' => 0, 'Msg' => '操作失败')); } // 扣除用户余额 $res = Db::name('user')->where('id',$userId)->update([ 'money' => $afterMoney, 'update_time' => time() ]); if(!$res){ return json(array('Success' => 0, 'Msg' => '操作失败')); } Db::commit(); return json(array('Success' => 1, 'Msg' => '操作成功')); }else{ return json(array('Success' => 0, 'Msg' => '获取信息失败')); } } } } // 取消提现 public function cancel_withdraw(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr) { $userId = intval($json_arr['user_id']); $orderNo = trim($json_arr['order_no']); if(empty($orderNo)){ return json(array('Success' => 0, 'Msg' => '参数错误')); } $withdraw = Db::name('user_withdraw')->where('order_no',$orderNo)->find(); if(empty($withdraw) || $withdraw['status'] != "WAIT"){ return json(array('Success' => 0, 'Msg' => '无待审核提现记录')); } if($userId != $withdraw['user_id']){ return json(array('Success' => 0, 'Msg' => '无权限操作')); } Db::startTrans(); $user = Db::name('user')->where(array('id' => $userId))->lock(true)->find(); $money = $user['money']; $afterMoney = $money + $withdraw['money']+$withdraw['service_fee_money']; // 更改提现状态 $res = Db::name('user_withdraw')->where(['status' => "WAIT",'order_no' => $orderNo])->update([ 'status' => 'CANCEL', 'update_time' => time() ]); if(!$res){ return json(array('Success' => 0, 'Msg' => '操作失败')); } // 返还用户余额 $res = Db::name('user')->where('id',$userId)->update([ 'money' => $afterMoney, 'update_time' => time() ]); if(!$res){ return json(array('Success' => 0, 'Msg' => '操作失败')); } Db::commit(); return json(array('Success' => 1, 'Msg' => '操作成功')); } } } /** * 充值 * @return \think\response\Json */ public function deposit() { header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr) { $userId = intval($json_arr['user_id']); $amount = trim($json_arr['amount']); $payChannel = trim($json_arr['pay_channel']); $currency = empty($json_arr['currency']) ? 0 : $json_arr['currency']; $coinType = empty($json_arr['coin_type']) ? 0 : $json_arr['coin_type']; if(empty($amount) || $amount <= 0){ return json(array('Success' => 0, 'Msg' => '充值金额必须大于0')); } $userInfo = Db::name('user')->where('id',$userId)->find(); if(empty($userInfo)){ return json(array('Success' => 0, 'Msg' => '用户信息错误')); } // 支付渠道 $agentParentIds = explode(',',$userInfo['agent_parent_id_path']); $payChannelList = Db::name('user')->where('id', $agentParentIds[0])->value('pay_channel'); $payChannelList = empty($payChannelList) ? [] : explode(',',$payChannelList); if(empty($payChannelList)){ return json(array('Success' => 0, 'Msg' => '支付渠道错误')); } if(empty($payChannel)){ $payChannel = $payChannel[0]; }else if(!in_array($payChannel,$payChannelList)){ return json(array('Success' => 0, 'Msg' => '支付渠道错误')); } $orderNo = createOrderNo($payChannel); $res = Db::name('user_recharge')->insert([ 'order_no' => $orderNo, 'user_id' => $userId, 'apply_amount' => $amount, 'status' => 'WAIT', 'pay_channel' => $payChannel, 'create_time' => time(), ]); if(!$res){ return json(array('Success' => 0, 'Msg' => '充值失败')); } // 充值记录 $ybf = new Ybf(); $result = $ybf->recharge($orderNo,$amount,$currency,$coinType); if($result['code'] == 200){ return json(array('Success' => 1, 'Msg' => '操作成功', 'data' => $result['data'])); }else{ return json(array('Success' => 0, 'Msg' => '操作失败')); } } } } /** * 获取桌子空余座位 * @return \think\response\Json */ public function get_free_seat(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE'); if(Request::instance()->isPost()){ $json_arr = decrypt_data(Request::instance()->post()); if($json_arr) { $api_token = trim($json_arr['api_token']); $table_id = intval($json_arr['table_id']); $number_tab_id = intval($json_arr['number_tab_id']); $user_id = Db::name('session')->where(array('session_id' =>$api_token))->value('user_id'); $find = Db::name('user')->where(array('id' => $user_id, 'is_delete' => 0, 'status' => 1, 'agent' => 0,'bet_type' => 2))->find(); if($find){ $tableInfo = Db::name('table')->where(['id' => $table_id,'bet_type' => 2])->find(); if(!$tableInfo){ return json(array('Success' => 0, 'Msg' => '获取失败')); } $seat_num = $tableInfo['seat_num']; $numberTabInfo = Db::name('number_tab')->where('id',$number_tab_id)->find(); $seat_arr = json_decode($numberTabInfo['seat_json'],true); if(isset($seat_arr[$find['manager_id']])){ $data = $seat_arr[$find['manager_id']]; }else{ $seat_num = $seat_num >=4 ? $seat_num + 1 : $seat_num; for ($i = 1;$i <= $seat_num;$i++){ if($i != 4){ $data[$i] = 0; } } } $data = encrypt_data($data); return json(array('Success' => 1, 'Msg' => '操作成功', 'data' => $data)); } } } return json(array('Success' => 0, 'Msg' => '获取失败')); } /** * 游戏大厅聚合接口 * 返回在线人数、游戏分类、桌台列表(含路单) * 无需鉴权,游客可访问 */ public function get_lobby_data(){ header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization"); header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE,OPTIONS'); header('Access-Control-Max-Age: 86400'); // 处理 OPTIONS 预检请求 if(Request::instance()->isOptions()){ return response('', 200); } if(!Request::instance()->isPost()){ return json(['code' => 400, 'msg' => '请求方式错误']); } // 1. 统计在线人数(基于session表,排除过期会话) $sessionLifeTime = Config::get('session_life_time') ?: 1800; $expiredTime = time() - $sessionLifeTime; Db::name('session')->where('last_time', '<', $expiredTime)->delete(); $online_users = Db::name('session')->count(); // 2. 获取所有启用的桌台 $tableWhere = [ 'status' => 1, 'table_type' => 0 ]; $tables = Db::name('table')->where($tableWhere)->order('sort DESC')->select(); // 3. 游戏分类定义 $categoryMap = [ 1 => ['id' => 'baccarat', 'name' => '百家乐'], 2 => ['id' => 'dragon', 'name' => '龙虎'], 4 => ['id' => 'niuniu', 'name' => '牛牛'], 5 => ['id' => 'threecard', 'name' => '三卡牛牛'], 6 => ['id' => 'toning', 'name' => '色碟'], 7 => ['id' => 'dice', 'name' => '骰宝'], 8 => ['id' => 'roulette', 'name' => '轮盘'] ]; // 4. 统计各分类桌台数量 $categoryCounts = []; foreach($tables as $table){ $gameId = $table['game_id']; if(!isset($categoryCounts[$gameId])){ $categoryCounts[$gameId] = 0; } $categoryCounts[$gameId]++; } // 构建分类数组 $categories = []; foreach($categoryMap as $gameId => $info){ $count = isset($categoryCounts[$gameId]) ? $categoryCounts[$gameId] : 0; if($count > 0){ $categories[] = [ 'id' => $info['id'], 'name' => $info['name'], 'count' => $count ]; } } // 5. 构建桌台列表详情 $tableList = []; foreach($tables as $table){ $gameId = $table['game_id']; // 确定分类类型 $type = isset($categoryMap[$gameId]) ? $categoryMap[$gameId]['id'] : 'other'; // 获取当前靴和铺信息 $boot = Db::name('boot')->where('table_id', $table['id'])->order('id DESC')->find(); // 确定桌台状态和倒计时 $status = 'waiting'; $countdown = 0; $roadmap = []; if($boot){ // 获取当前铺 $numberTab = Db::name('number_tab')->where([ 'table_id' => $table['id'], 'boot_id' => $boot['id'] ])->order('id DESC')->find(); if($numberTab){ // 根据 bet_status 确定状态 switch($numberTab['bet_status']){ case 0: $status = 'waiting'; break; case 1: $status = 'betting'; // 计算倒计时(如果有) if(isset($numberTab['countdown']) && $numberTab['countdown'] > 0){ $countdown = $numberTab['countdown']; } break; case 2: $status = 'dealing'; break; case 3: $status = 'settled'; break; default: $status = 'waiting'; } } // 获取路单数据(最近72局结果) $roadmap = $this->getSimpleRoadmap($table['id'], $boot['id'], $gameId); } $tableList[] = [ 'id' => intval($table['id']), 'type' => $type, 'name' => $table['table_name'], 'min_limit' => intval($table['min_bankerplayer']), 'max_limit' => intval($table['max_bankerplayer']), 'status' => $status, 'countdown' => $countdown, 'roadmap' => $roadmap ]; } return json([ 'code' => 200, 'msg' => 'success', 'data' => [ 'online_users' => $online_users, 'categories' => $categories, 'tables' => $tableList ] ]); } /** * 获取简化的路单数据 * @param int $tableId 桌台ID * @param int $bootId 靴ID * @param int $gameId 游戏ID * @return array 路单结果数组 ["B", "P", "T", ...] */ private function getSimpleRoadmap($tableId, $bootId, $gameId){ $roadmap = []; $limit = 72; // 最近72局 if($gameId == 1 || $gameId == 2){ // 百家乐、龙虎:从 number_tab 获取结果 $results = Db::name('number_tab') ->where([ 'table_id' => $tableId, 'boot_id' => $bootId, 'bet_status' => 3 ]) ->field('result') ->order('start_time ASC, id ASC') ->limit($limit) ->select(); foreach($results as $row){ switch($row['result']){ case 1: $roadmap[] = 'B'; // Banker/庄/龙 break; case 2: $roadmap[] = 'P'; // Player/闲/虎 break; case 3: $roadmap[] = 'T'; // Tie/和 break; } } } elseif($gameId == 4){ // 牛牛:返回庄家赢/输结果 $results = Db::name('number_tab') ->where([ 'table_id' => $tableId, 'boot_id' => $bootId, 'bet_status' => 3 ]) ->field('win_player_1, win_player_2, win_player_3') ->order('start_time ASC, id ASC') ->limit($limit) ->select(); foreach($results as $row){ // 统计庄家赢了多少个闲家(0=庄赢, 1=闲赢) $playerWins = $row['win_player_1'] + $row['win_player_2'] + $row['win_player_3']; if($playerWins == 0){ $roadmap[] = 'B'; // 庄全赢 } elseif($playerWins == 3){ $roadmap[] = 'P'; // 闲全赢 } else { $roadmap[] = 'T'; // 部分赢 } } } elseif($gameId == 5){ // 三卡牛牛:类似牛牛 $results = Db::name('number_tab') ->where([ 'table_id' => $tableId, 'boot_id' => $bootId, 'bet_status' => 3 ]) ->field('win_player_1, win_player_2, win_player_3') ->order('start_time ASC, id ASC') ->limit($limit) ->select(); foreach($results as $row){ $playerWins = $row['win_player_1'] + $row['win_player_2'] + $row['win_player_3']; if($playerWins == 0){ $roadmap[] = 'B'; } elseif($playerWins == 3){ $roadmap[] = 'P'; } else { $roadmap[] = 'T'; } } } elseif($gameId == 6){ // 色碟:大小单双 $results = Db::name('number_tab') ->where([ 'table_id' => $tableId, 'boot_id' => $bootId, 'bet_status' => 3 ]) ->field('toning_result') ->order('start_time ASC, id ASC') ->limit($limit) ->select(); foreach($results as $row){ // toning_result: 红碟数量 0-4 $red = intval($row['toning_result']); if($red >= 3){ $roadmap[] = 'B'; // 大 } else { $roadmap[] = 'S'; // 小 } } } elseif($gameId == 7){ // 骰宝:大小 $results = Db::name('number_tab') ->where([ 'table_id' => $tableId, 'boot_id' => $bootId, 'bet_status' => 3 ]) ->field('dice_result') ->order('start_time ASC, id ASC') ->limit($limit) ->select(); foreach($results as $row){ // dice_result: 三个骰子点数 $diceArr = explode(',', $row['dice_result']); $total = 0; foreach($diceArr as $d){ $total += intval($d); } if($total >= 11){ $roadmap[] = 'B'; // 大 } else { $roadmap[] = 'S'; // 小 } } } elseif($gameId == 8){ // 轮盘:结果数字 $results = Db::name('number_tab') ->where([ 'table_id' => $tableId, 'boot_id' => $bootId, 'bet_status' => 3 ]) ->field('roulette_result') ->order('start_time ASC, id ASC') ->limit($limit) ->select(); foreach($results as $row){ $num = intval($row['roulette_result']); $roadmap[] = strval($num); } } return $roadmap; } }