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