Pro/application/admin/controller/Player.php
2026-02-25 01:50:31 +08:00

1715 lines
70 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

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

<?php
namespace app\admin\controller;
use think\Db;
use think\Request;
use think\Session;
class Player extends Common{
/**
* 玩家列表
*/
public function index()
{
// 接收分页的条件
$get = Request::instance()->get();
$query = http_build_query($get);
$this->assign('get',$get);
$this->assign('query',$query);
// 接收搜索的条件信息
$username = Request::instance()->get('username');
$agent_parent = Request::instance()->get('agent_parent');
$status = Request::instance()->get('status');
$startDate = Request::instance()->get('startDate');
$endDate = Request::instance()->get('endDate');
$export = Request::instance()->get('export');
$startTime = 0;
$endTime = time();
//直属玩家搜索
$whereown = array();
$id = Request::instance()->get('id');
if($id){
$whereown['agent_parent_id'] = $id;
}
// 拼装搜索条件
$where = array();
if(!empty($username)) $where['username'] = array('like',"%".$username."%");
if(!empty($agent_parent)){
$where['agent_parent_username'] = array('like',"%".$agent_parent."%");
}
if($status > 0){
// 锁定不能用0作为判断用2代替
if($status == 2){
$where['status'] = 0;
}else{
$where['status'] = $status;
}
}
if($startDate) $startTime = strtotime($startDate);
if($endDate) $endTime = strtotime($endDate);
$where['is_delete'] = 0; // 未删除
$where['agent'] = 0; // 玩家
$where['reg_time'] = array('between',[$startTime,$endTime]);
if($export == 1){
$agent_list = Db::name('user')->where($where)->where($whereown)->order('reg_time desc')->select();
}else{
// 获取所有代理信息
$agent_list = Db::name('user')->where($where)->where($whereown)->order('reg_time desc')->paginate(10,false,array('query'=>$get));
}
$agent_sum = Db::name('user')->where($where)->count();
foreach($agent_list as $k => $v){
$v['reg_time'] = date("Y-m-d H:i:s",$v['reg_time']);
if(empty($v['nickname'])) $v['nickname'] = "";
// 总下注
$v['all_bet_amount'] = Db::name('bet')->where('user_id',$v['id'])->sum('amount');
// 总赢
$v['win_total'] = Db::name('bet')->where('user_id',$v['id'])->sum('win_total');
// 码量
$v['maliang'] = Db::name('xima')->where('user_id',$v['id'])->sum('net_maliang');
if($v['bet_type'] == 1){
$v['bet_type'] = '网络投注';
}elseif($v['bet_type'] == 2){
$v['bet_type'] = '电话投注';
}elseif($v['bet_type'] == 3){
$v['bet_type'] = '所有投注';
}else{
$v['bet_type'] = '无';
}
$agent_list[$k] = $v;
}
//导出excel列表
if($export == 1){
if($agent_list){
//重新组合
$excelData = array();
foreach($agent_list AS $k => $v){
$excelData[$k][0] = $v['username'];
$excelData[$k][1] = $v['nickname'];
$excelData[$k][2] = $v['mobile'];
$excelData[$k][3] = $v['email'];
if($v['agent_parent_id'] > 0){
$excelData[$k][4] = $v['agent_parent_username']."(".$v['agent_parent_nickname'].")";
}else{
$excelData[$k][4] = '';
}
$excelData[$k][5] = "玩家";
$excelData[$k][6] = $v['last_recharge'];
$excelData[$k][7] = $v['money'];
$excelData[$k][8] = $v['agent_ximalv'];
$excelData[$k][9] = $v['agent_ximalv_dt'];
$excelData[$k][10] = $v['all_bet_amount'];
$excelData[$k][11] = $v['win_total'];
$excelData[$k][12] = $v['maliang'];
$excelData[$k][13] = $v['reg_time'];
if($v['status'] == 1){
$excelData[$k][14] = "正常";
}else{
$excelData[$k][14] = "锁定";
}
}
$title = array('用户名','联系人','手机','邮箱','上级代理','代理类型','最近上分','商户余额','百家乐码率','龙虎码率','总下注','总赢','码量','创建日期','状态');
if($startDate && $endDate){
$this->exportExcelCore($excelData, '玩家列表-'.$startDate."--".$endDate, $title);
}else{
$this->exportExcelCore($excelData, '玩家列表', $title);
}
exit('已导出支持列表,请不要重复刷新该页面!');
}else{
exit('没有可以导出的列表!');
}
}
// 渲染变量和模板
$this->assign('agent_list',$agent_list);
$this->assign('agent_sum',$agent_sum);
return $this->fetch();
}
/**
* 添加代理页面
*/
public function player_add()
{
// 获取所有代理信息和限红信息
$agent_list = Db::name('user')->where('agent',1)->select();
$limit_list = Db::name('limit_money')->where('status',1)->select();
// 渲染参数和模板
$this->assign('agent_list',$agent_list);
$this->assign('limit_list',$limit_list);
return $this->fetch('/player/player-add');
}
/**
* 处理添加代理
*/
public function do_player_add()
{
if(Request::instance()->post()){
// 获取管理员信息
$user_info = Session::get('user_info');
// 接收提交过来的数据
$parent_agent_id = Request::instance()->post('parent_agent_id');
$username = Request::instance()->post('username');
$nickname = Request::instance()->post('nickname');
$pass = Request::instance()->post('pass');
$repass = Request::instance()->post('repass');
$ximalv = round(Request::instance()->post('ximalv'),2);
$ximalv_dt = round(Request::instance()->post('ximalv_dt'),2);
$cs = Request::instance()->post('cs');
$mobile = Request::instance()->post('mobile');
$email = Request::instance()->post('email');
$limit_low = intval(Request::instance()->post('limit_low'));
$limit_high = intval(Request::instance()->post('limit_high'));
$price_banker = Request::instance()->post('price_banker');
$price_player = Request::instance()->post('price_player');
$price_tie_baccarat = Request::instance()->post('price_tie_baccarat');
$price_pair = Request::instance()->post('price_pair');
$price_dragon = Request::instance()->post('price_dragon');
$price_tiger = Request::instance()->post('price_tiger');
$price_tie_dt = Request::instance()->post('price_tie_dt');
$price_n7_n9 = Request::instance()->post('price_n7_n9');
$price_nn = Request::instance()->post('price_nn');
$price_5n = Request::instance()->post('price_5n');
$price_bomb = Request::instance()->post('price_bomb');
$win_limit = Request::instance()->post('win_limit');
// 验证数据
if($limit_low > 0 && $limit_high > 0 && $limit_low >= $limit_high){
die(json_encode(['code'=>0,'msg'=>'请正确选择限红!']));
}
$bet_type = Request::instance()->post('bet_type');
// 数据验证
if( !isset($username) && empty($username) ){
die(json_encode(['code'=>0,'msg'=>'用户名不能为空!']));
}
if( !isset($nickname) && empty($nickname) ){
die(json_encode(['code'=>0,'msg'=>'昵称不能为空!']));
}
if( !isset($pass) && empty($pass) ){
die(json_encode(['code'=>0,'msg'=>'密码不能为空!']));
}
if($parent_agent_id > 0){
$parent_agent = Db::name('user')->where('id',$parent_agent_id)->find();
if( $ximalv > $parent_agent['agent_ximalv'] || $ximalv_dt > $parent_agent['agent_ximalv_dt']){
die(json_encode(['code'=>0,'msg'=>'码率不能大于父级代理码率']));
}
if( $cs > $parent_agent['agent_cs'] ){
die(json_encode(['code'=>0,'msg'=>'占成不能大于'.$parent_agent['agent_cs'].'%!']));
}
}else{
if( $ximalv > 100 || $ximalv_dt > 100 ){
die(json_encode(['code'=>0,'msg'=>'洗码率不能大于100%!']));
}
if( $cs > 100 ){
die(json_encode(['code'=>0,'msg'=>'占成不能大于100%!']));
}
}
if( $repass != $pass ){
die(json_encode(['code'=>0,'msg'=>'两次密码不一致!']));
}
if( $bet_type <= 0 ){
die(json_encode(['code'=>0,'msg'=>'请选择投注方式!']));
}
if($price_banker <= 0){
die(json_encode(['code'=>0,'msg'=>'押庄赔率必须大于0!']));
}
if($price_player <= 0){
die(json_encode(['code'=>0,'msg'=>'押闲赔率必须大于0!']));
}
if($price_tie_baccarat <= 0){
die(json_encode(['code'=>0,'msg'=>'押和(百家乐)赔率必须大于0!']));
}
if($price_pair <= 0){
die(json_encode(['code'=>0,'msg'=>'押对子赔率必须大于0!']));
}
if($price_dragon <= 0){
die(json_encode(['code'=>0,'msg'=>'押龙赔率必须大于0!']));
}
if($price_tiger <= 0){
die(json_encode(['code'=>0,'msg'=>'押虎赔率必须大于0!']));
}
if($price_tie_dt <= 0){
die(json_encode(['code'=>0,'msg'=>'押和(龙虎斗)赔率必须大于0!']));
}
if($price_n7_n9 <= 0){
die(json_encode(['code'=>0,'msg'=>'押牛7-牛9赔率必须大于0!']));
}
if($price_nn <= 0){
die(json_encode(['code'=>0,'msg'=>'押牛牛赔率必须大于0!']));
}
if($price_5n <= 0){
die(json_encode(['code'=>0,'msg'=>'押五公赔率必须大于0!']));
}
if($price_bomb <= 0){
die(json_encode(['code'=>0,'msg'=>'押四条赔率必须大于0!']));
}
if(empty($win_limit)){
die(json_encode(['code'=>0,'msg'=>'日赢上限不能为空!']));
}
// 检测用户名是否已经被注册
$user = Db::name('user')->where('username',$username)->find();
if($user){
die(json_encode(['code'=>0,'msg'=>'用户已存在!']));
}
// 获取IP地址
if(getIp()){
$ip = getIp();
}else{
$ip = '0.0.0.0';
}
// 拼装数据
$data = array();
$data['username'] = $username;
$data['nickname'] = $nickname;
$data['password'] = think_ucenter_md5($pass, UC_AUTH_KEY);
$data['mobile'] = $mobile;
$data['encrypt'] = getRandChar();
$data['agent_ximalv'] = $ximalv;
$data['agent_ximalv_dt'] = $ximalv_dt;
$data['agent_cs'] = $cs;
$data['bet_type'] = $bet_type;
$data['status'] = 1;
$data['agent'] = 0;
if($parent_agent_id > 0){
$parent_agent = Db::name('user')->where('id',$parent_agent_id)->find();
$data['agent_parent_id'] = $parent_agent['id'];
$data['agent_parent_username'] = $parent_agent['username'];
$data['agent_parent_nickname'] = $parent_agent['nickname'];
}
$data['agent_level'] = 0;
$data['reg_time'] = time();
$data['reg_ip'] = $ip;
$data['create_mode'] = 1;
$data['agent_mode'] = 0;
$data['is_under'] = 1;
$data['email'] = $email;
$data['limit_low'] = $limit_low;
$data['limit_high'] = $limit_high;
$data['create_user_id'] = $user_info['id'];
$data['avatar'] = '/static/admin/images/admin.jpg';
$data['price_banker'] = $price_banker;
$data['price_player'] = $price_player;
$data['price_tie_baccarat'] = $price_tie_baccarat;
$data['price_pair'] = $price_pair;
$data['price_dragon'] = $price_dragon;
$data['price_tiger'] = $price_tiger;
$data['price_tie_dt'] = $price_tie_dt;
$data['price_n7_n9'] = $price_n7_n9;
$data['price_nn'] = $price_nn;
$data['price_5n'] = $price_5n;
$data['price_bomb'] = $price_bomb;
$data['win_limit'] = $win_limit;
$insert_id = Db::name('user')->insertGetId($data);
if($insert_id){
if($parent_agent_id > 0){
Db::name('user')->where(array('id' => $insert_id))->update(array('agent_parent_id_path' => $parent_agent['agent_parent_id_path'].','.$insert_id));
}else{
Db::name('user')->where(array('id' => $insert_id))->update(array('agent_parent_id_path' => $insert_id));
}
// 写入管理员日志
insertAdminLog('添加会员','添加会员:| ID: '.$insert_id.' | 账号: '.$username);
die(json_encode(['code'=>1,'msg'=>'添加成功!']));
}else{
die(json_encode(['code'=>0,'msg'=>'添加失败!']));
}
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
/**
* 编辑代理页面
*/
public function player_edit()
{
// 接收代理ID查询代理信息
$id = Request::instance()->get('id');
$player = Db::name('user')->find($id);
// 上级代理信息
if($player['agent_parent_id'] > 0){
$parent_agent = Db::name('user')->where('id',$player['agent_parent_id'])->find();
}else{
$parent_agent = array();
$parent_agent['id'] = 0;
$parent_agent['username'] = '无';
$parent_agent['agent_ximalv'] = 100;
$parent_agent['agent_ximalv_dt'] = 100;
$parent_agent['agent_cs'] = 100;
}
// 限红信息
$limit_list = Db::name('limit_money')->where('status',1)->select();
$checked_limit = explode(",",$player['limit_money_ids']);
foreach($checked_limit as $a => $d){
foreach($limit_list as $k => $v){
if($v['id'] == $d){
$v['is_check'] = 1;
}
$limit_list[$k] = $v;
}
}
$this->assign('limit_list',$limit_list);
$this->assign('player',$player);
$this->assign('parent_agent',$parent_agent);
return $this->fetch('/player/player-edit');
}
/**
* 处理修改会员信息
*/
public function do_player_edit()
{
if(Request::instance()->post()){
// 接收传过来的数据
$player_id = Request::instance()->post('player_id');
$username = Request::instance()->post('username');
$nickname = Request::instance()->post('nickname');
$pass = Request::instance()->post('pass');
$repass = Request::instance()->post('repass');
$ximalv = round(Request::instance()->post('ximalv'),2);
$ximalv_dt = round(Request::instance()->post('ximalv_dt'),2);
$cs = Request::instance()->post('cs');
$mobile = Request::instance()->post('mobile');
$email = Request::instance()->post('email');
$limit_low = intval(Request::instance()->post('limit_low'));
$limit_high = intval(Request::instance()->post('limit_high'));
$price_banker = Request::instance()->post('price_banker');
$price_player = Request::instance()->post('price_player');
$price_tie_baccarat = Request::instance()->post('price_tie_baccarat');
$price_pair = Request::instance()->post('price_pair');
$price_dragon = Request::instance()->post('price_dragon');
$price_tiger = Request::instance()->post('price_tiger');
$price_tie_dt = Request::instance()->post('price_tie_dt');
$price_n7_n9 = Request::instance()->post('price_n7_n9');
$price_nn = Request::instance()->post('price_nn');
$price_5n = Request::instance()->post('price_5n');
$price_bomb = Request::instance()->post('price_bomb');
$win_limit = Request::instance()->post('win_limit');
// 验证数据
if($limit_low > 0 && $limit_high > 0 && $limit_low >= $limit_high){
die(json_encode(['code'=>0,'msg'=>'请正确选择限红!']));
}
$bet_type = Request::instance()->post('bet_type');
//数据验证
if(empty($username)){
die(json_encode(['code'=>0,'msg'=>'会员账号不能为空!']));
}
if(empty($nickname)){
die(json_encode(['code'=>0,'msg'=>'会员昵称不能为空!']));
}
if(!empty($pass) && strlen($pass) < 6){
die(json_encode(['code'=>0,'msg'=>'密码长度不能少于6位!']));
}
if(!empty($pass) && $pass != $repass){
die(json_encode(['code'=>0,'msg'=>'两次密码输入不一致!']));
}
$player = Db::name('user')->find($player_id);
if($player['agent_parent_id'] > 0){
$parent_agent = Db::name('user')->where('id',$player['agent_parent_id'])->find();
if( $ximalv > $parent_agent['agent_ximalv'] || $ximalv_dt > $parent_agent['agent_ximalv_dt'] ){
die(json_encode(['code'=>0,'msg'=>'码率不能大于父级代理码率']));
}
if( $cs > $parent_agent['agent_cs'] ){
die(json_encode(['code'=>0,'msg'=>'占成不能大于'.$parent_agent['agent_cs'].'%!']));
}
}else{
if( $ximalv > 100 ){
die(json_encode(['code'=>0,'msg'=>'洗码率不能大于100%!']));
}
if( $cs > 100 ){
die(json_encode(['code'=>0,'msg'=>'占成不能大于100%!']));
}
}
if($bet_type <= 0){
die(json_encode(['code'=>0,'msg'=>'请选择投注方式']));
}
if($price_banker <= 0){
die(json_encode(['code'=>0,'msg'=>'押庄赔率必须大于0!']));
}
if($price_player <= 0){
die(json_encode(['code'=>0,'msg'=>'押闲赔率必须大于0!']));
}
if($price_tie_baccarat <= 0){
die(json_encode(['code'=>0,'msg'=>'押和(百家乐)赔率必须大于0!']));
}
if($price_pair <= 0){
die(json_encode(['code'=>0,'msg'=>'押对子赔率必须大于0!']));
}
if($price_dragon <= 0){
die(json_encode(['code'=>0,'msg'=>'押龙赔率必须大于0!']));
}
if($price_tiger <= 0){
die(json_encode(['code'=>0,'msg'=>'押虎赔率必须大于0!']));
}
if($price_tie_dt <= 0){
die(json_encode(['code'=>0,'msg'=>'押和(龙虎斗)赔率必须大于0!']));
}
if($price_n7_n9 <= 0){
die(json_encode(['code'=>0,'msg'=>'押牛7-牛9赔率必须大于0!']));
}
if($price_nn <= 0){
die(json_encode(['code'=>0,'msg'=>'押牛牛赔率必须大于0!']));
}
if($price_5n <= 0){
die(json_encode(['code'=>0,'msg'=>'押五公赔率必须大于0!']));
}
if($price_bomb <= 0){
die(json_encode(['code'=>0,'msg'=>'押四条赔率必须大于0!']));
}
if(empty($win_limit)){
die(json_encode(['code'=>0,'msg'=>'日赢上限不能为空!']));
}
// 拼装数据
$data = array();
$data['username'] = $username;
$data['nickname'] = $nickname;
if(!empty($pass)) $data['password'] = think_ucenter_md5($pass, UC_AUTH_KEY);
$data['agent_ximalv'] = $ximalv;
$data['agent_ximalv_dt'] = $ximalv_dt;
$data['agent_cs'] = $cs;
$data['bet_type'] = $bet_type;
$data['mobile'] = $mobile;
$data['email'] = $email;
$data['limit_low'] = $limit_low;
$data['limit_high'] = $limit_high;
$data['update_time'] = time();
$data['price_banker'] = $price_banker;
$data['price_player'] = $price_player;
$data['price_tie_baccarat'] = $price_tie_baccarat;
$data['price_pair'] = $price_pair;
$data['price_dragon'] = $price_dragon;
$data['price_tiger'] = $price_tiger;
$data['price_tie_dt'] = $price_tie_dt;
$data['price_n7_n9'] = $price_n7_n9;
$data['price_nn'] = $price_nn;
$data['price_5n'] = $price_5n;
$data['price_bomb'] = $price_bomb;
$data['win_limit'] = $win_limit;
// 修改会员资料
$result = Db::name('user')->where('id',$player_id)->update($data);
if($result){
insertAdminLog('修改会员','修改会员:| ID: '.$player_id.' | 账号:'.$username);
die(json_encode(['code'=>1,'msg'=>'修改成功!']));
}else{
die(json_encode(['code'=>0,'msg'=>'修改失败!']));
}
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
/**
* 修改用户状态(锁定和解锁用户)
*/
public function change_status()
{
if(Request::instance()->post()){
// 接收传过来的数据
$user_id = Request::instance()->post('user_id');
$status = Request::instance()->post('status');
// 数据验证
if( !isset($user_id) && empty($user_id) ){
die(json_encode(['code'=>0,'msg'=>'用户不能为空!']));
}
if( !isset($status) && empty($status) ){
die(json_encode(['code'=>0,'msg'=>'状态不能为空!']));
}
// 修改用户状态
$result = Db::name('user')->where('id',$user_id)->update(['status'=>$status]);
if($status == 1) $msg = "解锁";
if($status == 0) $msg = "锁定";
if($result){
insertAdminLog($msg."代理",$msg."代理: | ID: ".$user_id);
die(json_encode(['code'=>1,'msg'=>$msg.'成功!']));
}else{
die(json_encode(['code'=>0,'msg'=>$msg.'失败!']));
}
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
/**
* 删除会员
*/
public function player_del()
{
if(Request::instance()->post()){
// 接收数据
$user_id = Request::instance()->post('user_id');
// 数据验证
if(!$user_id){
die(json_encode(['code'=>0,'msg'=>'用户不存在']));
}
// 删除用户
$result = Db::name('user')->where('id',$user_id)->update(array('is_delete' => 1));
if($result){
insertAdminLog('删除会员',"删除会员: | ID: ".$user_id);
die(json_encode(['code'=>1,'msg'=>'删除成功!']));
}else{
die(json_encode(['code'=>1,'msg'=>'删除失败!']));
}
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
/**
* 已删除会员展示页面
*/
public function player_delete()
{
// 接收分页的条件
$get = Request::instance()->get();
$query = http_build_query($get);
$this->assign('get',$get);
$this->assign('query',$query);
// 接收搜索的条件信息
$nickname = Request::instance()->get('nickname');
$start = Request::instance()->get('start');
$end = Request::instance()->get('end');
$startTime = 0;
$endTime = time();
// 拼装搜索条件
$where = array();
if($nickname) $where['nickname'] = array('like',"%".$nickname."%");
if($start) $startTime = strtotime($start);
if($end) $endTime = strtotime($end);
$where['is_delete'] = 1;
$where['agent'] = 1;
$where['reg_time'] = array('between',[$startTime,$endTime]);
// 查询数据 和 拼装数据
$user_del_list = Db::name('user')->where($where)->paginate(10,false,array('query'=>$get));
$user_del_sum = Db::name('user')->where('is_delete',1)->count();
foreach($user_del_list as $k => $v){
$v['reg_time'] = date("Y-m-d H:i:s",$v['reg_time']);
$user_del_list[$k] = $v;
}
// 渲染参数和模板
$this->assign('user_del_list',$user_del_list);
$this->assign('user_del_sum',$user_del_sum);
return $this->fetch();
}
/**
* 恢复已删除的会员
*/
public function player_recover()
{
if(Request::instance()->post()){
// 接收数据
$user_id = Request::instance()->post('user_id');
// 数据验证
if(!$user_id){
die(json_encode(['code'=>0,'msg'=>'用户不存在']));
}
// 恢复用户
$result = Db::name('user')->where('id',$user_id)->update(['is_delete'=>0]);
if($result){
insertAdminLog('恢复已删除代理',"恢复已删除代理: | ID: ".$user_id);
die(json_encode(['code'=>1,'msg'=>'已恢复!']));
}else{
die(json_encode(['code'=>1,'msg'=>'恢复失败!']));
}
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
/**
* 会员上下分列表
*/
public function scores(){
// 接收分页的条件
$get = Request::instance()->get();
$query = http_build_query($get);
$this->assign('get',$get);
$this->assign('query',$query);
// 接收搜索的条件信息
$username = Request::instance()->get('username');
$mode = Request::instance()->get('mode');
$startDate = Request::instance()->get('startDate');
$endDate = Request::instance()->get('endDate');
$export = Request::instance()->get('export');
$startTime = 0;
$endTime = time();
// 拼装搜索条件
$where = array();
if(!empty($username)) $where['username_for'] = array('like',"%".$username."%");
if($mode > 0) $where['mode'] = $mode;
if($startDate) $startTime = strtotime($startDate);
if($endDate) $endTime = strtotime($endDate);
$where['create_time'] = array('between',[$startTime,$endTime]);
$where['user_type'] = 0; // 会员
if($export == 1){
$scoresList = Db::name('recharge')->where($where)->order('create_time desc')->select();
}else{
// 获取所有的代理上下分记录
$scoresList = Db::name('recharge')->where($where)->order('create_time desc')->paginate(10,false,array('query'=>$get));
}
foreach($scoresList as $k => $v){
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
if($v['mode'] == 1) $v['mode_msg'] = "上分";
if($v['mode'] == 2) $v['mode_msg'] = "下分";
if($v['user_agent_level'] == 1) $v['user_agent_level'] = "总代";
if($v['user_agent_level'] == 2) $v['user_agent_level'] = "1级";
if($v['user_agent_level'] == 3) $v['user_agent_level'] = "2级";
if($v['user_agent_level'] == 0) $v['user_agent_level'] = "玩家";
$scoresList[$k] = $v;
}
//导出excel列表
if($export == 1){
if($scoresList){
//重新组合
$excelData = array();
foreach($scoresList AS $k => $v){
$excelData[$k][0] = $v['username_for'];
$excelData[$k][1] = $v['nickname_for'];
$excelData[$k][2] = $v['user_agent_level'];
$excelData[$k][3] = $v['mode_msg'];
$excelData[$k][4] = $v['amount'];
$excelData[$k][5] = $v['admin_user_name'];
$excelData[$k][6] = $v['new_money'];
$excelData[$k][7] = $v['create_time'];
$excelData[$k][8] = $v['remake'];
}
$title = array('账号','联系人','代理类型','操作类型','操作金额','操作人','余额','创建日期','备注');
if($startDate && $endDate){
$this->exportExcelCore($excelData, '玩家上下分-'.$startDate."-".$endDate, $title);
}else{
$this->exportExcelCore($excelData, '玩家上下分', $title);
}
exit('已导出支持列表,请不要重复刷新该页面!');
}else{
exit('没有可以导出的列表!');
}
}
// 渲染参数和模板
$this->assign('scoresList',$scoresList);
return $this->fetch('/player/scores');
}
/**
* 会员上下分添加页面
*/
public function scores_add(){
// 登录用户信息
$user_info = Session('user_info');
$user_info = Db::name('admin')->find($user_info['id']);
// 渲染参数和模板
$this->assign('user_info',$user_info);
return $this->fetch('/player/scores_add');
}
/**
* 处理会员上下分
*/
public function do_scores_add(){
if(Request::instance()->post()){
$user_info = Session::get('user_info');
$user_info = Db::name('admin')->find($user_info['id']);
// 接收参数
$username = Request::instance()->post('username');
$amount = Request::instance()->post('amount');
$mode = Request::instance()->post('mode');
$controller = Request::instance()->post('controller');
$remarks = Request::instance()->post('remarks');
// 验证
if(!$username){
die(json_encode(['code'=>0,'msg'=>'请选择账号!']));
}
if(!$amount){
die(json_encode(['code'=>0,'msg'=>'请填写操作金额!']));
}
if($amount <= 0){
die(json_encode(['code'=>0,'msg'=>'操作金额必须大于0!']));
}
if(!$mode){
die(json_encode(['code'=>0,'msg'=>'请选择操作类型!']));
}
if(!$controller){
die(json_encode(['code'=>0,'msg'=>'操作用户不能为空!']));
}
// 被操作的用户
$user = Db::name('user')->where('username',$username)->find();
// 上下分
if($amount > 0){
$charge_data = array();
$charge_data['amount'] = $amount;
$charge_data['mode'] = $mode;
$charge_data['agent_or_admin'] = 1;
$charge_data['controller_type'] = '总后台系统操作';
$charge_data['user_id'] = $user['id'];
$charge_data['user_type'] = $user['agent'];
$charge_data['user_agent_level'] = $user['agent_level'];
$charge_data['username_for'] = $user['username'];
$charge_data['nickname_for'] = $user['nickname'];
$charge_data['user_parent_id'] = $user['agent_parent_id'];
$charge_data['create_time'] = time();
$charge_data['old_money'] = $user['money'];
if($mode == 1) $charge_data['new_money'] = $user['money'] + $amount;
if($mode == 2) $charge_data['new_money'] = $user['money'] - $amount;
$charge_data['admin_id'] = $user_info['id'];
$charge_data['admin_user_name'] = $user_info['admin'];
$charge_data['remake'] = $remarks;
$insertResult = Db::name('recharge')->insert($charge_data);
if($insertResult){
//更新账户
$updateData = array();
if($mode == 1){
$updateData['money'] = $user['money'] + $amount;
$updateData['recharge_total_amount'] = $user['recharge_total_amount'] + $amount;
}elseif($mode == 2){
$updateData['money'] = $user['money'] - $amount;
$updateData['recharge_total_amount'] = $user['recharge_total_amount'] - $amount;
}
$updateData['last_recharge'] = $amount;
$updateData['last_recharge_time'] = time();
$updateData['recharge_count'] = $user['recharge_count'] + 1;
Db::name('user')->where(array('id' => $user['id']))->update($updateData);
}
}
die(json_encode(['code'=>1,'msg'=>'保存成功!']));
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
/**
* 会员上下分详情展示
*/
public function scores_add_show(){
$user_info = Session::get('user_info');
$user_info = Db::name('admin')->find($user_info['id']);
// 接收参数
$id = Request::instance()->get('id');
// 查询上下分记录
$recharge = Db::name('recharge')->find($id);
if($recharge['mode'] == 1) $recharge['mode_msg'] = "上分";
if($recharge['mode'] == 2) $recharge['mode_msg'] = "下分";
// 渲染参数和模板
$this->assign('recharge',$recharge);
$this->assign('user_info',$user_info);
return $this->fetch('/player/scores_add_show');
}
/**
* 获取所有玩家信息
*/
public function getPlayer(){
// 接收关键字
$username = Request::instance()->post('username');
if($username){
$agent_list = Db::name('user')->where(array('agent'=>0,'status'=>1,'is_delete'=>0))->where('username','like','%'.$username.'%')->select();
}else{
$agent_list = Db::name('user')->where(array('agent'=>0,'status'=>1,'is_delete'=>0))->select();
}
// 渲染参数和模板
$this->assign('agent_list',$agent_list);
die(json_encode($this->fetch('/agent/scores_agent_list')));
}
/**
* 获取会员余额
*/
public function getPlayerMoney(){
if(Request::instance()->post()){
// 接收账号
$username = Request::instance()->post('username');
$agent_money = Db::name('user')->where('username',$username)->value('money');
// 返回数据
die(json_encode($agent_money));
}else{
die(json_encode(['code'=>0,'msg'=>'操作错误!']));
}
}
//百家乐游戏记录
public function baccarat_record(){
// 分页信息
$get = Request::instance()->get();
$query = http_build_query($get);
$this->assign('get',$get);
$this->assign('query',$query);
// 接收参数
$startDate = trim(Request::instance()->get('startDate'));
$endDate = trim(Request::instance()->get('endDate'));
$table_id = trim(Request::instance()->get('table_id'));
$username = trim(Request::instance()->get('username'));
$export = trim(Request::instance()->get('export'));
// 时间条件(默认查询1个小时以内的数据)
$nowTime = time();
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = $nowTime - 60*60;
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = $nowTime;
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
}
$this->assign('get',$get);
// 查询条件
$where = array();
$where['status'] = 1;
$where['create_time'] = array('between',[$startTime,$endTime]);
if($table_id > 0) $where['table_id'] = $table_id;
if($username){
$user = Db::name('user')->where('username',$username)->find();
if($user){
$where['user_id'] = $user['id'];
}else{
$where['user_id'] = 0;
}
}
// 查询注单数据
if($export == 1){
$baccarat_list = Db::name('bet')->where($where)->order('id desc')->select();
}else{
$baccarat_list = Db::name('bet')->where($where)->order('id desc')->paginate(10,false,array('query'=>$get));
}
// 判断是否有数据
$isData = false;
if(count($baccarat_list) > 0){
$isData = true;
}
foreach($baccarat_list as $k => $v){
$user = Db::name('user')->where('id',$v['user_id'])->find();
if($user['agent_parent_id'] == 0){
$v['agent_parent_username'] = '无';
} else {
$v['agent_parent_username'] = $user['agent_parent_username'];
}
$v['create_time'] = date("Y-m-d H:i:s",$v['create_time']);
$v['record_num'] = $v['game_id'].'-'.$v['table_id'].'-'.$v['boot_num'].'-'.$v['number'];
$v['user_nickname'] = $v['username'].'('.$v['nickname'].')';
$v['banker_amount'] = round($v['banker_amount'],2);
$v['player_amount'] = round($v['player_amount'],2);
$v['tie_amount'] = round($v['tie_amount'],2);
$v['banker_pair_amount'] = round($v['banker_pair_amount'],2);
$v['player_pair_amount'] = round($v['player_pair_amount'],2);
$v['amount'] = round($v['amount'],2);
$v['win_total'] = round($v['win_total'],2);
$v['result'] = resultBaccarat($v['result']);
$v['pair'] = pairBaccarat($v['pair'],true);
// 查询洗码量
$where['bet_user_id'] = $user['id'];
$where['user_id'] = $v['user_id'];
$where['game_id'] = $v['game_id'];
$where['table_id'] = $v['table_id'];
$where['number_tab_id'] = $v['number_tab_id'];
$where['sumday_id'] = $v['sumday_id'];
$where['boot_id'] = $v['boot_id'];
$v['maliang'] = round(Db::name('xima')->where($where)->value('maliang'),2);
$baccarat_list[$k] = $v;
}
// 获取所有桌子信息
$table_list = Db::name('table')->where(array('game_id' => 1, 'status' => 1))->select();
//导出excel列表
if($export == 1){
if($baccarat_list){
//重新组合
$excelData = array();
foreach($baccarat_list AS $k => $v){
$excelData[$k][0] = $v['user_nickname'];
$excelData[$k][1] = $v['agent_parent_username'];
$excelData[$k][2] = $v['table_name'];
$excelData[$k][3] = $v['record_num'];
$excelData[$k][4] = $v['result'];
$excelData[$k][5] = $v['banker_amount'];
$excelData[$k][6] = $v['player_amount'];
$excelData[$k][7] = $v['tie_amount'];
$excelData[$k][8] = $v['banker_pair_amount'];
$excelData[$k][9] = $v['player_pair_amount'];
$excelData[$k][10] = $v['win_total'];
$excelData[$k][11] = $v['maliang'];
$excelData[$k][12] = $v['create_time'];
}
$title = array('玩家账号','代理','游戏桌台','局号','结果','庄下注额','闲下注额','和下注额','庄对下注额','闲对下注额','输赢','可洗码值','下注时间');
if($startDate && $endDate){
$this->exportExcelCore($excelData, '百家乐游戏记录-'.$startDate.'--'.$endDate, $title);
}else{
$this->exportExcelCore($excelData, '百家乐游戏记录', $title);
}
exit('已导出支持列表,请不要重复刷新该页面!');
}else{
exit('没有可以导出的列表!');
}
}
// 渲染参数和模板
$this->assign('isData',$isData);
$this->assign('table_list',$table_list);
$this->assign('baccarat_list',$baccarat_list);
return $this->fetch();
}
//龙虎斗游戏记录
public function dt_record(){
// 分页信息
$get = Request::instance()->get();
$query = http_build_query($get);
$this->assign('get',$get);
$this->assign('query',$query);
// 接收参数
$startDate = trim(Request::instance()->get('startDate'));
$endDate = trim(Request::instance()->get('endDate'));
$table_id = trim(Request::instance()->get('table_id'));
$username = trim(Request::instance()->get('username'));
$export = trim(Request::instance()->get('export'));
// 时间条件
$nowTime = time();
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = $nowTime - 60*60;
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = $nowTime;
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
}
$this->assign('get',$get);
// 查询条件
$where = array();
$where['status'] = 1;
$where['game_id'] = 2;
$where['create_time'] = array('between',[$startTime,$endTime]);
if($table_id > 0) $where['table_id'] = $table_id;
if($username){
$user = Db::name('user')->where('username',$username)->find();
if($user){
$where['user_id'] = $user['id'];
}else{
$where['user_id'] = 0;
}
}
// 查询注单数据
if($export == 1){
$dt_list = Db::name('bet')->where($where)->order('id desc')->select();
}else{
$dt_list = Db::name('bet')->where($where)->order('id desc')->paginate(10,false,array('query'=>$get));
}
// 判断是否有数据
$isData = false;
if(count($dt_list) > 0){
$isData = true;
}
foreach($dt_list as $k => $v){
$user = Db::name('user')->where('id',$v['user_id'])->find();
if($user['agent_parent_id'] == 0){
$v['agent_parent_username'] = '无';
} else {
$v['agent_parent_username'] = $user['agent_parent_username'];
}
$v['create_time'] = date("Y-m-d H:i:s",$v['create_time']);
$v['record_num'] = $v['game_id'].'-'.$v['table_id'].'-'.$v['boot_num'].'-'.$v['number'];
$v['user_nickname'] = $v['username'].'('.$v['nickname'].')';
$v['banker_amount'] = round($v['banker_amount'],2);
$v['player_amount'] = round($v['player_amount'],2);
$v['tie_amount'] = round($v['tie_amount'],2);
$v['amount'] = round($v['amount'],2);
$v['win_total'] = round($v['win_total'],2);
$v['result'] = resultDt($v['result']);
$dt_list[$k] = $v;
}
//获取所有桌子信息
$table_list = Db::name('table')->where(array('game_id' => 2, 'status' => 1))->select();
//导出excel列表
if($export == 1){
if($dt_list){
//重新组合
$excelData = array();
foreach($dt_list AS $k => $v){
$excelData[$k][0] = $v['user_nickname'];
$excelData[$k][1] = $v['agent_parent_username'];
$excelData[$k][2] = $v['table_name'];
$excelData[$k][3] = $v['record_num'];
$excelData[$k][4] = $v['result'];
$excelData[$k][5] = $v['banker_amount'];
$excelData[$k][6] = $v['player_amount'];
$excelData[$k][7] = $v['tie_amount'];
$excelData[$k][8] = $v['win_total'];
$excelData[$k][9] = $v['create_time'];
}
$title = array('玩家账号','代理','游戏桌台','局号','结果','龙下注额','虎下注额','和下注额','输赢','下注时间');
if($startDate && $endDate){
$this->exportExcelCore($excelData, '龙虎斗游戏记录-'.$startDate.'--'.$endDate, $title);
}else{
$this->exportExcelCore($excelData, '龙虎斗游戏记录', $title);
}
exit('已导出支持列表,请不要重复刷新该页面!');
}else{
exit('没有可以导出的列表!');
}
}
// 渲染参数和模板
$this->assign('table_list',$table_list);
$this->assign('isData',$isData);
$this->assign('dt_list',$dt_list);
return $this->fetch();
}
//牛牛游戏记录
public function nn_record(){
// 分页信息
$get = Request::instance()->get();
$query = http_build_query($get);
$this->assign('get',$get);
$this->assign('query',$query);
// 接收参数
$startDate = trim(Request::instance()->get('startDate'));
$endDate = trim(Request::instance()->get('endDate'));
$table_id = trim(Request::instance()->get('table_id'));
$username = trim(Request::instance()->get('username'));
$export = trim(Request::instance()->get('export'));
// 时间条件
$nowTime = time();
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = $nowTime - 60*60;
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = $nowTime;
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
}
$this->assign('get',$get);
// 拼装查询条件
$where = array();
$where['status'] = 1;
$where['create_time'] = array('between',[$startTime,$endTime]);
if($table_id > 0) $where['table_id'] = $table_id;
if($username){
$user = Db::name('user')->where('username',$username)->find();
if($user){
$where['user_id'] = $user['id'];
}else{
$where['user_id'] = 0;
}
}
// 查询注单数据
if($export == 1){
$nn_list = Db::name('bet')->where($where)->order('id desc')->select();
}else{
$nn_list = Db::name('bet')->where($where)->order('id desc')->paginate(10,false,array('query'=>$get));
}
// 判断是否有数据
$isData = false;
if(count($nn_list) > 0){
$isData = true;
}
foreach($nn_list as $k => $v){
$user = Db::name('user')->where('id',$v['user_id'])->find();
if($user['agent_parent_id'] == 0){
$v['agent_parent_username'] = '无';
} else {
$v['agent_parent_username'] = $user['agent_parent_username'];
}
$v['result'] = '';
if($v['win_player_1'] == 1 || $v['win_player_2'] == 1 || $v['win_player_3'] == 1){
if($v['win_player_1'] == 1){
$v['result'] .= '&nbsp;闲1';
}
if($v['win_player_2'] == 1){
$v['result'] .= '&nbsp;闲2';
}
if($v['win_player_3'] == 1){
$v['result'] .= '&nbsp;闲3';
}
}else{
$v['result'] .= '&nbsp;庄';
}
$v['result'] .= '&nbsp;(';
$v['result'] .= '--闲1'.resultNn($v['result_player_1']).'&nbsp;';
$v['result'] .= '--闲2'.resultNn($v['result_player_2']).'&nbsp;';
$v['result'] .= '--闲3'.resultNn($v['result_player_3']).'&nbsp;';
$v['result'] .= '--庄'.resultNn($v['result_banker']);
$v['result'] .= ')';
// 下注详情
$v['amount_player_1'] = round($v['amount_player_1']);
$v['amount_player_1_times'] = round($v['amount_player_1_times']);
$v['amount_player_1_banker'] = round($v['amount_player_1_banker']);
$v['amount_player_1_banker_times'] = round($v['amount_player_1_banker_times']);
$v['amount_player_2'] = round($v['amount_player_2']);
$v['amount_player_2_times'] = round($v['amount_player_2_times']);
$v['amount_player_2_banker'] = round($v['amount_player_2_banker']);
$v['amount_player_2_banker_times'] = round($v['amount_player_2_banker_times']);
$v['amount_player_3'] = round($v['amount_player_3']);
$v['amount_player_3_times'] = round($v['amount_player_3_times']);
$v['amount_player_3_banker'] = round($v['amount_player_3_banker']);
$v['amount_player_3_banker_times'] = round($v['amount_player_3_banker_times']);
$v['create_time'] = date("Y-m-d H:i:s",$v['create_time']);
$v['record_num'] = $v['game_id'].'-'.$v['table_id'].'-'.$v['boot_num'].'-'.$v['number'];
$v['user_nickname'] = $v['username'].'('.$v['nickname'].')';
$nn_list[$k] = $v;
}
// 所有桌子数据
$table_list = Db::name('table')->where(array('game_id' => 4, 'status' => 1))->select();
// 导出excel列表
if($export == 1){
if($nn_list){
//重新组合
$excelData = array();
foreach($nn_list AS $k => $v){
$excelData[$k][0] = $v['user_nickname'];
$excelData[$k][1] = $v['agent_parent_username'];
$excelData[$k][2] = $v['table_name'];
$excelData[$k][3] = $v['record_num'];
$excelData[$k][4] = $v['result'];
$excelData[$k][5] = $v['amount'];
$excelData[$k][6] = $v['win_total'];
$excelData[$k][7] = $v['create_time'];
}
$title = array('玩家账号','代理','游戏桌台','局号','结果','总下注额','输赢','下注时间');
if($startDate && $endDate){
$this->exportExcelCore($excelData, '牛牛游戏记录-'.$startDate.'--'.$endDate, $title);
}else{
$this->exportExcelCore($excelData, '牛牛游戏记录', $title);
}
exit('已导出支持列表,请不要重复刷新该页面!');
}else{
exit('没有可以导出的列表!');
}
}
$this->assign('isData',$isData);
$this->assign('table_list',$table_list);
$this->assign('nn_list',$nn_list);
return $this->fetch();
}
// 百家乐 打印
public function baccarat_record_print(){
// 接收参数
$startDate = trim(Request::instance()->get('startDate'));
$endDate = trim(Request::instance()->get('endDate'));
$table_id = trim(Request::instance()->get('table_id'));
$username = trim(Request::instance()->get('username'));
// 时间条件
$nowTime = time();
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = $nowTime - 60*60;
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = $nowTime;
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
}
// 查询条件
$where = array();
$where['status'] = 1;
$where['create_time'] = array('between',[$startTime,$endTime]);
if($table_id > 0) $where['table_id'] = $table_id;
if($username){
$user = Db::name('user')->where('username',$username)->find();
if($user){
$where['user_id'] = $user['id'];
}else{
$where['user_id'] = 0;
}
}
// 查询注单信息
$baccarat_list = Db::name('bet')->order('id desc')->where($where)->select();
foreach($baccarat_list as $k => $v){
$user = Db::name('user')->where('id',$v['user_id'])->find();
if($user['agent_parent_id'] == 0){
$v['agent_parent_username'] = '无';
} else {
$v['agent_parent_username'] = $user['agent_parent_username'];
}
$v['create_time'] = date("Y-m-d H:i:s",$v['create_time']);
$v['record_num'] = $v['game_id'].'-'.$v['table_id'].'-'.$v['boot_num'].'-'.$v['number'];
$v['user_nickname'] = $v['username'].'('.$v['nickname'].')';
$v['banker_amount'] = round($v['banker_amount'],2);
$v['player_amount'] = round($v['player_amount'],2);
$v['tie_amount'] = round($v['tie_amount'],2);
$v['banker_pair_amount'] = round($v['banker_pair_amount'],2);
$v['player_pair_amount'] = round($v['player_pair_amount'],2);
$v['amount'] = round($v['amount'],2);
$v['win_total'] = round($v['win_total'],2);
$v['result'] = resultBaccarat($v['result']);
$v['pair'] = pairBaccarat($v['pair'],true);
// 查询洗码量
$where['bet_user_id'] = $user['id'];
$where['user_id'] = $v['user_id'];
$where['game_id'] = $v['game_id'];
$where['table_id'] = $v['table_id'];
$where['number_tab_id'] = $v['number_tab_id'];
$where['sumday_id'] = $v['sumday_id'];
$where['boot_id'] = $v['boot_id'];
$v['maliang'] = round(Db::name('xima')->where($where)->value('maliang'),2);
$baccarat_list[$k] = $v;
}
// 渲染参数和模板
$this->assign('baccarat_list',$baccarat_list);
return $this->fetch();
}
// 龙虎斗 打印
public function dt_record_print(){
// 接收参数
$startDate = trim(Request::instance()->get('startDate'));
$endDate = trim(Request::instance()->get('endDate'));
$table_id = trim(Request::instance()->get('table_id'));
$username = trim(Request::instance()->get('username'));
// 时间条件
$nowTime = time();
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = $nowTime - 60*60;
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = $nowTime;
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
}
// 查询条件
$where = array();
$where['status'] = 1;
$where['game_id'] = 2;
$where['create_time'] = array('between',[$startTime,$endTime]);
if($table_id > 0) $where['table_id'] = $table_id;
if($username){
$user = Db::name('user')->where('username',$username)->find();
if($user){
$where['user_id'] = $user['id'];
}else{
$where['user_id'] = 0;
}
}
// 注单信息
$dt_list = Db::name('bet')->where($where)->order('id desc')->select();
foreach($dt_list as $k => $v){
$user = Db::name('user')->where('id',$v['user_id'])->find();
if($user['agent_parent_id'] == 0){
$v['agent_parent_username'] = '无';
} else {
$v['agent_parent_username'] = $user['agent_parent_username'];
}
$v['create_time'] = date("Y-m-d H:i:s",$v['create_time']);
$v['record_num'] = $v['game_id'].'-'.$v['table_id'].'-'.$v['boot_num'].'-'.$v['number'];
$v['user_nickname'] = $v['username'].'('.$v['nickname'].')';
$v['banker_amount'] = round($v['banker_amount'],2);
$v['player_amount'] = round($v['player_amount'],2);
$v['tie_amount'] = round($v['tie_amount'],2);
$v['amount'] = round($v['amount'],2);
$v['win_total'] = round($v['win_total'],2);
$v['result'] = resultDt($v['result']);
$dt_list[$k] = $v;
}
// 渲染参数个模板
$this->assign('dt_list',$dt_list);
return $this->fetch();
}
public function nn_record_print(){
// 接收参数
$startDate = trim(Request::instance()->get('startDate'));
$endDate = trim(Request::instance()->get('endDate'));
$table_id = intval(Request::instance()->get('table_id'));
$username = trim(Request::instance()->get('username'));
$startDate = str_replace("+"," ",$startDate);
$endDate = str_replace("+"," ",$endDate);
// 时间条件
$nowTime = time();
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = $nowTime - 60*60;
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = $nowTime;
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
}
// 拼装查询条件
$where = array();
$where['status'] = 1;
$where['create_time'] = array('between',[$startTime,$endTime]);
if($table_id > 0) $where['table_id'] = $table_id;
if($username){
$user = Db::name('user')->where('username',$username)->find();
if($user){
$where['user_id'] = $user['id'];
}else{
$where['user_id'] = 0;
}
}
// 注单数据
$nn_list = Db::name('bet')->order('id desc')->where($where)->select();
foreach($nn_list as $k => $v){
$user = Db::name('user')->where('id',$v['user_id'])->find();
if($user['agent_parent_id'] == 0){
$v['agent_parent_username'] = '无';
} else {
$v['agent_parent_username'] = $user['agent_parent_username'];
}
$v['result'] = '';
if($v['win_player_1'] == 1 || $v['win_player_2'] == 1 || $v['win_player_3'] == 1){
if($v['win_player_1'] == 1){
$v['result'] .= '&nbsp;闲1';
}
if($v['win_player_2'] == 1){
$v['result'] .= '&nbsp;闲2';
}
if($v['win_player_3'] == 1){
$v['result'] .= '&nbsp;闲3';
}
}else{
$v['result'] .= '&nbsp;庄';
}
$v['result'] .= '&nbsp;(';
$v['result'] .= '--闲1'.resultNn($v['result_player_1']).'&nbsp;';
$v['result'] .= '--闲2'.resultNn($v['result_player_2']).'&nbsp;';
$v['result'] .= '--闲3'.resultNn($v['result_player_3']).'&nbsp;';
$v['result'] .= '--庄'.resultNn($v['result_banker']);
$v['result'] .= ')';
$v['create_time'] = date("Y-m-d H:i:s",$v['create_time']);
$v['record_num'] = $v['game_id'].'-'.$v['table_id'].'-'.$v['boot_num'].'-'.$v['number'];
$v['user_nickname'] = $v['username'].'('.$v['nickname'].')';
$nn_list[$k] = $v;
}
// 渲染参数和模板
$this->assign('nn_list',$nn_list);
return $this->fetch();
}
public function player_print(){
$get = Request::instance()->get();
$query = http_build_query($get);
$username = Request::instance()->get('username');
$agent_parent = Request::instance()->get('agent_parent');
$status = Request::instance()->get('status');
$startDate = Request::instance()->get('startDate');
$endDate = Request::instance()->get('endDate');
$startTime = 0;
$endTime = time();
$where = array();
if(!empty($username)) $where['username'] = array('like',"%".$username."%");
if(!empty($agent_parent)){
$where['agent_parent_username'] = array('like',"%".$agent_parent."%");
}
if($status > 0){
// 锁定不能用0作为判断用2代替
if($status == 2){
$where['status'] = 0;
}else{
$where['status'] = $status;
}
}
if($startDate) $startTime = strtotime($startDate);
if($endDate) $endTime = strtotime($endDate);
$where['is_delete'] = 0; // 未删除
$where['agent'] = 0; // 玩家
$where['reg_time'] = array('between',[$startTime,$endTime]);
// 获取所有代理信息
$agent_list = Db::name('user')->where($where)->order('reg_time desc')->select();
$agent_sum = Db::name('user')->where($where)->count();
foreach($agent_list as $k => $v){
$v['reg_time'] = date("Y-m-d H:i:s",$v['reg_time']);
if($v['agent_level'] == 1) $v['agent_level'] = "总代";
if($v['agent_level'] == 2) $v['agent_level'] = "一级代理";
if($v['agent_level'] == 3) $v['agent_level'] = "二级代理";
if(empty($v['nickname'])) $v['nickname'] = "";
// 总下注
$v['all_bet_amount'] = Db::name('bet')->where('user_id',$v['id'])->sum('amount');
// 总赢
$v['win_total'] = Db::name('bet')->where('user_id',$v['id'])->sum('win_total');
// 码量
$v['maliang'] = Db::name('xima')->where('bet_user_id',$v['id'])->sum('maliang');
$agent_list[$k] = $v;
}
$this->assign('agent_list',$agent_list);
$this->assign('agent_sum',$agent_sum);
return $this->fetch();
}
public function scores_print(){
$get = Request::instance()->get();
$query = http_build_query($get);
$username = Request::instance()->get('username');
$mode = Request::instance()->get('mode');
$startDate = Request::instance()->get('startDate');
$endDate = Request::instance()->get('endDate');
$startTime = 0;
$endTime = time();
$where = array();
if(!empty($username)) $where['username_for'] = array('like',"%".$username."%");
if($mode > 0) $where['mode'] = $mode;
if($startDate) $startTime = strtotime($startDate);
if($endDate) $endTime = strtotime($endDate);
$where['create_time'] = array('between',[$startTime,$endTime]);
$where['user_type'] = 0; // 会员
// 获取所有的代理上下分记录
$scoresList = Db::name('recharge')->where($where)->order('create_time desc')->select();
foreach($scoresList as $k => $v){
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
if($v['mode'] == 1) $v['mode_msg'] = "上分";
if($v['mode'] == 2) $v['mode_msg'] = "下分";
if($v['user_agent_level'] == 1) $v['user_agent_level'] = "总代";
if($v['user_agent_level'] == 2) $v['user_agent_level'] = "1级";
if($v['user_agent_level'] == 3) $v['user_agent_level'] = "2级";
$scoresList[$k] = $v;
}
// 渲染参数和模板
$this->assign('scoresList',$scoresList);
return $this->fetch();
}
// 百家乐下注详情
public function betDetailBaccarat($bet){
$betDetail = array();
foreach($bet as $val){
$bet_detail = $val['game_name']."---".$val['table_name']."---".$val['boot_num']."---".$val['number'];
if($val['result'] == 1){
$bet_detail .= '---庄';
}elseif($val['result'] == 2){
$bet_detail .= '---闲';
}elseif($val['result'] == 3){
$bet_detail .= '---和';
}
if($val['pair'] == 1){
$bet_detail .= '---庄对';
}elseif($val['pair'] == 2){
$bet_detail .= '---闲对';
}elseif($val['pair'] == 3){
$bet_detail .= '---庄闲对';
}
if($val['banker_amount'] > 0){
$bet_detail .= '---庄:'.round($val['banker_amount'],2);
}
if($val['player_amount'] > 0){
$bet_detail .= '---闲:'.round($val['player_amount'],2);
}
if($val['tie_amount'] > 0){
$bet_detail .= '&nbsp;和:'.round($val['tie_amount'],2);
}
if($val['banker_pair_amount'] > 0){
$bet_detail .= '---庄对:'.round($val['banker_pair_amount'],2);
}
if($val['player_pair_amount'] > 0){
$bet_detail .= '---闲对:'.round($val['player_pair_amount'],2);
}
$data = array();
$data['bet_detail'] = $bet_detail;
$data['game_id'] = $val['game_id'];
$data['bet_id'] = $val['id'];
$betDetail[] = $data;
}
return $betDetail;
}
// 龙虎下注详情
public function betDetailDt($bet){
$betDetail = array();
foreach($bet as $val){
$bet_detail = $val['game_name']."---".$val['table_name']."---".$val['boot_num']."---".$val['number'];
if($val['result'] == 1){
$bet_detail .= '---龙';
}elseif($val['result'] == 2){
$bet_detail .= '---虎';
}elseif($val['result'] == 3){
$bet_detail .= '---和';
}
if($val['banker_amount'] > 0){
$bet_detail .= '---龙:'.round($val['banker_amount'],2);
}
if($val['player_amount'] > 0){
$bet_detail .= '---虎:'.round($val['player_amount'],2);
}
if($val['tie_amount'] > 0){
$bet_detail .= '---和:'.round($val['tie_amount'],2);
}
$data = array();
$data['bet_detail'] = $bet_detail;
$data['game_id'] = $val['game_id'];
$data['bet_id'] = $val['id'];
$betDetail[] = $data;
}
return $betDetail;
}
// 牛牛下注详情
public function betDetailNn($bet){
$betDetail = array();
foreach($bet as $val){
$bet_detail = $val['game_name']."---".$val['table_name']."---".$val['boot_num']."---".$val['number'];
if($val['win_player_1'] == 1){
$bet_detail .= '---闲1';
}elseif($val['win_player_1'] == 1){
$bet_detail .= '---闲2';
}elseif($val['win_player_1'] == 1){
$bet_detail .= '---闲3';
}else{
$bet_detail .= '---庄';
}
$bet_detail .= '(';
$bet_detail .= '闲1'.resultNn($val['result_player_1']).'&nbsp;';
$bet_detail .= '闲2'.resultNn($val['result_player_2']).'&nbsp;';
$bet_detail .= '闲3'.resultNn($val['result_player_3']).'&nbsp;';
$bet_detail .= '庄'.resultNn($val['result_banker']);
$bet_detail .= ')';
if($val['amount_player_1'] > 0){
$bet_detail .= '---闲1:'.round($val['amount_player_1'],2);
}
if($val['amount_player_1_times'] > 0){
$bet_detail .= '---闲1(翻倍):'.round($val['amount_player_1_times'],2);
}
if($val['amount_player_1_banker'] > 0){
$bet_detail .= '---庄(闲1):'.round($val['amount_player_1_banker'],2);
}
if($val['amount_player_1_banker_times'] > 0){
$bet_detail .= '---庄(闲1)翻倍:'.round($val['amount_player_1_banker_times'],2);
}
if($val['amount_player_2'] > 0){
$bet_detail .= '---闲2:'.round($val['amount_player_2'],2);
}
if($val['amount_player_2_times'] > 0){
$bet_detail .= '---闲2(翻倍):'.round($val['amount_player_2_times'],2);
}
if($val['amount_player_2_banker'] > 0){
$bet_detail .= '---庄(闲2):'.round($val['amount_player_2_banker'],2);
}
if($val['amount_player_2_banker_times'] > 0){
$bet_detail .= '---庄(闲2)翻倍:'.round($val['amount_player_2_banker_times'],2);
}
if($val['amount_player_3'] > 0){
$bet_detail .= '---闲3:'.round($val['amount_player_3'],2);
}
if($val['amount_player_3_times'] > 0){
$bet_detail .= '---闲3(翻倍):'.round($val['amount_player_3_times'],2);
}
if($val['amount_player_3_banker'] > 0){
$bet_detail .= '---庄(闲3):'.round($val['amount_player_3_banker'],2);
}
if($val['amount_player_3_banker_times'] > 0){
$bet_detail .= '---庄(闲3)翻倍:'.round($val['amount_player_3_banker_times'],2);
}
$data = array();
$data['bet_detail'] = $bet_detail;
$data['game_id'] = $val['game_id'];
$data['bet_id'] = $val['id'];
$betDetail[] = $data;
}
return $betDetail;
}
// 踢人
public function logout(){
if(Request::instance()->post()){
$user_id = Request::instance()->post('user_id');
if($user_id > 0){
Db::name('user')->where('id',$user_id)->update(['isout'=>1]);
Db::name('session')->where('user_id',$user_id)->delete();
$result = array();
$result['code'] = 1;
$result['msg'] = '操作成功';
}else{
$result = array();
$result['code'] = 0;
$result['msg'] = '用户ID错误';
}
}else{
$result = array();
$result['code'] = 0;
$result['msg'] = '操作错误';
}
die(json_encode($result));
}
}