Pro/application/admin/controller/Pcapi.php
li 1ce6c3d780 feat: 牛牛新增四条(炸弹)赔率配置 price_bomb
- 后台管理: Player/Agent 控制器新增接收、验证、保存
- 后台页面: player/agent 添加/编辑/列表页新增赔率字段
- 代理端: 继承/展示 price_bomb
- 预测赔率: jk/Pcapi/onlinechip 新增 bomb_forecast
- Betinfo: 新增 result==12 赔率查询

数据库需执行:
ALTER TABLE cg_user ADD COLUMN price_bomb float(5,2) NOT NULL DEFAULT 4.85 COMMENT '四条赔率' AFTER price_5n;
2026-02-11 17:32:41 +08:00

2836 lines
140 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\admin\controller;
use \think\Controller;
use \think\Request;
use \think\Db;
use \think\Lang;
use \think\Session;
use \think\Log;
use \think\Config;
class Pcapi extends Controller{
public function __construct(){
parent::__construct();
$actionName = Request::instance()->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']);
$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'] = 2000;
$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;
//获取公告
$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']);
$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'=>'更新失败']);
}
//登录
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;
$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' => '账号或者密码错误']);
}
}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::connect('DB2')->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::connect('DB2')->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::connect('DB2')->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();
if($user && $user['api_token'] == $api_token){
//更新session
// Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time()));
$tables = Db::connect('DB2')->name('table')->where(array('status' => 1,'table_type'=>0))->order('sort DESC')->select();
$returnData = array();
foreach($tables AS $key => $value){
// 判断游戏类型
if($value['game_id'] == 1){
$bootTabTable = 'boot';
$numberTabTable = 'number_tab';
$betTable = 'bet';
$cradTable = 'card';
}elseif($value['game_id'] == 2){
$bootTabTable = 'boot';
$numberTabTable = 'number_tab';
$betTable = 'bet';
$cradTable = 'card_dt';
}elseif($value['game_id'] == 4){
$bootTabTable = 'boot';
$numberTabTable = 'number_tab';
$betTable = 'bet';
$cradTable = 'card_nn';
}elseif($value['game_id'] == 5){
$bootTabTable = 'boot';
$numberTabTable = 'number_tab';
$betTable = 'bet';
$cradTable = 'card_tc';
}
$boot = Db::connect('DB2')->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['palyerCount'] = 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['palyer_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['palyer_pair_Count'] = $value['palyer_pair_Count'] + $all_pair;
}
$number_tab = Db::connect('DB2')->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::connect('DB2')->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::connect('DB2')->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 = Db::connect('DB2')->name($cradTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id']))->find();
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['palyerCount'] = 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::connect('DB2')->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::connect('DB2')->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::connect('DB2')->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 = Db::connect('DB2')->name($cradTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id']))->find();
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::connect('DB2')->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::connect('DB2')->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::connect('DB2')->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 = Db::connect('DB2')->name($cradTable)->where(array('table_id' => $value['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id']))->find();
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['nn_result']['player_1_result'] = $player_1_result['word'];
}else{
$value['nn_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['nn_result']['player_2_result'] = $player_2_result['word'];
}else{
$value['nn_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['nn_result']['player_3_result'] = $player_3_result['word'];
}else{
$value['nn_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['nn_result']['banker_result'] = $banker_result['word'];
}else{
$value['nn_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['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;
}
}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'] = '';
}
}
//赔率
$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['countDown'] = 0;
$value['sendMode'] = '';
$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' => '获取信息失败'));
}
}
}
//返回单张桌子
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());
if($json_arr){
$table_id = intval($json_arr['table_id']);
$user_id = intval($json_arr['user_id']);
$api_token = trim($json_arr['api_token']);
$user = Db::connect('DB2')->name('user')->where(array('id' => $user_id))->find();
if($table_id > 0 && $user && $user['api_token'] == $api_token){
//更新session
// Db::name('session')->where(array('session_id' => $user['api_token']))->update(array('last_time' => time(), 'table_id' => $table_id));
$table = Db::connect('DB2')->name('table')->where(array('id' => $table_id, 'status' => 1))->find();
$table['isout'] = $user['isout'];
$game_id = $table['game_id'];
// 判断游戏类型
if($game_id == 1){
$bootTabTable = 'boot';
$numberTabTable = 'number_tab';
$betTable = 'bet';
$cradTable = 'card';
}elseif($game_id == 2){
$bootTabTable = 'boot';
$numberTabTable = 'number_tab';
$betTable = 'bet';
$cradTable = 'card_dt';
}elseif($game_id == 4){
$bootTabTable = 'boot';
$numberTabTable = 'number_tab';
$betTable = 'bet';
$cradTable = 'card_nn';
}elseif($game_id == 5){
$bootTabTable = 'boot';
$numberTabTable = 'number_tab';
$betTable = 'bet';
$cradTable = 'card_tc';
}
if($game_id == 4){
$boot = Db::connect('DB2')->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::connect('DB2')->name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'win_player_1' => 1))->count();
$table['player_2_count'] = Db::connect('DB2')->name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'win_player_2' => 1))->count();
$table['player_3_count'] = Db::connect('DB2')->name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'win_player_3' => 1))->count();
$number_tab = Db::connect('DB2')->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::connect('DB2')->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::connect('DB2')->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 = Db::connect('DB2')->name($cradTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id']))->find();
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::connect('DB2')->name($bootTabTable)->where('table_id',$table['id'])->order('id DESC')->find();
if($boot){
$table['boot_num'] = $boot['boot_num'];
$table['player_1_count'] = Db::connect('DB2')->name($numberTabTable)->where(array('boot_id' => $boot['id'], 'win_player_1' => 1))->count();
$table['player_2_count'] = Db::connect('DB2')->name($numberTabTable)->where(array('boot_id' => $boot['id'], 'win_player_2' => 1))->count();
$table['player_3_count'] = Db::connect('DB2')->name($numberTabTable)->where(array('boot_id' => $boot['id'], 'win_player_3' => 1))->count();
$number_tab = Db::connect('DB2')->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::connect('DB2')->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_1_count'] = 0;
$table['player_1_count'] = 0;
$table['ludan'] = array();
}
}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['palyerCount'] = Db::connect('DB2')->name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'result' => 2))->count();
$table['tieCount'] = Db::connect('DB2')->name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'result' => 3))->count();
$table['bankerCount'] = Db::connect('DB2')->name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'result' => 1))->count();
if($game_id == 1){
$table['palyer_pair_Count'] = Db::connect('DB2')->name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'pair' => 2))->count();
$table['banker_pair_Count'] = Db::connect('DB2')->name($numberTabTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'pair' => 1))->count();
$all_pair = Db::connect('DB2')->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['palyer_pair_Count'] = $table['palyer_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::connect('DB2')->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::connect('DB2')->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 = Db::connect('DB2')->name($cradTable)->where(array('table_id' => $table['id'], 'boot_id' => $boot['id'], 'number_tab_id' => $cur_number_tab['id']))->find();
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['palyerCount'] = 0;
$table['tieCount'] = 0;
$table['bankerCount'] = 0;
$table['ludan'] = array();
$table['ludan_banker'] = array();
$table['ludan_player'] = array();
$table['bet_status'] = 0;
}
}
$data = encrypt_data($table);
return json(array('Success' => 1, 'Data' => $data));
}else{
return json(array('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' => 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){
$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::connect('DB2')->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::connect('DB2')->name('bet')->where($betWhere)->order('id desc')->limit($limie_start,$page_list)->select();
$bet_num = Db::connect('DB2')->name('bet')->where($betWhere)->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 == 1){
$number_info = Db::connect('DB2')->name('number_tab')->where('id',$v['number_tab_id'])->find();
if($number_info['bet_status'] == 3){
if($v['result'] == 1){
$result = '庄赢';
}elseif($v['result'] == 2){
$result = '闲赢';
}elseif($v['result'] == 3){
$result = '和';
}else{
$result = '-';
}
if($v['pair'] == 1){
$pair = ',庄对';
}elseif($v['pair'] == 2){
$pair = ',闲对';
}elseif($v['pair'] == 3){
$pair = ',庄闲对';
}else{
$pair = '';
}
$v['card_result'] = $result.$pair;
}else{
$v['card_result'] = '-';
}
if($v['status'] == 2){
$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'] = '';
if($v['banker_amount'] > 0){
$data['user_bet'] = $data['user_bet'].'庄('.$v['banker_amount'].')';
}
if($v['player_amount'] > 0){
$data['user_bet'] = $data['user_bet'].'闲('.$v['player_amount'].')';
}
if($v['tie_amount'] > 0){
$data['user_bet'] = $data['user_bet'].'和('.$v['tie_amount'].')';
}
if($v['banker_pair_amount'] > 0){
$data['user_bet'] = $data['user_bet'].'庄对('.$v['banker_pair_amount'].')';
}
if($v['player_pair_amount'] > 0){
$data['user_bet'] = $data['user_bet'].'闲对('.$v['player_pair_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'];
$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::connect('DB2')->name('number_tab')->where('id',$v['number_tab_id'])->find();
if($number_info['bet_status'] == 3){
if($v['result'] == 1){
$result = '龙赢';
}elseif($v['result'] == 2){
$result = '虎赢';
}elseif($v['result'] == 3){
$result = '和';
}else{
$result = '-';
}
$v['card_result'] = $result;
}else{
$v['card_result'] = '-';
}
if($v['status'] == 2){
$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'] = '';
if($v['banker_amount'] > 0){
$data['user_bet'] = $data['user_bet'].'龙('.$v['banker_amount'].')';
}
if($v['player_amount'] > 0){
$data['user_bet'] = $data['user_bet'].'虎('.$v['player_amount'].')';
}
if($v['tie_amount'] > 0){
$data['user_bet'] = $data['user_bet'].'和('.$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'];
$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::connect('DB2')->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'] = '-';
}
if($v['status'] == 2){
$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'].'闲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'].')';
}
if($number_info['rob_banker_id'] == $user_id){
$data['user_bet'] = '本局为庄家';
$data['number_is_rob'] = 1;
}
$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['number_tab_id'] = $v['number_tab_id'];
$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::connect('DB2')->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['user_bet'] = '';
$data['number_is_rob'] = 0;
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'].')';
}
if($number_info['rob_banker_id'] == $user_id){
$data['user_bet'] = '本局为庄家';
$data['number_is_rob'] = 1;
}
$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['number_tab_id'] = $v['number_tab_id'];
$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::connect('DB2')->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::connect('DB2')->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::connect('DB2')->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::connect('DB2')->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::connect('DB2')->name('tip')->where($betWhere)->order('id desc')->limit($limie_start,$page_list)->select();
$tip_num = Db::connect('DB2')->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){
$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::connect('DB2')->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));
$tableMode = Db::connect('DB2')->name('table')->where(array('id' => $table_id))->value('mode');
$betArray = Db::connect('DB2')->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::connect('DB2')->name('user')->where(array('id' => $user_id))->field(array('price_banker','price_player','price_tie_baccarat','price_pair'))->find();
if($betArray){
$number_table = Db::connect('DB2')->name('number_tab')->where(array('id' => $number_tab_id))->field(array('result','pair','win6'))->find();
$isWin6 = $number_table['win6'];
$result = $number_table['result'];
$pair = $number_table['pair'];
$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'];
if($tableMode == 2){
//免佣桌
$b_multiple = $isWin6 == 1 ? 0.5 : 1;
$p_multiple = 1;
$t_multiple = 8;
$pp_multiple = 11;
}else{
//普通卓
$b_multiple = $priceArray['price_banker'];
$p_multiple = $priceArray['price_player'];
$t_multiple = $priceArray['price_tie_baccarat'];
$pp_multiple = $priceArray['price_pair'];
}
$win_total = 0;
if($banker_amount > 0){
if($result == 1){
$returnArray[] = array('name' => '庄', 'amount' => $banker_amount, 'win_amount' => round($banker_amount * $b_multiple,2));
}elseif($result == 3){
$returnArray[] = array('name' => '庄', 'amount' => $banker_amount, 'win_amount' => 0);
}else{
$returnArray[] = array('name' => '庄', 'amount' => $banker_amount, 'win_amount' => to_number($banker_amount));
}
}else{
$returnArray[] = array('name' => '庄', 'amount' => 0, 'win_amount' => 0);
}
if($player_amount > 0){
if($result == 2){
$returnArray[] = array('name' => '闲', 'amount' => $player_amount, 'win_amount' => round($player_amount * $p_multiple,2));
}elseif($result == 3){
$returnArray[] = array('name' => '闲', 'amount' => $player_amount, 'win_amount' => 0);
}else{
$returnArray[] = array('name' => '闲', 'amount' => $player_amount, 'win_amount' => to_number($player_amount));
}
}else{
$returnArray[] = array('name' => '闲', 'amount' => 0, 'win_amount' => 0);
}
if($tie_amount > 0){
if($result == 3){
$returnArray[] = array('name' => '和', 'amount' => $tie_amount, 'win_amount' => round($tie_amount * $t_multiple,2));
}else{
$returnArray[] = array('name' => '和', 'amount' => $tie_amount, 'win_amount' => to_number($tie_amount));
}
}else{
$returnArray[] = array('name' => '和', 'amount' => 0, 'win_amount' => 0);
}
if($banker_pair_amount > 0){
if($pair == 1 || $pair == 3){
$returnArray[] = array('name' => '庄对', 'amount' => $banker_pair_amount, 'win_amount' => round($banker_pair_amount * $pp_multiple,2));
}else{
$returnArray[] = array('name' => '庄对', 'amount' => $banker_pair_amount, 'win_amount' => to_number($banker_pair_amount));
}
}else{
$returnArray[] = array('name' => '庄对', 'amount' => 0, 'win_amount' => 0);
}
if($player_pair_amount > 0){
if($pair == 2 || $pair == 3){
$returnArray[] = array('name' => '闲对', 'amount' => $player_pair_amount, 'win_amount' => round($player_pair_amount * $pp_multiple,2));
}else{
$returnArray[] = array('name' => '闲对', 'amount' => $player_pair_amount, 'win_amount' => to_number($player_pair_amount));
}
}else{
$returnArray[] = array('name' => '闲对', '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){
$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::connect('DB2')->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::connect('DB2')->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::connect('DB2')->name('user')->where(array('id' => $user_id))->field(array('price_dragon','price_tiger','price_tie_dt'))->find();
if($betArray){
$number_table = Db::connect('DB2')->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' => '龙', 'amount' => $banker_amount, 'win_amount' => round($banker_amount * $priceArray['price_dragon'],2));
}elseif($result == 3){
if(DT_HALF == 1){
$returnArray[] = array('name' => '龙', 'amount' => $banker_amount, 'win_amount' => to_number($banker_amount / 2,2));
}else{
$returnArray[] = array('name' => '龙', 'amount' => $banker_amount, 'win_amount' => 0);
}
}else{
$returnArray[] = array('name' => '龙', 'amount' => $banker_amount, 'win_amount' => to_number($banker_amount));
}
}else{
$returnArray[] = array('name' => '龙', 'amount' => 0, 'win_amount' => 0);
}
if($tie_amount > 0){
if($result == 3){
$returnArray[] = array('name' => '和', 'amount' => $tie_amount, 'win_amount' => round($tie_amount * $priceArray['price_tie_dt'],2));
}else{
$returnArray[] = array('name' => '和', 'amount' => $tie_amount, 'win_amount' => to_number($tie_amount));
}
}else{
$returnArray[] = array('name' => '和', 'amount' => 0, 'win_amount' => 0);
}
if($player_amount > 0){
if($result == 2){
$returnArray[] = array('name' => '虎', 'amount' => $player_amount, 'win_amount' => round($player_amount * $priceArray['price_tiger'],2));
}elseif($result == 3){
if(DT_HALF == 1){
$returnArray[] = array('name' => '虎', 'amount' => $player_amount, 'win_amount' => to_number($player_amount / 2,2));
}else{
$returnArray[] = array('name' => '虎', 'amount' => $player_amount, 'win_amount' => 0);
}
}else{
$returnArray[] = array('name' => '虎', 'amount' => $player_amount, 'win_amount' => to_number($player_amount));
}
}else{
$returnArray[] = array('name' => '虎', '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::connect('DB2')->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::connect('DB2')->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::connect('DB2')->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::connect('DB2')->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::connect('DB2')->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::connect('DB2')->name('bet')->where($betWhere)->where('user_id','<>',$user_id)->order('id desc')->limit($limie_start,$page_list)->select();
$bet_num = Db::connect('DB2')->name('bet')->where($betWhere)->where('user_id','<>',$user_id)->order('id desc')->count();
}elseif($game_id == 5){
$bet = Db::connect('DB2')->name('bet')->where($betWhere)->where('user_id','<>',$user_id)->order('id desc')->limit($limie_start,$page_list)->select();
$bet_num = Db::connect('DB2')->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::connect('DB2')->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::connect('DB2')->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 = isset($data['area_id'])?$data['area_id']:'';
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'];
/*
$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;
$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 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(ADMIN_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' => ADMIN_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]);
}
}
}