4162 lines
191 KiB
PHP
Executable File
4162 lines
191 KiB
PHP
Executable File
<?php
|
||
namespace app\agent\controller;
|
||
use pay\Usdt;
|
||
use pay\Ybf;
|
||
use \think\Controller;
|
||
use think\Lang;
|
||
use \think\Session;
|
||
use \think\Request;
|
||
use \think\Db;
|
||
use \think\paginator\driver\Bootstrap;
|
||
class Report Extends Common{
|
||
// 上下水报表
|
||
public function agent(){
|
||
$langType = cookie('think_var');
|
||
$lang = Lang::get('agent');
|
||
$jsonlang = json_encode($lang);
|
||
|
||
$this->assign('langType',$langType);
|
||
$this->assign('lang',$lang);
|
||
$this->assign('jsonlang',$jsonlang);
|
||
|
||
// 验证数据
|
||
$curUser = Session::get('user_info');
|
||
if ($curUser['account_type'] == 1 || $curUser['account_type'] == 2) {
|
||
return $lang['illegal_request'];
|
||
}
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
|
||
|
||
// 接收参数
|
||
$startDate = trim(Request::instance()->get('startDate'));
|
||
$endDate = trim(Request::instance()->get('endDate'));
|
||
$username = trim(Request::instance()->get('username'));
|
||
$game_id = intval(Request::instance()->get('game_id'));
|
||
$export = intval(Request::instance()->get('export'));
|
||
|
||
// 转换日期时间(默认:今天07:00:00 ~ 明天06:59:59)
|
||
if ($startDate) {
|
||
$startTime = strtotime($startDate);
|
||
} else {
|
||
$startTime = strtotime(date('Y-m-d') . ' 07:00:00');
|
||
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
|
||
}
|
||
if ($endDate) {
|
||
$endTime = strtotime($endDate);
|
||
} else {
|
||
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 06:59:59');
|
||
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
|
||
}
|
||
|
||
// 查询用户
|
||
if (!empty($username)) {
|
||
$userWhere = array();
|
||
$userWhere['username'] = $username;
|
||
if ($curUser['agent_parent_id'] > 0) {
|
||
$userWhere['agent_parent_id_path'] = array('LIKE', '%,' . $curUser['id'] . ',%');
|
||
} else {
|
||
$userWhere['agent_parent_id_path'] = array('LIKE', $curUser['id'] . ',%');
|
||
}
|
||
$user_info = Db::connect('DB2')->name('user')->where($userWhere)->find();
|
||
}
|
||
if (empty($user_info)) $user_info = $curUser;
|
||
$topAgentId = explode(',',$curUser['agent_parent_id_path'])[0];
|
||
$topAgent = Db::name('user')->where('id',$topAgentId)->find();
|
||
|
||
// 数据查询条件
|
||
$dataWhere = array();
|
||
$dataWhere['create_time'] = array('between', [$startTime, $endTime]);
|
||
if ($game_id > 0) $dataWhere['game_id'] = $game_id;
|
||
|
||
|
||
// 找出所有的下注会员
|
||
$where = array();
|
||
$where['is_delete'] = 0;
|
||
$where['id|agent_parent_id'] = $user_info['id'];
|
||
$list = Db::connect('DB2')->name('user')->where($where)->order('id asc')->select();
|
||
foreach ($list as &$child) {
|
||
$child['type_xima_msg'] = $child['type_xima'] == 2 ? "单边洗码" : "双边洗码";
|
||
$child['ximalv'] = $child['agent_ximalv'] . ' / ' . $child['agent_ximalv_dt'] . ' / ' . $child['agent_ximalv_nn'];
|
||
|
||
$amountAndWinTotalWhere = $dataWhere;
|
||
$amountAndWinTotalWhere['status'] = 1;
|
||
if($child['agent_parent_id'] > 0){
|
||
if($child['agent'] == 1){
|
||
$amountAndWinTotalWhere['agent_parent_id_path'] = array('LIKE','%,'.$child['id'].',%');
|
||
}else{
|
||
$amountAndWinTotalWhere['user_id'] = $child['id'];
|
||
}
|
||
}else{
|
||
if($child['agent'] == 1){
|
||
$amountAndWinTotalWhere['agent_parent_id_path'] = array('LIKE',$child['id'].',%');
|
||
}else{
|
||
$amountAndWinTotalWhere['user_id'] = $child['id'];
|
||
}
|
||
}
|
||
$child['amount'] = Db::connect('DB2')->name('bet')->where($amountAndWinTotalWhere)->sum('amount');
|
||
$child['win_total'] = Db::connect('DB2')->name('bet')->where($amountAndWinTotalWhere)->sum('win_total');
|
||
|
||
// 棋牌游戏
|
||
$qpWhere = [];
|
||
$qpWhere['createTime'] = array('between', [$startTime, $endTime]);
|
||
$qpWhere['userName'] = $child['username'];
|
||
$child['qp_amount'] = Db::connect('DB2')->name('game_log')->where($qpWhere)->sum('allBet');
|
||
$child['qp_win_total'] = Db::connect('DB2')->name('game_log')->where($qpWhere)->sum('gold');
|
||
|
||
// 查询洗码
|
||
$ximaWhere = $dataWhere;
|
||
$ximaWhere['status'] = 1;
|
||
$ximaWhere['user_id'] = $child['id'];
|
||
$child['ximaliang'] = Db::connect('DB2')->name('xima')->where($ximaWhere)->sum('ximaliang');
|
||
$child['maliang'] = Db::connect('DB2')->name('xima')->where($ximaWhere)->sum('maliang');
|
||
$child['share_maliang'] = Db::connect('DB2')->name('xima')->where($ximaWhere)->sum('share_maliang');
|
||
$child['cs'] = Db::connect('DB2')->name('cs')->where($ximaWhere)->sum('share_amount');
|
||
$child['income_maliang'] = Db::connect('DB2')->name('xima')->where($ximaWhere)->sum('net_maliang');
|
||
$child['income_cs'] = Db::connect('DB2')->name('cs')->where($ximaWhere)->sum('net_cs');
|
||
|
||
// 查询返水
|
||
$rebateWhere = $dataWhere;
|
||
$rebateWhere['game_type'] = 1;
|
||
$rebateWhere['status'] = 1;
|
||
$rebateWhere['user_id'] = $child['id'];
|
||
$child['rebate_amount'] = Db::connect('DB2')->name('rebate')->where($rebateWhere)->sum('rebate_amount');
|
||
$child['rebate_amount_actual'] = Db::connect('DB2')->name('rebate')->where($rebateWhere)->sum('rebate_amount_actual');
|
||
|
||
// 棋牌返水
|
||
$rebateWhere['game_type'] = 2;
|
||
$child['qp_rebate_amount'] = Db::connect('DB2')->name('rebate')->where($rebateWhere)->sum('rebate_amount');
|
||
$child['qp_rebate_amount_actual'] = Db::connect('DB2')->name('rebate')->where($rebateWhere)->sum('rebate_amount_actual');
|
||
|
||
// 代理收益
|
||
if ($child['agent'] == 1) {
|
||
|
||
// 应收应付上级
|
||
$child['income_up'] = 0;
|
||
if ($child['agent_parent_id'] > 0) {
|
||
$upWhere = $dataWhere;
|
||
$upWhere['status'] = 1;
|
||
$upWhere['user_id'] = array('<', $child['id']);
|
||
if ($child['agent_parent_id'] > 0) {
|
||
$upWhere['agent_parent_id_path'] = array('LIKE', '%,' . $child['id'] . ',%');
|
||
} else {
|
||
$upWhere['agent_parent_id_path'] = array('LIKE', $child['id'] . ',%');
|
||
}
|
||
$child['income_up'] = Db::connect('DB2')->name('xima')->where($upWhere)->sum('net_maliang');
|
||
$child['income_up'] -= Db::connect('DB2')->name('xima')->where($upWhere)->sum('share_maliang');
|
||
$child['income_up'] += Db::connect('DB2')->name('cs')->where($upWhere)->sum('net_cs');
|
||
$child['income_up'] -= $child['rebate_amount'];
|
||
$child['income_up'] = $child['income_up'] * (-1);
|
||
|
||
// 收益
|
||
$child['income'] = $child['income_cs'] + $child['income_maliang'] - $child['share_maliang'] + $child['rebate_amount_actual'];
|
||
|
||
// 应收应付下级
|
||
$child['income_down'] = $child['win_total'] + $child['rebate_amount']-$child['rebate_amount_actual'];
|
||
$child['income_down'] += $child['qp_rebate_amount']-$child['qp_rebate_amount_actual'];
|
||
$child['income_down'] = to_number($child['income_down']);
|
||
$child['rebate_amount'] = $child['rebate_amount_actual'];
|
||
$child['qp_rebate_amount'] = $child['qp_rebate_amount_actual'];
|
||
}else{
|
||
$child['rebate_amount'] -= $child['rebate_amount_actual'];
|
||
$child['rebate_amount'] = to_number($child['rebate_amount']);
|
||
|
||
$child['qp_rebate_amount'] -= $child['qp_rebate_amount_actual'];
|
||
$child['qp_rebate_amount'] = to_number($child['qp_rebate_amount']);
|
||
|
||
// 收益
|
||
$child['income'] = $child['income_cs'] + $child['income_maliang'] - $child['share_maliang'] + $child['rebate_amount'];
|
||
|
||
// 应收应付下级
|
||
$child['income_down'] = $child['income'];
|
||
}
|
||
|
||
} else {
|
||
// 会员收益
|
||
$child['income'] = $child['win_total'] + $child['income_maliang']+$child['rebate_amount'] + $child['qp_win_total'];
|
||
$child['income_up'] = $child['income'];
|
||
$child['income_down'] = 0;
|
||
}
|
||
|
||
// 格式化
|
||
$child['amount'] = number_format($child['amount'], 2, '.', '');
|
||
$child['win_total'] = number_format($child['win_total'], 2, '.', '');
|
||
$child['ximaliang'] = number_format($child['ximaliang'], 2, '.', '');
|
||
$child['maliang'] = number_format($child['maliang'], 2, '.', '');
|
||
$child['share_maliang'] = number_format($child['share_maliang'], 2, '.', '');
|
||
$child['cs'] = number_format($child['cs'], 2, '.', '');
|
||
$child['income_maliang'] = number_format($child['income_maliang'], 2, '.', '');
|
||
$child['income_cs'] = number_format($child['income_cs'], 2, '.', '');
|
||
$child['income'] = number_format($child['income'], 2, '.', '');
|
||
$child['income_up'] = number_format($child['income_up'], 2, '.', '');
|
||
$child['income_down'] = number_format($child['income_down'], 2, '.', '');
|
||
$child['rebate_amount'] = number_format($child['rebate_amount'], 2, '.', '');
|
||
if ($child['agent'] == 0) {
|
||
// 格式化
|
||
$child['cs'] = '-';
|
||
$child['share_maliang'] = '-';
|
||
$child['income_cs'] = '-';
|
||
}
|
||
}
|
||
|
||
// 导出excel列表
|
||
if($export == 1){
|
||
if($list){
|
||
//重新组合
|
||
$excelData = array();
|
||
foreach($list AS $k => $v){
|
||
$excelData[$k][] = $v['agent'] == 1 ? $lang['agent'] : $lang['member'];
|
||
$excelData[$k][] = $v['nickname'];
|
||
$excelData[$k][] = $v['username'];
|
||
$excelData[$k][] = $v['money'];
|
||
$excelData[$k][] = $v['amount'];
|
||
$excelData[$k][] = $v['win_total'];
|
||
$excelData[$k][] = $v['income_down'];
|
||
$excelData[$k][] = $v['income_up'];
|
||
$excelData[$k][] = $v['ximaliang'];
|
||
$excelData[$k][] = $v['maliang'];
|
||
$excelData[$k][] = $v['share_maliang'];
|
||
$excelData[$k][] = $v['income_maliang'];
|
||
$excelData[$k][] = $v['income_cs'];
|
||
if($topAgent['agent_type'] == 1){
|
||
$excelData[$k][] = $v['rebate_amount'];
|
||
}
|
||
$excelData[$k][] = $v['income'];
|
||
$excelData[$k][] = $v['ximalv'];
|
||
$excelData[$k][] = $v['agent_cs'];
|
||
if($topAgent['agent_type'] == 1){
|
||
$excelData[$k][] = $v['rebate_rate'];
|
||
}
|
||
}
|
||
$title = array(
|
||
$lang['member_type'],
|
||
$lang['nickname'],
|
||
$lang['username'],
|
||
$lang['account_balance'],
|
||
$lang['all_bet'],
|
||
$lang['all_win'],
|
||
$lang['collect_pay_money_subordinates'],
|
||
$lang['collect_pay_money_superiors'],
|
||
$lang['code_washing_amount'],
|
||
$lang['code_amount'],
|
||
$lang['share_code_amount'],
|
||
$lang['code_income'],
|
||
$lang['share_income'],
|
||
$lang['all_income'],
|
||
$lang['baccarat'].'/'.$lang['dt'].'/'.$lang['cow'].'/'.$lang['three_card'].' '.$lang['washing_rate'].'%',
|
||
$lang['share_ratio'].'%'
|
||
);
|
||
if($topAgent['agent_type'] == 1){
|
||
$title[] = $lang['rebate_rate'];
|
||
}
|
||
if($startDate && $endDate){
|
||
$this->exportExcelCore($excelData, $lang['agent_daily_statement'].'-'.$startDate."_".$endDate, $title);
|
||
}else{
|
||
$this->exportExcelCore($excelData, $lang['agent_daily_statement'], $title);
|
||
}
|
||
exit($lang['already_exp']);
|
||
}else{
|
||
exit($lang['no_exp']);
|
||
}
|
||
}
|
||
// 渲染参数和模板
|
||
$this->assign('get',$get);
|
||
$this->assign('query',$query);
|
||
$this->assign('list',$list);
|
||
$this->assign('user_info',$user_info);
|
||
$this->assign('top_agent',$topAgent);
|
||
return $this->fetch();
|
||
}
|
||
|
||
// 会员日结表
|
||
public function player(){
|
||
$is_allow = Session::get('user_info');
|
||
if($is_allow['account_type'] == 1 || $is_allow['account_type'] == 2){
|
||
return '非法请求';
|
||
}
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get',$get);
|
||
$this->assign('query',$query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
$game_id = Request::instance()->get('game_id');
|
||
$agent_id = Request::instance()->get('agent_id');
|
||
$is_under = Request::instance()->get('is_under');
|
||
$export = Request::instance()->get('export');
|
||
if($agent_id > 0){
|
||
// 获取查询代理信息
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$agent_id)->find();
|
||
}else{
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
}
|
||
if(!$is_under){
|
||
$is_under = 1;
|
||
$get['is_under'] = 1;
|
||
$this->assign('get',$get);
|
||
}
|
||
|
||
// 转换日期时间
|
||
if($startDate){
|
||
$startTime = strtotime($startDate);
|
||
}else{
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
if($endDate){
|
||
$endTime = strtotime($endDate);
|
||
}else{
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
|
||
// 数据查询条件
|
||
$dataWhere = array();
|
||
$dataWhere['create_time'] = array('between',[$startTime,$endTime]);
|
||
if($game_id > 0){
|
||
$dataWhere['game_id'] = $game_id;
|
||
}
|
||
|
||
// 找出所有的下注会员
|
||
$user_bet = Db::connect('DB2')->name('bet')->where($dataWhere)->where(array('status' => 1))->group('user_id')->field('user_id')->select();
|
||
$user_bet = array_column($user_bet,'user_id');
|
||
$user_bet = array_unique($user_bet);
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['agent'] = 0;
|
||
$where['is_delete'] = 0;
|
||
if($username){
|
||
$where['username'] = $username;
|
||
}
|
||
if($is_under == 1){
|
||
if($user_info['agent_parent_id'] > 0){
|
||
// 非总代
|
||
$where['agent_parent_id_path'] = array('like','%,'.$user_info['id'].',%');
|
||
}else{
|
||
// 总代
|
||
$where['agent_parent_id_path'] = array('like',$user_info['id'].',%');
|
||
}
|
||
}else{
|
||
$where['agent_parent_id'] = $user_info['id'];
|
||
}
|
||
|
||
|
||
// 汇总数据
|
||
$totalData = array();
|
||
$totalData['count'] = 0;
|
||
$totalData['amount'] = 0;
|
||
$totalData['win_total'] = 0;
|
||
$totalData['ximaliang'] = 0;
|
||
$totalData['maliang'] = 0;
|
||
$totalData['income'] = 0;
|
||
$totalData['maliang_unbalanced'] = 0;
|
||
|
||
// 查询代理及数据统计
|
||
$player_list = Db::connect('DB2')->name('user')->where($where)->order('id asc')->whereIn('id',$user_bet)->select();
|
||
foreach($player_list as $k => $v){
|
||
// 循环获取数据
|
||
$v['count'] = 0;
|
||
$v['amount'] = 0;
|
||
$v['win_total'] = 0;
|
||
$dataWhere['user_id'] = $v['id'];
|
||
// 总笔数
|
||
$v['count'] = Db::connect('DB2')->name('bet')->where($dataWhere)->where(array('status' => 1))->count();
|
||
// 总押
|
||
$v['amount'] = Db::connect('DB2')->name('bet')->where($dataWhere)->where(array('status' => 1))->sum('amount');
|
||
// 总赢
|
||
$v['win_total'] = Db::connect('DB2')->name('bet')->where($dataWhere)->where(array('status' => 1))->sum('win_total');
|
||
// 洗码量
|
||
$dataWhere['user_id'] = $v['id'];
|
||
$v['ximaliang'] = Db::connect('DB2')->name('xima')->where($dataWhere)->sum('ximaliang');
|
||
// 洗码费
|
||
$v['maliang'] = Db::connect('DB2')->name('xima')->where($dataWhere)->sum('net_maliang');
|
||
// 总收益(洗码 + 总赢)
|
||
$v['income'] = $v['maliang'] + $v['win_total'];
|
||
// 未结码量
|
||
$v['maliang_unbalanced'] = Db::connect('DB2')->name('xima')->where(['user_id'=>$v['id'],'is_checkout'=>0])->sum('net_maliang');
|
||
|
||
// 台类型
|
||
if($game_id == 1){
|
||
$v['table_name'] = '百家乐';
|
||
}elseif($game_id == 2){
|
||
$v['table_name'] = '龙虎';
|
||
}elseif($game_id == 4){
|
||
$v['table_name'] = '牛牛';
|
||
}elseif($game_id == 5){
|
||
$v['table_name'] = '三宝';
|
||
}else{
|
||
$v['table_name'] = '全部';
|
||
}
|
||
$v['ximalv'] = $v['agent_ximalv'].' / '.$v['agent_ximalv_dt'].' / '.$v['agent_ximalv_nn'].' / '.$v['agent_ximalv_tc'];
|
||
if($v['type_xima'] == 2){
|
||
$v['type_xima_msg'] = '单边洗码';
|
||
}else{
|
||
$v['type_xima_msg'] = '双边洗码';
|
||
}
|
||
|
||
// 格式化数据
|
||
$v['count'] = round($v['count'],2);
|
||
$v['amount'] = round($v['amount'],2);
|
||
$v['win_total'] = round($v['win_total'],2);
|
||
$v['ximaliang'] = round($v['ximaliang'],2);
|
||
$v['maliang'] = round($v['maliang'],2);
|
||
$v['maliang_unbalanced'] = round($v['maliang_unbalanced'],2);
|
||
$v['income'] = round($v['income'],2);
|
||
$v['money'] = round($v['money'],2);
|
||
|
||
$player_list[$k] = $v;
|
||
// 汇总数据
|
||
$totalData['count'] += $v['count'];
|
||
$totalData['amount'] += $v['amount'];
|
||
$totalData['win_total'] += $v['win_total'];
|
||
$totalData['ximaliang'] += $v['ximaliang'];
|
||
$totalData['maliang'] += $v['maliang'];
|
||
$totalData['income'] += $v['income'];
|
||
$totalData['maliang_unbalanced'] += $v['maliang_unbalanced'];
|
||
}
|
||
|
||
// 格式化数据
|
||
$totalData['count'] = round($totalData['count'],2);
|
||
$totalData['amount'] = round($totalData['amount'],2);
|
||
$totalData['win_total'] = round($totalData['win_total'],2);
|
||
$totalData['ximaliang'] = round($totalData['ximaliang'],2);
|
||
$totalData['maliang'] = round($totalData['maliang'],2);
|
||
$totalData['income'] = round($totalData['income'],2);
|
||
$totalData['maliang_unbalanced'] = round($totalData['maliang_unbalanced'],2);
|
||
|
||
// 导出excel列表
|
||
if($export == 1){
|
||
if($player_list){
|
||
//重新组合
|
||
$excelData = array();
|
||
foreach($player_list AS $k => $v){
|
||
$excelData[$k][0] = $v['table_name'];
|
||
$excelData[$k][1] = $v['nickname'];
|
||
$excelData[$k][2] = $v['username'];
|
||
$excelData[$k][3] = $v['money'];
|
||
$excelData[$k][4] = $v['count'];
|
||
$excelData[$k][5] = $v['amount'];
|
||
$excelData[$k][6] = $v['win_total'];
|
||
$excelData[$k][7] = $v['ximaliang'];
|
||
$excelData[$k][8] = $v['type_xima_msg'];
|
||
$excelData[$k][9] = $v['ximalv'];
|
||
$excelData[$k][10] = $v['maliang'];
|
||
$excelData[$k][11] = $v['income'];
|
||
$excelData[$k][12] = $v['maliang_unbalanced'];
|
||
}
|
||
$title = array('台类型','名称','账号','当前金额','下注次数','下注总额','总赢','洗码量','洗码方式','百/龙/牛牛/三宝洗码率%','洗码费','总收益','未结码量');
|
||
if($startDate && $endDate){
|
||
$this->exportExcelCore($excelData, '会员日结表-'.$startDate."至".$endDate, $title);
|
||
}else{
|
||
$this->exportExcelCore($excelData, '会员日结表', $title);
|
||
}
|
||
exit('已导出支持列表,请不要重复刷新该页面!');
|
||
}else{
|
||
exit('没有可以导出的列表!');
|
||
}
|
||
}
|
||
|
||
// 渲染参数和模板
|
||
$this->assign('player_list',$player_list);
|
||
$this->assign('totalData',$totalData);
|
||
$this->assign('user_info',$user_info);
|
||
return $this->fetch();
|
||
}
|
||
|
||
// 台桌游戏查询
|
||
public function number_tab(){
|
||
$langType = cookie('think_var');
|
||
$lang = Lang::get('agent');
|
||
$jsonlang = json_encode($lang);
|
||
|
||
$this->assign('langType',$langType);
|
||
$this->assign('lang',$lang);
|
||
$this->assign('jsonlang',$jsonlang);
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::name('user')->where('id',$user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('query',$query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$table_id = Request::instance()->get('table_id');
|
||
$game_id = Request::instance()->get('game_id');
|
||
|
||
// 转换日期时间
|
||
if($startDate){
|
||
$startTime = strtotime($startDate);
|
||
}else{
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
|
||
}
|
||
if($endDate){
|
||
$endTime = strtotime($endDate);
|
||
}else{
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['create_time'] = array('between',[$startTime,$endTime]);
|
||
if($table_id > 0){
|
||
$where['table_id'] = $table_id;
|
||
}
|
||
if($game_id > 0){
|
||
$where['game_id'] = $game_id;
|
||
$this->assign('get',$get);
|
||
}else{
|
||
$where['game_id'] = 1;
|
||
$game_id = 1;
|
||
$get['game_id'] = 1;
|
||
$this->assign('get',$get);
|
||
}
|
||
// 汇总
|
||
$total['win_total'] = 0;
|
||
// 百家乐
|
||
$bet = array();
|
||
if($game_id == 1){
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$bet = Db::connect('DB2')->name('bet')->where('agent_parent_id_path', 'LIKE', '%,'.$user_info['id'].',%')->where($where)->where(array('status' => 1))->order('create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
}else{
|
||
$bet = Db::connect('DB2')->name('bet')->where('agent_parent_id_path', 'LIKE', $user_info['id'].',%')->where($where)->where(array('status' => 1))->order('create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
}
|
||
foreach($bet as $k => $v){
|
||
$betUser = Db::name('user')->where('id',$v['user_id'])->find();
|
||
$v['parent_username'] = $betUser['agent_parent_username'];
|
||
$v['username'] = $betUser['username'];
|
||
$v['nickname'] = $betUser['nickname'];
|
||
// 下注详情
|
||
$betDetail = '';
|
||
if($v['banker_amount'] > 0){
|
||
$betDetail .= ' '.$lang['banker'].':'.round($v['banker_amount'],2);
|
||
}
|
||
if($v['player_amount'] > 0){
|
||
$betDetail .= ' '.$lang['player'].':'.round($v['player_amount'],2);
|
||
}
|
||
if($v['tie_amount'] > 0){
|
||
$betDetail .= ' '.$lang['tie'].':'.round($v['tie_amount'],2);
|
||
}
|
||
if($v['banker_pair_amount'] > 0){
|
||
$betDetail .= ' '.$lang['banker_pair'].':'.round($v['banker_pair_amount'],2);
|
||
}
|
||
if($v['player_pair_amount'] > 0){
|
||
$betDetail .= ' '.$lang['player_pair'].':'.round($v['player_pair_amount'],2);
|
||
}
|
||
$v['bet_detail'] = $betDetail;
|
||
// 信息组装
|
||
if($v['result'] == 1){
|
||
$v['result'] = $lang['banker'];
|
||
$v['color'] = 'red';
|
||
}elseif($v['result'] == 2){
|
||
$v['result'] = $lang['player'];
|
||
$v['color'] = 'blue';
|
||
}elseif($v['result'] == 3){
|
||
$v['result'] = $lang['tie'];
|
||
$v['color'] = 'green';
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
if($v['pair'] == 1){
|
||
$v['result'] .= '-'.$lang['banker_pair'];
|
||
}elseif($v['pair'] == 2){
|
||
$v['result'] .= '-'.$lang['player_pair'];
|
||
}elseif($v['pair'] == 3){
|
||
$v['result'] .= '-'.$lang['banker_player_pair'];
|
||
}
|
||
// 铺
|
||
$number_tab = Db::connect('DB2')->name('number_tab')->where('id',$v['number_tab_id'])->find();
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
$v['end_time'] = date('Y-m-d H:i:s',$number_tab['end_time']);
|
||
if($number_tab['result_before_edit'] == 1){
|
||
$v['result_before_edit'] = $lang['banker'];
|
||
$v['color_result_before_edit'] = 'red';
|
||
}elseif($number_tab['result_before_edit'] == 2){
|
||
$v['result_before_edit'] = $lang['player'];
|
||
$v['color_result_before_edit'] = 'blue';
|
||
}elseif($number_tab['result'] == 3){
|
||
$v['result_before_edit'] = $lang['tie'];
|
||
$v['color_result_before_edit'] = 'green';
|
||
}else{
|
||
$v['result_before_edit'] = '-';
|
||
$v['color_result_before_edit'] = '';
|
||
}
|
||
if($number_tab['pair_before_edit'] == 1){
|
||
$v['result_before_edit'] .= '-'.$lang['banker_pair'];
|
||
}elseif($number_tab['pair_before_edit'] == 2){
|
||
$v['result_before_edit'] .= '-'.$lang['player_pair'];
|
||
}elseif($number_tab['pair_before_edit'] == 3){
|
||
$v['result_before_edit'] .= '-'.$lang['banker_player_pair'];
|
||
}
|
||
// 是否开奖
|
||
if($v['is_end'] == 1){
|
||
$v['is_end'] = $lang['awarded'];
|
||
}else{
|
||
$v['is_end'] = $lang['unlicensed'];
|
||
}
|
||
// 格式化
|
||
$v['win_total'] = round($v['win_total'],2);
|
||
if($v['win_total'] < 0){
|
||
$v['color_win_total'] = 'red';
|
||
}else{
|
||
$v['color_win_total'] = '';
|
||
}
|
||
$v['money_before_bet'] = round($v['money_before_bet'],2);
|
||
$v['end_money'] = round($v['end_money'],2);
|
||
$bet[$k] = $v;
|
||
}
|
||
}elseif($game_id == 2){
|
||
// 龙虎
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$bet = Db::connect('DB2')->name('bet')->where('agent_parent_id_path', 'LIKE', '%,'.$user_info['id'].',%')->where($where)->where(array('status' => 1))->order('create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
}else{
|
||
$bet = Db::connect('DB2')->name('bet')->where('agent_parent_id_path', 'LIKE', $user_info['id'].',%')->where($where)->where(array('status' => 1))->order('create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
}
|
||
foreach($bet as $k => $v){
|
||
$betUser = Db::name('user')->where('id',$v['user_id'])->find();
|
||
$v['parent_username'] = $betUser['agent_parent_username'];
|
||
$v['username'] = $betUser['username'];
|
||
$v['nickname'] = $betUser['nickname'];
|
||
// 下注详情
|
||
$betDetail = '';
|
||
if($v['banker_amount'] > 0){
|
||
$betDetail .= ' '.$lang['dragon'].':'.round($v['banker_amount'],2);
|
||
}
|
||
if($v['player_amount'] > 0){
|
||
$betDetail .= ' '.$lang['tiger'].':'.round($v['player_amount'],2);
|
||
}
|
||
if($v['tie_amount'] > 0){
|
||
$betDetail .= ' '.$lang['tie'].':'.round($v['tie_amount'],2);
|
||
}
|
||
$v['bet_detail'] = $betDetail;
|
||
// 信息组装
|
||
if($v['result'] == 1){
|
||
$v['result'] = $lang['dragon'];
|
||
$v['color'] = 'red';
|
||
}elseif($v['result'] == 2){
|
||
$v['result'] = $lang['tiger'];
|
||
$v['color'] = 'blue';
|
||
}elseif($v['result'] == 3){
|
||
$v['result'] = $lang['tie'];
|
||
$v['color'] = 'green';
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
// 铺
|
||
$number_tab = Db::connect('DB2')->name('number_tab')->where('id',$v['number_tab_id'])->find();
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
$v['end_time'] = date('Y-m-d H:i:s',$number_tab['end_time']);
|
||
if($number_tab['result_before_edit'] == 1){
|
||
$v['result_before_edit'] = $lang['dragon'];
|
||
$v['color_result_before_edit'] = 'red';
|
||
}elseif($number_tab['result_before_edit'] == 2){
|
||
$v['result_before_edit'] = $lang['tiger'];
|
||
$v['color_result_before_edit'] = 'blue';
|
||
}elseif($number_tab['result'] == 3){
|
||
$v['result_before_edit'] = $lang['tie'];
|
||
$v['color_result_before_edit'] = 'green';
|
||
}else{
|
||
$v['result_before_edit'] = '-';
|
||
$v['color_result_before_edit'] = '';
|
||
}
|
||
// 是否开奖
|
||
if($v['is_end'] == 1){
|
||
$v['is_end'] = $lang['awarded'];
|
||
}else{
|
||
$v['is_end'] = $lang['unlicensed'];
|
||
}
|
||
// 格式化
|
||
$v['win_total'] = round($v['win_total'],2);
|
||
if($v['win_total'] < 0){
|
||
$v['color_win_total'] = 'red';
|
||
}else{
|
||
$v['color_win_total'] = '';
|
||
}
|
||
$v['money_before_bet'] = round($v['money_before_bet'],2);
|
||
$v['end_money'] = round($v['end_money'],2);
|
||
$bet[$k] = $v;
|
||
}
|
||
}elseif($game_id == 4 || $game_id == 5){
|
||
// 牛牛
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$bet = Db::connect('DB2')->name('bet')->where('agent_parent_id_path', 'LIKE', '%,'.$user_info['id'].',%')->where($where)->where(array('status' => 1))->order('create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
}else{
|
||
$bet = Db::connect('DB2')->name('bet')->where('agent_parent_id_path', 'LIKE', $user_info['id'].',%')->where($where)->where(array('status' => 1))->order('create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
}
|
||
foreach($bet as $k => $v){
|
||
$betUser = Db::connect('DB2')->name('user')->where('id',$v['user_id'])->find();
|
||
$v['parent_username'] = $betUser['agent_parent_username'];
|
||
$v['username'] = $betUser['username'];
|
||
$v['nickname'] = $betUser['nickname'];
|
||
if($v['is_end'] == 1){
|
||
$result = '';
|
||
$v['color'] = '';
|
||
if($v['win_player_1'] == 0 && $v['win_player_2'] == 0 && $v['win_player_3'] == 0){
|
||
$result .= $lang['banker'].' ';
|
||
$v['color'] = 'red';
|
||
}
|
||
if($v['win_player_1'] == 1){
|
||
$result .= $lang['player_1'].' ';
|
||
$v['color'] = 'blue';
|
||
}
|
||
if($v['win_player_2'] == 1){
|
||
$result .= $lang['player_2'].' ';
|
||
$v['color'] = 'blue';
|
||
}
|
||
if($v['win_player_3'] == 1){
|
||
$result .= $lang['player_3'].' ';
|
||
$v['color'] = 'blue';
|
||
}
|
||
$v['result'] = $result;
|
||
|
||
$result_detail = '(';
|
||
$result_detail .= $lang['player_1'].resultNn($v['result_player_1']).' ';
|
||
$result_detail .= $lang['player_2'].resultNn($v['result_player_2']).' ';
|
||
$result_detail .= $lang['player_3'].resultNn($v['result_player_3']).' ';
|
||
$result_detail .= $lang['banker'].resultNn($v['result_banker']).' ';
|
||
$result_detail .= ')';
|
||
$v['result'] .= $result_detail;
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
// 下注详情
|
||
$v['bet_detail'] = '';
|
||
if($v['amount_player_1'] > 0){
|
||
$v['bet_detail'] .= $lang['player_1_flat'].round($v['amount_player_1'],2).' ';
|
||
}
|
||
if($v['amount_player_1_times'] > 0){
|
||
$v['bet_detail'] .= $lang['player_1_double'].round($v['amount_player_1_times'],2).' ';
|
||
}
|
||
if($v['amount_player_1_banker'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_1_flat'].round($v['amount_player_1_banker'],2).' ';
|
||
}
|
||
if($v['amount_player_1_banker_times'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_1_double'].round($v['amount_player_1_banker_times'],2).' ';
|
||
}
|
||
if($v['amount_player_2'] > 0){
|
||
$v['bet_detail'] .= $lang['player_2_flat'].round($v['amount_player_2'],2).' ';
|
||
}
|
||
if($v['amount_player_2_times'] > 0){
|
||
$v['bet_detail'] .= $lang['player_2_double'].round($v['amount_player_2_times'],2).' ';
|
||
}
|
||
if($v['amount_player_2_banker'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_2_flat'].round($v['amount_player_2_banker'],2).' ';
|
||
}
|
||
if($v['amount_player_2_banker_times'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_2_double'].round($v['amount_player_2_banker_times'],2).' ';
|
||
}
|
||
if($v['amount_player_3'] > 0){
|
||
$v['bet_detail'] .= $lang['player_3_flat'].round($v['amount_player_3'],2).' ';
|
||
}
|
||
if($v['amount_player_3_times'] > 0){
|
||
$v['bet_detail'] .= $lang['player_3_double'].round($v['amount_player_3_times'],2).' ';
|
||
}
|
||
if($v['amount_player_3_banker'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_3_flat'].round($v['amount_player_3_banker'],2).' ';
|
||
}
|
||
if($v['amount_player_3_banker_times'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_3_double'].round($v['amount_player_3_banker_times'],2).' ';
|
||
}
|
||
// 铺
|
||
$number_tab = Db::connect('DB2')->name('number_tab')->where('id',$v['number_tab_id'])->find();
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
$v['end_time'] = date('Y-m-d H:i:s',$number_tab['end_time']);
|
||
$v['result_before_edit'] = '-';
|
||
$v['color_result_before_edit'] = '';
|
||
// 是否开奖
|
||
if($v['is_end'] == 1){
|
||
$v['is_end'] = $lang['awarded'];
|
||
}else{
|
||
$v['is_end'] = $lang['unlicensed'];
|
||
}
|
||
// 格式化
|
||
$v['win_total'] = round($v['win_total'],2);
|
||
if($v['win_total'] < 0){
|
||
$v['color_win_total'] = 'red';
|
||
}else{
|
||
$v['color_win_total'] = '';
|
||
}
|
||
$v['money_before_bet'] = round($v['money_before_bet'],2);
|
||
$v['end_money'] = round($v['end_money'],2);
|
||
$bet[$k] = $v;
|
||
}
|
||
}else if($game_id == 6){
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$bet = Db::connect('DB2')->name('bet')->where('agent_parent_id_path', 'LIKE', '%,'.$user_info['id'].',%')->where($where)->where(array('status' => 1))->order('create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
}else{
|
||
$bet = Db::connect('DB2')->name('bet')->where('agent_parent_id_path', 'LIKE', $user_info['id'].',%')->where($where)->where(array('status' => 1))->order('create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
}
|
||
foreach($bet as $k => $v) {
|
||
$betUser = Db::connect('DB2')->name('user')->where('id', $v['user_id'])->find();
|
||
$v['parent_username'] = $betUser['agent_parent_username'];
|
||
$v['username'] = $betUser['username'];
|
||
$v['nickname'] = $betUser['nickname'];
|
||
if($v['is_end'] == 1){
|
||
$v['color'] = '';
|
||
$v['result'] = $lang['toning_result_'.$v['toning_result']];
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
$v['bet_detail'] = '';
|
||
$v['toning_amount'] = result_to_array($v['toning_amount']);
|
||
foreach ($v['toning_amount'] as $key => $val){
|
||
if($val > 0){
|
||
$v['bet_detail'] .= $lang[$key].':'.$val.' ';
|
||
}
|
||
}
|
||
$v['result_before_edit'] = '-';
|
||
$v['color_result_before_edit'] = '';
|
||
// 是否开奖
|
||
if($v['is_end'] == 1){
|
||
$v['is_end'] = $lang['awarded'];
|
||
}else{
|
||
$v['is_end'] = $lang['unlicensed'];
|
||
}
|
||
// 格式化
|
||
$v['win_total'] = round($v['win_total'],2);
|
||
if($v['win_total'] < 0){
|
||
$v['color_win_total'] = 'red';
|
||
}else{
|
||
$v['color_win_total'] = '';
|
||
}
|
||
$v['money_before_bet'] = round($v['money_before_bet'],2);
|
||
$v['end_money'] = round($v['end_money'],2);
|
||
$number_tab = Db::connect('DB2')->name('number_tab')->where('id',$v['number_tab_id'])->find();
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
$v['end_time'] = date('Y-m-d H:i:s',$number_tab['end_time']);
|
||
$bet[$k] = $v;
|
||
}
|
||
}else if($game_id == 7){
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$bet = Db::connect('DB2')->name('bet')->where('agent_parent_id_path', 'LIKE', '%,'.$user_info['id'].',%')->where($where)->where(array('status' => 1))->order('create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
}else{
|
||
$bet = Db::connect('DB2')->name('bet')->where('agent_parent_id_path', 'LIKE', $user_info['id'].',%')->where($where)->where(array('status' => 1))->order('create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
}
|
||
foreach($bet as $k => $v) {
|
||
$betUser = Db::connect('DB2')->name('user')->where('id', $v['user_id'])->find();
|
||
$v['parent_username'] = $betUser['agent_parent_username'];
|
||
$v['username'] = $betUser['username'];
|
||
$v['nickname'] = $betUser['nickname'];
|
||
if($v['is_end'] == 1){
|
||
$v['color'] = '';
|
||
$v['result'] = $v['dice_result'];
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
$v['bet_detail'] = '';
|
||
$v['dice_amount'] = result_to_array($v['dice_amount']);
|
||
foreach ($v['dice_amount'] as $key => $val){
|
||
if($val > 0){
|
||
$v['bet_detail'] .= $lang['dice_'.$key].':'.$val.' ';
|
||
}
|
||
}
|
||
$v['result_before_edit'] = '-';
|
||
$v['color_result_before_edit'] = '';
|
||
// 是否开奖
|
||
if($v['is_end'] == 1){
|
||
$v['is_end'] = $lang['awarded'];
|
||
}else{
|
||
$v['is_end'] = $lang['unlicensed'];
|
||
}
|
||
// 格式化
|
||
$v['win_total'] = round($v['win_total'],2);
|
||
if($v['win_total'] < 0){
|
||
$v['color_win_total'] = 'red';
|
||
}else{
|
||
$v['color_win_total'] = '';
|
||
}
|
||
$v['money_before_bet'] = round($v['money_before_bet'],2);
|
||
$v['end_money'] = round($v['end_money'],2);
|
||
$number_tab = Db::connect('DB2')->name('number_tab')->where('id',$v['number_tab_id'])->find();
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
$v['end_time'] = date('Y-m-d H:i:s',$number_tab['end_time']);
|
||
$bet[$k] = $v;
|
||
}
|
||
}else if($game_id == 8){
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$bet = Db::connect('DB2')->name('bet')->where('agent_parent_id_path', 'LIKE', '%,'.$user_info['id'].',%')->where($where)->where(array('status' => 1))->order('create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
}else{
|
||
$bet = Db::connect('DB2')->name('bet')->where('agent_parent_id_path', 'LIKE', $user_info['id'].',%')->where($where)->where(array('status' => 1))->order('create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
}
|
||
foreach($bet as $k => $v) {
|
||
$betUser = Db::connect('DB2')->name('user')->where('id', $v['user_id'])->find();
|
||
$v['parent_username'] = $betUser['agent_parent_username'];
|
||
$v['username'] = $betUser['username'];
|
||
$v['nickname'] = $betUser['nickname'];
|
||
if($v['is_end'] == 1){
|
||
$v['color'] = '';
|
||
$v['result'] = $v['roulette_result'];
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
$v['bet_detail'] = '';
|
||
$v['bet_detail'] = '';
|
||
$v['roulette_european_amount'] = result_to_array($v['roulette_european_amount']);
|
||
$v['roulette_french_amount'] = result_to_array($v['roulette_french_amount']);
|
||
if($v['roulette_european_amount']){
|
||
$v['bet_detail'] .= $lang['european'].'(';
|
||
foreach ($v['roulette_european_amount'] as $key => $val){
|
||
if($val > 0){
|
||
if(in_array($key,['low','high','odd','even','red','black','column_1','column_2','column_3','dozen_1','dozen_2','dozen_3'])){
|
||
$v['bet_detail'] .= $lang['roulette_'.$key].':'.$val.' ';
|
||
}else{
|
||
$keyArray = explode("_", $key);
|
||
$v['bet_detail'] .= $lang['roulette_'.$keyArray[0]].'['.$keyArray[1].']:'.$val.' ';
|
||
}
|
||
|
||
}
|
||
}
|
||
$v['bet_detail'] .= ')<br/>';
|
||
}
|
||
if($v['roulette_french_amount']){
|
||
$v['bet_detail'] .= $lang['french'].'(';
|
||
foreach ($v['roulette_french_amount'] as $key => $val){
|
||
if($val > 0){
|
||
if(in_array($key,['zeroGame','neighborsOfZero','orphans','theThird'])){
|
||
$v['bet_detail'] .= $lang['roulette_'.$key].':'.$val.' ';
|
||
}else{
|
||
$keyArray = explode("_", $key);
|
||
$v['bet_detail'] .= $lang['roulette_'.$keyArray[0]].'['.$keyArray[1].']:'.$val.' ';
|
||
}
|
||
|
||
}
|
||
}
|
||
$v['bet_detail'] .= ')';
|
||
}
|
||
$v['result_before_edit'] = '-';
|
||
$v['color_result_before_edit'] = '';
|
||
// 是否开奖
|
||
if($v['is_end'] == 1){
|
||
$v['is_end'] = $lang['awarded'];
|
||
}else{
|
||
$v['is_end'] = $lang['unlicensed'];
|
||
}
|
||
// 格式化
|
||
$v['win_total'] = round($v['win_total'],2);
|
||
if($v['win_total'] < 0){
|
||
$v['color_win_total'] = 'red';
|
||
}else{
|
||
$v['color_win_total'] = '';
|
||
}
|
||
$v['money_before_bet'] = round($v['money_before_bet'],2);
|
||
$v['end_money'] = round($v['end_money'],2);
|
||
$number_tab = Db::connect('DB2')->name('number_tab')->where('id',$v['number_tab_id'])->find();
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
$v['end_time'] = date('Y-m-d H:i:s',$number_tab['end_time']);
|
||
$bet[$k] = $v;
|
||
}
|
||
}
|
||
// 汇总信息
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$total['win_total'] = Db::connect('DB2')->name('bet')->where('agent_parent_id_path', 'LIKE', '%,'.$user_info['id'].',%')->where($where)->where(array('status' => 1))->sum('win_total');
|
||
}else{
|
||
$total['win_total'] = Db::connect('DB2')->name('bet')->where('agent_parent_id_path', 'LIKE', $user_info['id'].',%')->where($where)->where(array('status' => 1))->sum('win_total');
|
||
}
|
||
|
||
// 获取所有的桌子
|
||
$table_list = Db::connect('DB2')->name('table')->where('game_id',$game_id)->select();
|
||
|
||
// 渲染参数和模板
|
||
$this->assign('table_list',$table_list);
|
||
$this->assign('bet',$bet);
|
||
$this->assign('user_info',$user_info);
|
||
$this->assign('total',$total);
|
||
return $this->fetch();
|
||
}
|
||
|
||
// 注单查询
|
||
public function bet(){
|
||
$langType = cookie('think_var');
|
||
$lang = Lang::get('agent');
|
||
$jsonlang = json_encode($lang);
|
||
|
||
$this->assign('langType',$langType);
|
||
$this->assign('lang',$lang);
|
||
$this->assign('jsonlang',$jsonlang);
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if($user_info['account_type'] == 1 || $user_info['account_type'] == 2){
|
||
return $lang['illegal_request'];
|
||
}
|
||
$topAgentId = explode(',',$user_info['agent_parent_id_path'])[0];
|
||
$topAgent = Db::name('user')->where('id',$topAgentId)->find();
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$game_id = Request::instance()->get('game_id');
|
||
$table_id = Request::instance()->get('table_id');
|
||
$username = Request::instance()->get('username');
|
||
$online = intval(Request::instance()->get('online'));
|
||
|
||
// 自动刷新设置
|
||
if($online == 1){
|
||
$refreshUrl = '/report/bet?username='.$username.'&game_id='.$game_id.'&online=1';
|
||
}else{
|
||
$refreshUrl = '/report/bet';
|
||
}
|
||
|
||
// 转换日期时间
|
||
if($startDate){
|
||
$startTime = strtotime($startDate);
|
||
}else{
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
|
||
}
|
||
if($endDate){
|
||
$endTime = strtotime($endDate);
|
||
}else{
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['create_time'] = array('between',[$startTime,$endTime]);
|
||
$where['status'] = 1;
|
||
if($table_id > 0 ) $where['table_id'] = $table_id;
|
||
if($game_id > 0 ){
|
||
$where['game_id'] = $game_id;
|
||
}else{
|
||
$game_id = 0;
|
||
$get['game_id'] = 0;
|
||
}
|
||
$total = array();
|
||
$total['amount'] = 0;
|
||
$total['win_total'] = 0;
|
||
$total['ximaliang'] = 0;
|
||
$total['maliang'] = 0;
|
||
$total['rebate_bet_amount'] = 0;
|
||
$total['rebate_amount'] = 0;
|
||
if($username){
|
||
$user = Db::connect('DB2')->name('user')->where(array('username' => $username))->find();
|
||
$agent_parent_id_path_arr = explode(',',$user['agent_parent_id_path']);
|
||
if(!in_array($user_info['id'],$agent_parent_id_path_arr)){
|
||
if($game_id > 0){
|
||
$table_list = Db::connect('DB2')->name('table')->where('game_id',$game_id)->select();
|
||
}else{
|
||
$table_list = Db::connect('DB2')->name('table')->select();
|
||
}
|
||
// 渲染参数和模板
|
||
$this->assign('get',$get);
|
||
$this->assign('query',$query);
|
||
$this->assign('table_list',$table_list);
|
||
$this->assign('bet',array());
|
||
$this->assign('user_info',$user_info);
|
||
$this->assign('total',$total);
|
||
$this->assign('online',$online);
|
||
$this->assign('refreshUrl',$refreshUrl);
|
||
return $this->fetch();
|
||
}else{
|
||
if($user['agent_parent_id'] > 0){
|
||
if($user['agent'] == 1){
|
||
$where['agent_parent_id_path'] = array('LIKE','%,'.$user['id'].',%');
|
||
}else{
|
||
$where['user_id'] = $user['id'];
|
||
}
|
||
}else{
|
||
if($user['agent'] == 1){
|
||
$where['agent_parent_id_path'] = array('LIKE',$user['id'].',%');
|
||
}else{
|
||
$where['user_id'] = $user['id'];
|
||
}
|
||
}
|
||
// 汇总信息
|
||
$total['amount'] = Db::connect('DB2')->name('bet')->where($where)->sum('amount');
|
||
$total['win_total'] = Db::connect('DB2')->name('bet')->where($where)->sum('win_total');
|
||
$ximaWhere = $where;
|
||
// if(isset($ximaWhere['user_id'])) unset($ximaWhere['user_id']);
|
||
// if(isset($ximaWhere['agent_parent_id_path'])) unset($ximaWhere['agent_parent_id_path']);
|
||
$total['ximaliang'] = Db::connect('DB2')->name('xima')->where($ximaWhere)->where('user_id=bet_user_id')->sum('ximaliang');
|
||
$total['maliang'] = Db::connect('DB2')->name('xima')->where($ximaWhere)->where('user_id=bet_user_id')->sum('net_maliang');
|
||
|
||
$rebateWhere = $where;
|
||
$total['rebate_bet_amount'] = Db::connect('DB2')->name('rebate')->where($rebateWhere)->where('user_id=bet_user_id')->sum('amount');
|
||
$total['rebate_amount'] = Db::connect('DB2')->name('rebate')->where($rebateWhere)->where('user_id=bet_user_id')->sum('rebate_amount_actual');
|
||
}
|
||
}else{
|
||
if($user_info['agent_parent_id'] > 0){
|
||
if($user_info['agent'] == 1){
|
||
$where['agent_parent_id_path'] = array('LIKE','%,'.$user_info['id'].',%');
|
||
}else{
|
||
$where['user_id'] = $user_info['id'];
|
||
}
|
||
}else{
|
||
if($user_info['agent'] == 1){
|
||
$where['agent_parent_id_path'] = array('LIKE',$user_info['id'].',%');
|
||
}else{
|
||
$where['user_id'] = $user_info['id'];
|
||
}
|
||
}
|
||
// 汇总信息
|
||
$total['amount'] = Db::connect('DB2')->name('bet')->where($where)->sum('amount');
|
||
$total['win_total'] = Db::connect('DB2')->name('bet')->where($where)->sum('win_total');
|
||
$ximaWhere = $where;
|
||
// if(isset($ximaWhere['user_id'])) unset($ximaWhere['user_id']);
|
||
// if(isset($ximaWhere['agent_parent_id_path'])) unset($ximaWhere['agent_parent_id_path']);
|
||
$total['ximaliang'] = Db::connect('DB2')->name('xima')->where($ximaWhere)->where('user_id=bet_user_id')->sum('ximaliang');
|
||
$total['maliang'] = Db::connect('DB2')->name('xima')->where($ximaWhere)->where('user_id=bet_user_id')->sum('net_maliang');
|
||
|
||
$rebateWhere = $where;
|
||
$total['rebate_bet_amount'] = Db::connect('DB2')->name('rebate')->where($rebateWhere)->where('user_id=bet_user_id')->sum('amount');
|
||
$total['rebate_amount'] = Db::connect('DB2')->name('rebate')->where($rebateWhere)->where('user_id=bet_user_id')->sum('rebate_amount_actual');
|
||
}
|
||
$this->assign('get',$get);
|
||
$this->assign('query',$query);
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$bet = Db::connect('DB2')->name('bet')->where($where)->order('create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
}else{
|
||
$bet = Db::connect('DB2')->name('bet')->where($where)->order('create_time desc')->paginate(20,false,array('query'=>$get));
|
||
}
|
||
if($game_id == 0)
|
||
{
|
||
foreach($bet as $k => $v){
|
||
$number_tab = Db::name('number_tab')->where('id',$v['number_tab_id'])->find();
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
|
||
// 返水
|
||
$v['rebate_bet_amount'] = Db::connect('DB2')->name('rebate')->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('amount');
|
||
$v['rebate_amount'] = Db::connect('DB2')->name('rebate')->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('rebate_amount_actual');
|
||
$v['rebate_rate'] = Db::connect('DB2')->name('rebate')->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('rebate_rate');
|
||
if(empty($v['rebate_bet_amount'])){
|
||
$v['rebate_rate'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('rebate_rate');
|
||
}
|
||
$v['result_before_edit'] = '-';
|
||
$v['result_before_color'] = '';
|
||
if($v['game_id'] == 1){
|
||
// 结果
|
||
if($number_tab['result_before_edit'] == 1){
|
||
$v['result_before_edit'] = $lang['banker'];
|
||
$v['result_before_color'] = 'red';
|
||
}elseif($number_tab['result_before_edit'] == 2){
|
||
$v['result_before_edit'] = $lang['player'];
|
||
$v['result_before_color'] = 'blue';
|
||
}elseif($number_tab['result_before_edit'] == 3){
|
||
$v['result_before_edit'] = $lang['tie'];
|
||
$v['result_before_color'] = 'green';
|
||
}else{
|
||
$v['result_before_edit'] = '-';
|
||
$v['result_before_color'] = '';
|
||
}
|
||
if($number_tab['pair_before_edit'] == 1){
|
||
$v['result_before_edit'] .= '-'.$lang['banker_pair'];
|
||
}elseif($number_tab['pair_before_edit'] == 2){
|
||
$v['result_before_edit'] .= '-'.$lang['player_pair'];
|
||
}elseif($number_tab['pair_before_edit'] == 3){
|
||
$v['result_before_edit'] .= '-'.$lang['banker_player_pair'];
|
||
}
|
||
|
||
if($number_tab['result'] == 1){
|
||
$v['result'] = $lang['banker'];
|
||
$v['color'] = 'red';
|
||
}elseif($number_tab['result'] == 2){
|
||
$v['result'] = $lang['player'];
|
||
$v['color'] = 'blue';
|
||
}elseif($number_tab['result'] == 3){
|
||
$v['result'] = $lang['tie'];
|
||
$v['color'] = 'green';
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
if($number_tab['pair'] == 1){
|
||
$v['result'] .= '-'.$lang['banker_pair'];
|
||
}elseif($number_tab['pair'] == 2){
|
||
$v['result'] .= '-'.$lang['player_pair'];
|
||
}elseif($number_tab['pair'] == 3){
|
||
$v['result'] .= '-'.$lang['banker_player_pair'];
|
||
}
|
||
if($number_tab['luck_six'] == 2){
|
||
$v['result'] .= ','.$lang['luck_six'].'-2';
|
||
}else if($number_tab['luck_six'] == 3){
|
||
$v['result'] .= ','.$lang['luck_six'].'-3';
|
||
}
|
||
if($number_tab['big_small'] == 1){
|
||
$v['result'] .= ','.$lang['big'];
|
||
}else if($number_tab['big_small'] == 2){
|
||
$v['result'] .= ','.$lang['small'];
|
||
}
|
||
if($v['baccarat_type'] == 0){
|
||
$v['result'] .= "(".$lang['commission'].")";
|
||
}else if($v['baccarat_type'] == 1){
|
||
$v['result'] .= "(".$lang['free_commission'].")";
|
||
}
|
||
// 下注详情
|
||
$v['bet_detail'] = '';
|
||
if($v['banker_amount'] > 0){
|
||
$v['bet_detail'] .= $lang['banker'].round($v['banker_amount'],2).' ';
|
||
}
|
||
if($v['player_amount'] > 0){
|
||
$v['bet_detail'] .= $lang['player'].round($v['player_amount'],2).' ';
|
||
}
|
||
if($v['tie_amount'] > 0){
|
||
$v['bet_detail'] .= $lang['tie'].round($v['tie_amount'],2).' ';
|
||
}
|
||
if($v['banker_pair_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['banker_pair'].round($v['banker_pair_amount'],2).' ';
|
||
}
|
||
if($v['player_pair_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['player_pair'].round($v['player_pair_amount'],2).' ';
|
||
}
|
||
if($v['luck_six_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['luck_six'].round($v['luck_six_amount'],2).' ';
|
||
}
|
||
if($v['big_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['big'].round($v['big_amount'],2).' ';
|
||
}
|
||
if($v['small_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['small'].round($v['small_amount'],2).' ';
|
||
}
|
||
|
||
// 洗码量
|
||
$v['ximaliang'] = Db::connect('DB2')->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');
|
||
//洗码率
|
||
$v['ximalv'] = Db::connect('DB2')->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($v['ximaliang'])){
|
||
// 不产生洗码量的时候 显示默认配置的系码率
|
||
$v['ximalv'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('agent_ximalv');
|
||
}
|
||
// 注单码佣
|
||
$v['maliang'] = Db::connect('DB2')->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');
|
||
}elseif($v['game_id'] == 2){
|
||
// 结果
|
||
if($number_tab['result_before_edit'] == 1){
|
||
$v['result_before_edit'] = $lang['dragon'];
|
||
$v['result_before_color'] = 'red';
|
||
}elseif($number_tab['result_before_edit'] == 2){
|
||
$v['result_before_edit'] = $lang['tiger'];
|
||
$v['result_before_color'] = 'blue';
|
||
}elseif($number_tab['result_before_edit'] == 3){
|
||
$v['result_before_edit'] = $lang['tie'];
|
||
$v['result_before_color'] = 'green';
|
||
}else{
|
||
$v['result_before_edit'] = '-';
|
||
$v['result_before_color'] = '';
|
||
}
|
||
|
||
if($number_tab['result'] == 1){
|
||
$v['result'] = $lang['dragon'];
|
||
$v['color'] = 'red';
|
||
}elseif($number_tab['result'] == 2){
|
||
$v['result'] = $lang['tiger'];
|
||
$v['color'] = 'blue';
|
||
}elseif($number_tab['result'] == 3){
|
||
$v['result'] = $lang['tie'];
|
||
$v['color'] = 'green';
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
// 下注详情
|
||
$v['bet_detail'] = '';
|
||
if($v['banker_amount'] > 0){
|
||
$v['bet_detail'] .= $lang['dragon'].round($v['banker_amount'],2).' ';
|
||
}
|
||
if($v['player_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['tiger'].round($v['player_amount'],2).' ';
|
||
}
|
||
if($v['tie_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['tie'].round($v['tie_amount'],2).' ';
|
||
}
|
||
|
||
// 洗码量
|
||
$v['ximaliang'] = Db::connect('DB2')->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');
|
||
//洗码率
|
||
$v['ximalv'] = Db::connect('DB2')->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($v['ximaliang'])){
|
||
// 不产生洗码量的时候 显示默认配置的系码率
|
||
$v['ximalv'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('agent_ximalv_dt');
|
||
}
|
||
// 注单码佣
|
||
$v['maliang'] = Db::connect('DB2')->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');
|
||
|
||
}elseif($v['game_id'] == 4 || $v['game_id'] == 5){
|
||
// 结果
|
||
$result = '';
|
||
$v['color'] = '';
|
||
if($v['win_player_1'] == 0 && $v['win_player_2'] == 0 && $v['win_player_3'] == 0){
|
||
$result .= $lang['banker'].' ';
|
||
$v['color'] = 'red';
|
||
}
|
||
if($v['win_player_1'] == 1){
|
||
$result .= $lang['player_1'].' ';
|
||
$v['color'] = 'blue';
|
||
}
|
||
if($v['win_player_2'] == 1){
|
||
$result .= $lang['player_2'].' ';
|
||
$v['color'] = 'blue';
|
||
}
|
||
if($v['win_player_3'] == 1){
|
||
$result .= $lang['player_3'].' ';
|
||
$v['color'] = 'blue';
|
||
}
|
||
$v['result'] = $result;
|
||
$result_detail = '(';
|
||
$result_detail .= $lang['player_1'].resultNn($v['result_player_1']).' ';
|
||
$result_detail .= $lang['player_2'].resultNn($v['result_player_2']).' ';
|
||
$result_detail .= $lang['player_3'].resultNn($v['result_player_3']).' ';
|
||
$result_detail .= $lang['banker'].resultNn($v['result_banker']).' ';
|
||
$result_detail .= ')';
|
||
$v['result'] .= $result_detail;
|
||
// 下注详情
|
||
$v['bet_detail'] = '';
|
||
if($v['amount_player_1'] > 0){
|
||
$v['bet_detail'] .= $lang['player_1_flat'].round($v['amount_player_1'],2).' ';
|
||
}
|
||
if($v['amount_player_1_times'] > 0){
|
||
$v['bet_detail'] .= $lang['player_1_double'].round($v['amount_player_1_times'],2).' ';
|
||
}
|
||
if($v['amount_player_1_banker'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_1_flat'].round($v['amount_player_1_banker'],2).' ';
|
||
}
|
||
if($v['amount_player_1_banker_times'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_1_double'].round($v['amount_player_1_banker_times'],2).' ';
|
||
}
|
||
if($v['amount_player_2'] > 0){
|
||
$v['bet_detail'] .= $lang['player_2_flat'].round($v['amount_player_2'],2).' ';
|
||
}
|
||
if($v['amount_player_2_times'] > 0){
|
||
$v['bet_detail'] .= $lang['player_2_double'].round($v['amount_player_2_times'],2).' ';
|
||
}
|
||
if($v['amount_player_2_banker'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_2_flat'].round($v['amount_player_2_banker'],2).' ';
|
||
}
|
||
if($v['amount_player_2_banker_times'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_2_double'].round($v['amount_player_2_banker_times'],2).' ';
|
||
}
|
||
if($v['amount_player_3'] > 0){
|
||
$v['bet_detail'] .= $lang['player_3_flat'].round($v['amount_player_3'],2).' ';
|
||
}
|
||
if($v['amount_player_3_times'] > 0){
|
||
$v['bet_detail'] .= $lang['player_3_double'].round($v['amount_player_3_times'],2).' ';
|
||
}
|
||
if($v['amount_player_3_banker'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_3_flat'].round($v['amount_player_3_banker'],2).' ';
|
||
}
|
||
if($v['amount_player_3_banker_times'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_3_double'].round($v['amount_player_3_banker_times'],2).' ';
|
||
}
|
||
|
||
// 洗码量
|
||
$v['ximaliang'] = Db::connect('DB2')->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');
|
||
//洗码率
|
||
$v['ximalv'] = Db::connect('DB2')->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($v['ximaliang'])){
|
||
// 不产生洗码量的时候 显示默认配置的系码率
|
||
if($v['game_id'] == 4){
|
||
$v['ximalv'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('agent_ximalv_nn');
|
||
}else if($v['game_id'] == 5){
|
||
$v['ximalv'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('agent_ximalv_tc');
|
||
}
|
||
}
|
||
// 注单码佣
|
||
$v['maliang'] = Db::connect('DB2')->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');
|
||
|
||
}elseif($v['game_id'] == 6) {
|
||
if($v['is_end'] == 1){
|
||
$v['color'] = '';
|
||
$v['result'] = $lang['toning_result_'.$v['toning_result']];
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
$v['bet_detail'] = '';
|
||
$v['toning_amount'] = result_to_array($v['toning_amount']);
|
||
foreach ($v['toning_amount'] as $key => $val){
|
||
if($val > 0){
|
||
$v['bet_detail'] .= $lang[$key].':'.$val.' ';
|
||
}
|
||
}
|
||
$v['ximaliang'] = 0;
|
||
$v['ximalv'] = 0;
|
||
$v['maliang'] = 0;
|
||
}elseif($v['game_id'] == 7) {
|
||
if($v['is_end'] == 1){
|
||
$v['color'] = '';
|
||
$v['result'] = $v['dice_result'];
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
$v['bet_detail'] = '';
|
||
$v['dice_amount'] = result_to_array($v['dice_amount']);
|
||
foreach ($v['dice_amount'] as $key => $val){
|
||
if($val > 0){
|
||
$v['bet_detail'] .= $lang['dice_'.$key].':'.$val.' ';
|
||
}
|
||
}
|
||
$v['ximaliang'] = 0;
|
||
$v['ximalv'] = 0;
|
||
$v['maliang'] = 0;
|
||
}elseif($v['game_id'] == 8){
|
||
if($v['is_end'] == 1){
|
||
$v['color'] = '';
|
||
$v['result'] = $v['roulette_result'];
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
$v['bet_detail'] = '';
|
||
$v['roulette_european_amount'] = result_to_array($v['roulette_european_amount']);
|
||
$v['roulette_french_amount'] = result_to_array($v['roulette_french_amount']);
|
||
if($v['roulette_european_amount']){
|
||
$v['bet_detail'] .= $lang['european'].'(';
|
||
foreach ($v['roulette_european_amount'] as $key => $val){
|
||
if($val > 0){
|
||
if(in_array($key,['low','high','odd','even','red','black','column_1','column_2','column_3','dozen_1','dozen_2','dozen_3'])){
|
||
$v['bet_detail'] .= $lang['roulette_'.$key].':'.$val.' ';
|
||
}else{
|
||
$keyArray = explode("_", $key);
|
||
$v['bet_detail'] .= $lang['roulette_'.$keyArray[0]].'['.$keyArray[1].']:'.$val.' ';
|
||
}
|
||
|
||
}
|
||
}
|
||
$v['bet_detail'] .= ')';
|
||
}
|
||
if($v['roulette_french_amount']){
|
||
$v['bet_detail'] .= $lang['french'].'(';
|
||
foreach ($v['roulette_french_amount'] as $key => $val){
|
||
if($val > 0){
|
||
if(in_array($key,['zeroGame','neighborsOfZero','orphans','theThird'])){
|
||
$v['bet_detail'] .= $lang['roulette_'.$key].':'.$val.' ';
|
||
}else{
|
||
$keyArray = explode("_", $key);
|
||
$v['bet_detail'] .= $lang['roulette_'.$keyArray[0]].'['.$keyArray[1].']:'.$val.' ';
|
||
}
|
||
|
||
}
|
||
}
|
||
$v['bet_detail'] .= ')';
|
||
}
|
||
$v['ximaliang'] = 0;
|
||
$v['ximalv'] = 0;
|
||
$v['maliang'] = 0;
|
||
|
||
}
|
||
|
||
// 结束状态
|
||
if($v['is_end'] == 1){
|
||
$v['is_end'] = $lang['awarded'];
|
||
$v['is_end_color'] = 'red';
|
||
}else{
|
||
$v['is_end'] = $lang['unlicensed'];
|
||
$v['is_end_color'] = 'blue';
|
||
}
|
||
// 格式化数据
|
||
$v['win_total'] = round($v['win_total'],2);
|
||
$v['amount'] = round($v['amount'],2);
|
||
$v['money_before_bet'] = round($v['money_before_bet'],2);
|
||
$v['money'] = round($v['money_after_bet'],2);
|
||
$v['end_money'] = round($v['end_money'],2);
|
||
$v['ximaliang'] = round($v['ximaliang'],2);
|
||
$v['maliang'] = round($v['maliang'],2);
|
||
$v['ximalv'] = round($v['ximalv'],2);
|
||
|
||
$bet[$k] = $v;
|
||
}
|
||
}elseif($game_id == 1){
|
||
foreach($bet as $k => $v){
|
||
$v['result_before_edit'] = '-';
|
||
$v['result_before_color'] = '';
|
||
// 信息组装
|
||
$number_tab = Db::name('number_tab')->where('id',$v['number_tab_id'])->find();
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
|
||
// 返水
|
||
$v['rebate_bet_amount'] = Db::connect('DB2')->name('rebate')->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('amount');
|
||
$v['rebate_amount'] = Db::connect('DB2')->name('rebate')->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('rebate_amount_actual');
|
||
$v['rebate_rate'] = Db::connect('DB2')->name('rebate')->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('rebate_rate');
|
||
if(empty($v['rebate_bet_amount'])){
|
||
$v['rebate_rate'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('rebate_rate');
|
||
}
|
||
if($number_tab['result_before_edit'] == 1){
|
||
$v['result_before_edit'] = $lang['banker'];
|
||
$v['result_before_color'] = 'red';
|
||
}elseif($number_tab['result_before_edit'] == 2){
|
||
$v['result_before_edit'] = $lang['player'];
|
||
$v['result_before_color'] = 'blue';
|
||
}elseif($number_tab['result_before_edit'] == 3){
|
||
$v['result_before_edit'] = $lang['tie'];
|
||
$v['result_before_color'] = 'green';
|
||
}else{
|
||
$v['result_before_edit'] = '-';
|
||
$v['result_before_color'] = '';
|
||
}
|
||
if($number_tab['pair_before_edit'] == 1){
|
||
$v['result_before_edit'] .= '-'.$lang['banker_pair'];
|
||
}elseif($number_tab['pair_before_edit'] == 2){
|
||
$v['result_before_edit'] .= '-'.$lang['player_pair'];
|
||
}elseif($number_tab['pair_before_edit'] == 3){
|
||
$v['result_before_edit'] .= '-'.$lang['banker_player_pair'];
|
||
}
|
||
// 结果
|
||
if($number_tab['result'] == 1){
|
||
$v['result'] = $lang['banker'];
|
||
$v['color'] = 'red';
|
||
}elseif($number_tab['result'] == 2){
|
||
$v['result'] = $lang['player'];
|
||
$v['color'] = 'blue';
|
||
}elseif($number_tab['result'] == 3){
|
||
$v['result'] = $lang['tie'];
|
||
$v['color'] = 'green';
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
if($number_tab['pair'] == 1){
|
||
$v['result'] .= '-'.$lang['banker_pair'];
|
||
}elseif($number_tab['pair'] == 2){
|
||
$v['result'] .= '-'.$lang['player_pair'];
|
||
}elseif($number_tab['pair'] == 3){
|
||
$v['result'] .= '-'.$lang['banker_player_pair'];
|
||
}
|
||
if($number_tab['luck_six'] == 2){
|
||
$v['result'] .= ','.$lang['luck_six'].'-2';
|
||
}else if($number_tab['luck_six'] == 3){
|
||
$v['result'] .= ','.$lang['luck_six'].'-3';
|
||
}
|
||
if($number_tab['big_small'] == 1){
|
||
$v['result'] .= ','.$lang['big'];
|
||
}else if($number_tab['big_small'] == 2){
|
||
$v['result'] .= ','.$lang['small'];
|
||
}
|
||
if($v['baccarat_type'] == 0){
|
||
$v['result'] .= "(".$lang['commission'].")";
|
||
}else if($v['baccarat_type'] == 1){
|
||
$v['result'] .= "(".$lang['free_commission'].")";
|
||
}
|
||
// 下注详情
|
||
$v['bet_detail'] = '';
|
||
if($v['banker_amount'] > 0){
|
||
$v['bet_detail'] .= $lang['banker'].round($v['banker_amount'],2).' ';
|
||
}
|
||
if($v['player_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['player'].round($v['player_amount'],2).' ';
|
||
}
|
||
if($v['tie_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['tie'].round($v['tie_amount'],2).' ';
|
||
}
|
||
if($v['banker_pair_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['banker_pair'].round($v['banker_pair_amount'],2).' ';
|
||
}
|
||
if($v['player_pair_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['player_pair'].round($v['player_pair_amount'],2).' ';
|
||
}
|
||
if($v['luck_six_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['luck_six'].round($v['luck_six_amount'],2).' ';
|
||
}
|
||
if($v['big_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['big'].round($v['big_amount'],2).' ';
|
||
}
|
||
if($v['small_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['small'].round($v['small_amount'],2).' ';
|
||
}
|
||
// 洗码量
|
||
$v['ximaliang'] = Db::connect('DB2')->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');
|
||
//洗码率
|
||
$v['ximalv'] = Db::connect('DB2')->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($v['ximaliang'])){
|
||
// 不产生洗码量的时候 显示默认配置的系码率
|
||
$v['ximalv'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('agent_ximalv');
|
||
}
|
||
// 注单码佣
|
||
$v['maliang'] = Db::connect('DB2')->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');
|
||
// 结束状态
|
||
if($v['is_end'] == 1){
|
||
$v['is_end'] = $lang['awarded'];
|
||
$v['is_end_color'] = 'red';
|
||
}else{
|
||
$v['is_end'] = $lang['unlicensed'];
|
||
$v['is_end_color'] = 'blue';
|
||
}
|
||
// 格式化数据
|
||
$v['win_total'] = round($v['win_total'],2);
|
||
$v['amount'] = round($v['amount'],2);
|
||
$v['money_before_bet'] = round($v['money_before_bet'],2);
|
||
$v['money'] = round($v['money_after_bet'],2);
|
||
$v['end_money'] = round($v['end_money'],2);
|
||
$v['ximaliang'] = round($v['ximaliang'],2);
|
||
$v['maliang'] = round($v['maliang'],2);
|
||
$v['ximalv'] = round($v['ximalv'],2);
|
||
|
||
$bet[$k] = $v;
|
||
}
|
||
|
||
}elseif($game_id == 2){
|
||
foreach($bet as $k => $v){
|
||
$v['result_before_edit'] = '-';
|
||
$v['result_before_color'] = '';
|
||
// 信息组装
|
||
$number_tab = Db::name('number_tab')->where('id',$v['number_tab_id'])->find();
|
||
$bet_user = Db::connect('DB2')->name('user')->where('id',$v['user_id'])->find();
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
// 返水
|
||
$v['rebate_bet_amount'] = Db::connect('DB2')->name('rebate')->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('amount');
|
||
$v['rebate_amount'] = Db::connect('DB2')->name('rebate')->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('rebate_amount_actual');
|
||
$v['rebate_rate'] = Db::connect('DB2')->name('rebate')->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('rebate_rate');
|
||
if(empty($v['rebate_bet_amount'])){
|
||
$v['rebate_rate'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('rebate_rate');
|
||
}
|
||
if($number_tab['result_before_edit'] == 1){
|
||
$v['result_before_edit'] = $lang['dragon'];
|
||
$v['result_before_color'] = 'red';
|
||
}elseif($number_tab['result_before_edit'] == 2){
|
||
$v['result_before_edit'] = $lang['tiger'];
|
||
$v['result_before_color'] = 'blue';
|
||
}elseif($number_tab['result_before_edit'] == 3){
|
||
$v['result_before_edit'] = $lang['tie'];
|
||
$v['result_before_color'] = 'green';
|
||
}else{
|
||
$v['result_before_edit'] = '-';
|
||
$v['result_before_color'] = '';
|
||
}
|
||
if($number_tab['result'] == 1){
|
||
$v['result'] = $lang['dragon'];
|
||
$v['color'] = 'red';
|
||
}elseif($number_tab['result'] == 2){
|
||
$v['result'] = $lang['tiger'];
|
||
$v['color'] = 'blue';
|
||
}elseif($number_tab['result'] == 3){
|
||
$v['result'] = $lang['tie'];
|
||
$v['color'] = 'green';
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
// 下注详情
|
||
$v['bet_detail'] = '';
|
||
if($v['banker_amount'] > 0){
|
||
$v['bet_detail'] .= $lang['dragon'].round($v['banker_amount'],2).' ';
|
||
}
|
||
if($v['player_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['tiger'].round($v['player_amount'],2).' ';
|
||
}
|
||
if($v['tie_amount'] > 0){
|
||
$v['bet_detail'] .= ' '.$lang['tie'].round($v['tie_amount'],2).' ';
|
||
}
|
||
// 洗码量
|
||
$v['ximaliang'] = Db::connect('DB2')->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');
|
||
//洗码率
|
||
$v['ximalv'] = Db::connect('DB2')->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($v['ximaliang'])){
|
||
// 不产生洗码量的时候 显示默认配置的系码率
|
||
$v['ximalv'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('agent_ximalv_dt');
|
||
}
|
||
// 注单码佣
|
||
$v['maliang'] = Db::connect('DB2')->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');
|
||
// 结束状态
|
||
if($v['is_end'] == 1){
|
||
$v['is_end'] = $lang['awarded'];
|
||
$v['is_end_color'] = 'red';
|
||
}else{
|
||
$v['is_end'] = $lang['unlicensed'];
|
||
$v['is_end_color'] = 'blue';
|
||
}
|
||
// 格式化数据
|
||
$v['win_total'] = round($v['win_total'],2);
|
||
$v['amount'] = round($v['amount'],2);
|
||
$v['money_before_bet'] = round($v['money_before_bet'],2);
|
||
$v['money'] = round($v['money_after_bet'],2);
|
||
$v['end_money'] = round($v['end_money'],2);
|
||
$v['ximaliang'] = round($v['ximaliang'],2);
|
||
$v['maliang'] = round($v['maliang'],2);
|
||
$v['ximalv'] = round($v['ximalv'],2);
|
||
|
||
$bet[$k] = $v;
|
||
|
||
}
|
||
}elseif($game_id == 4 || $game_id == 5){
|
||
foreach($bet as $k => $v){
|
||
$v['result_before_edit'] = '-';
|
||
$v['result_before_color'] = '';
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
// 返水
|
||
$v['rebate_bet_amount'] = Db::connect('DB2')->name('rebate')->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('amount');
|
||
$v['rebate_amount'] = Db::connect('DB2')->name('rebate')->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('rebate_amount_actual');
|
||
$v['rebate_rate'] = Db::connect('DB2')->name('rebate')->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('rebate_rate');
|
||
if(empty($v['rebate_bet_amount'])){
|
||
$v['rebate_rate'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('rebate_rate');
|
||
}
|
||
// 结果
|
||
if($v['is_end'] == 1){
|
||
$result = '';
|
||
$v['color'] = '';
|
||
if($v['win_player_1'] == 0 && $v['win_player_2'] == 0 && $v['win_player_3'] == 0){
|
||
$result .= $lang['banker'].' ';
|
||
$v['color'] = 'red';
|
||
}
|
||
if($v['win_player_1'] == 1){
|
||
$result .= $lang['player_1'].' ';
|
||
$v['color'] = 'blue';
|
||
}
|
||
if($v['win_player_2'] == 1){
|
||
$result .= $lang['player_2'].' ';
|
||
$v['color'] = 'blue';
|
||
}
|
||
if($v['win_player_3'] == 1){
|
||
$result .= $lang['player_3'].' ';
|
||
$v['color'] = 'blue';
|
||
}
|
||
$v['result'] = $result;
|
||
|
||
$result_detail = '(';
|
||
$result_detail .= $lang['player_1'].resultNn($v['result_player_1']).' ';
|
||
$result_detail .= $lang['player_2'].resultNn($v['result_player_2']).' ';
|
||
$result_detail .= $lang['player_3'].resultNn($v['result_player_3']).' ';
|
||
$result_detail .= $lang['banker'].resultNn($v['result_banker']).' ';
|
||
$result_detail .= ')';
|
||
$v['result'] .= $result_detail;
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
// 下注详情
|
||
$v['bet_detail'] = '';
|
||
if($v['amount_player_1'] > 0){
|
||
$v['bet_detail'] .= $lang['player_1_flat'].round($v['amount_player_1'],2).' ';
|
||
}
|
||
if($v['amount_player_1_times'] > 0){
|
||
$v['bet_detail'] .= $lang['player_1_double'].round($v['amount_player_1_times'],2).' ';
|
||
}
|
||
if($v['amount_player_1_banker'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_1_flat'].round($v['amount_player_1_banker'],2).' ';
|
||
}
|
||
if($v['amount_player_1_banker_times'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_1_double'].round($v['amount_player_1_banker_times'],2).' ';
|
||
}
|
||
if($v['amount_player_2'] > 0){
|
||
$v['bet_detail'] .= $lang['player_2_flat'].round($v['amount_player_2'],2).' ';
|
||
}
|
||
if($v['amount_player_2_times'] > 0){
|
||
$v['bet_detail'] .= $lang['player_2_double'].round($v['amount_player_2_times'],2).' ';
|
||
}
|
||
if($v['amount_player_2_banker'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_2_flat'].round($v['amount_player_2_banker'],2).' ';
|
||
}
|
||
if($v['amount_player_2_banker_times'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_2_double'].round($v['amount_player_2_banker_times'],2).' ';
|
||
}
|
||
if($v['amount_player_3'] > 0){
|
||
$v['bet_detail'] .= $lang['player_3_flat'].round($v['amount_player_3'],2).' ';
|
||
}
|
||
if($v['amount_player_3_times'] > 0){
|
||
$v['bet_detail'] .= $lang['player_3_double'].round($v['amount_player_3_times'],2).' ';
|
||
}
|
||
if($v['amount_player_3_banker'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_3_flat'].round($v['amount_player_3_banker'],2).' ';
|
||
}
|
||
if($v['amount_player_3_banker_times'] > 0){
|
||
$v['bet_detail'] .= $lang['banker_player_3_double'].round($v['amount_player_3_banker_times'],2).' ';
|
||
}
|
||
// 洗码量
|
||
$v['ximaliang'] = Db::connect('DB2')->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');
|
||
//洗码率
|
||
$v['ximalv'] = Db::connect('DB2')->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($v['ximaliang'])){
|
||
// 不产生洗码量的时候 显示默认配置的系码率
|
||
if($v['game_id'] == 4){
|
||
$v['ximalv'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('agent_ximalv_nn');
|
||
}else if($v['game_id'] == 5){
|
||
$v['ximalv'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('agent_ximalv_tc');
|
||
}
|
||
}
|
||
// 注单码佣
|
||
$v['maliang'] = Db::connect('DB2')->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');
|
||
// 结束状态
|
||
if($v['is_end'] == 1){
|
||
$v['is_end'] = $lang['awarded'];
|
||
$v['is_end_color'] = 'red';
|
||
}else{
|
||
$v['is_end'] = $lang['unlicensed'];
|
||
$v['is_end_color'] = 'blue';
|
||
}
|
||
// 格式化数据
|
||
$v['win_total'] = round($v['win_total'],2);
|
||
$v['amount'] = round($v['amount'],2);
|
||
$v['money_before_bet'] = round($v['money_before_bet'],2);
|
||
$v['money'] = round($v['money_after_bet'],2);
|
||
$v['end_money'] = round($v['end_money'],2);
|
||
$v['ximaliang'] = round($v['ximaliang'],2);
|
||
$v['maliang'] = round($v['maliang'],2);
|
||
$v['ximalv'] = round($v['ximalv'],2);
|
||
$bet[$k] = $v;
|
||
}
|
||
}elseif($game_id == 6){
|
||
foreach($bet as $k => $v) {
|
||
$v['result_before_edit'] = '-';
|
||
$v['result_before_color'] = '';
|
||
// 返水
|
||
$v['rebate_bet_amount'] = Db::connect('DB2')->name('rebate')->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('amount');
|
||
$v['rebate_amount'] = Db::connect('DB2')->name('rebate')->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('rebate_amount_actual');
|
||
$v['rebate_rate'] = Db::connect('DB2')->name('rebate')->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('rebate_rate');
|
||
if(empty($v['rebate_bet_amount'])){
|
||
$v['rebate_rate'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('rebate_rate');
|
||
}
|
||
if ($v['is_end'] == 1) {
|
||
$result = '';
|
||
$v['color'] = '';
|
||
$v['result'] = $lang['toning_result_' . $v['toning_result']];
|
||
} else {
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
$v['bet_detail'] = '';
|
||
$v['toning_amount'] = result_to_array($v['toning_amount']);
|
||
foreach ($v['toning_amount'] as $key => $val) {
|
||
if ($val > 0) {
|
||
$v['bet_detail'] .= $lang[$key] . ':' . $val . ' ';
|
||
}
|
||
}
|
||
$v['result_before_edit'] = '-';
|
||
$v['color_result_before_edit'] = '';
|
||
// 是否开奖
|
||
if ($v['is_end'] == 1) {
|
||
$v['is_end'] = $lang['awarded'];
|
||
$v['is_end_color'] = 'red';
|
||
} else {
|
||
$v['is_end'] = $lang['unlicensed'];
|
||
$v['is_end_color'] = 'blue';
|
||
}
|
||
// 格式化
|
||
$v['win_total'] = round($v['win_total'], 2);
|
||
if ($v['win_total'] < 0) {
|
||
$v['color_win_total'] = 'red';
|
||
} else {
|
||
$v['color_win_total'] = '';
|
||
}
|
||
$v['win_total'] = round($v['win_total'],2);
|
||
$v['amount'] = round($v['amount'],2);
|
||
$v['money_before_bet'] = round($v['money_before_bet'],2);
|
||
$v['money'] = round($v['money_after_bet'],2);
|
||
$v['end_money'] = round($v['end_money'],2);
|
||
$v['ximaliang'] = 0;
|
||
$v['maliang'] = 0;
|
||
$v['ximalv'] = 0;
|
||
$bet[$k] = $v;
|
||
}
|
||
}elseif($game_id == 7){
|
||
foreach($bet as $k => $v) {
|
||
$v['result_before_edit'] = '-';
|
||
$v['result_before_color'] = '';
|
||
// 返水
|
||
$v['rebate_bet_amount'] = Db::connect('DB2')->name('rebate')->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('amount');
|
||
$v['rebate_amount'] = Db::connect('DB2')->name('rebate')->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('rebate_amount_actual');
|
||
$v['rebate_rate'] = Db::connect('DB2')->name('rebate')->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('rebate_rate');
|
||
if(empty($v['rebate_bet_amount'])){
|
||
$v['rebate_rate'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('rebate_rate');
|
||
}
|
||
if ($v['is_end'] == 1) {
|
||
$result = '';
|
||
$v['color'] = '';
|
||
$v['result'] = $v['dice_result'];
|
||
} else {
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
$v['bet_detail'] = '';
|
||
$v['dice_amount'] = result_to_array($v['dice_amount']);
|
||
foreach ($v['dice_amount'] as $key => $val) {
|
||
if ($val > 0) {
|
||
$v['bet_detail'] .= $lang['dice_'.$key] . ':' . $val . ' ';
|
||
}
|
||
}
|
||
$v['result_before_edit'] = '-';
|
||
$v['color_result_before_edit'] = '';
|
||
// 是否开奖
|
||
if ($v['is_end'] == 1) {
|
||
$v['is_end'] = $lang['awarded'];
|
||
$v['is_end_color'] = 'red';
|
||
} else {
|
||
$v['is_end'] = $lang['unlicensed'];
|
||
$v['is_end_color'] = 'blue';
|
||
}
|
||
// 格式化
|
||
$v['win_total'] = round($v['win_total'], 2);
|
||
if ($v['win_total'] < 0) {
|
||
$v['color_win_total'] = 'red';
|
||
} else {
|
||
$v['color_win_total'] = '';
|
||
}
|
||
$v['win_total'] = round($v['win_total'],2);
|
||
$v['amount'] = round($v['amount'],2);
|
||
$v['money_before_bet'] = round($v['money_before_bet'],2);
|
||
$v['money'] = round($v['money_after_bet'],2);
|
||
$v['end_money'] = round($v['end_money'],2);
|
||
$v['ximaliang'] = 0;
|
||
$v['maliang'] = 0;
|
||
$v['ximalv'] = 0;
|
||
$bet[$k] = $v;
|
||
}
|
||
}elseif($game_id == 8){
|
||
foreach($bet as $k => $v) {
|
||
$v['result_before_edit'] = '-';
|
||
$v['result_before_color'] = '';
|
||
// 返水
|
||
$v['rebate_bet_amount'] = Db::connect('DB2')->name('rebate')->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('amount');
|
||
$v['rebate_amount'] = Db::connect('DB2')->name('rebate')->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('rebate_amount_actual');
|
||
$v['rebate_rate'] = Db::connect('DB2')->name('rebate')->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('rebate_rate');
|
||
if(empty($v['rebate_bet_amount'])){
|
||
$v['rebate_rate'] = Db::connect('DB2')->name('user')->where(array('id'=>$v['user_id']))->value('rebate_rate');
|
||
}
|
||
if($v['is_end'] == 1){
|
||
$v['color'] = '';
|
||
$v['result'] = $v['roulette_result'];
|
||
}else{
|
||
$v['result'] = '-';
|
||
$v['color'] = '';
|
||
}
|
||
|
||
$v['bet_detail'] = '';
|
||
$v['roulette_european_amount'] = result_to_array($v['roulette_european_amount']);
|
||
$v['roulette_french_amount'] = result_to_array($v['roulette_french_amount']);
|
||
if($v['roulette_european_amount']){
|
||
$v['bet_detail'] .= $lang['european'].'(';
|
||
foreach ($v['roulette_european_amount'] as $key => $val){
|
||
if($val > 0){
|
||
if(in_array($key,['low','high','odd','even','red','black','column_1','column_2','column_3','dozen_1','dozen_2','dozen_3'])){
|
||
$v['bet_detail'] .= $lang['roulette_'.$key].':'.$val.' ';
|
||
}else{
|
||
$keyArray = explode("_", $key);
|
||
$v['bet_detail'] .= $lang['roulette_'.$keyArray[0]].'['.$keyArray[1].']:'.$val.' ';
|
||
}
|
||
|
||
}
|
||
}
|
||
$v['bet_detail'] .= ')';
|
||
}
|
||
if($v['roulette_french_amount']){
|
||
$v['bet_detail'] .= $lang['french'].'(';
|
||
foreach ($v['roulette_french_amount'] as $key => $val){
|
||
if($val > 0){
|
||
if(in_array($key,['zeroGame','neighborsOfZero','orphans','theThird'])){
|
||
$v['bet_detail'] .= $lang['roulette_'.$key].':'.$val.' ';
|
||
}else{
|
||
$keyArray = explode("_", $key);
|
||
$v['bet_detail'] .= $lang['roulette_'.$keyArray[0]].'['.$keyArray[1].']:'.$val.' ';
|
||
}
|
||
|
||
}
|
||
}
|
||
$v['bet_detail'] .= ')';
|
||
}
|
||
|
||
$v['result_before_edit'] = '-';
|
||
$v['color_result_before_edit'] = '';
|
||
// 是否开奖
|
||
if ($v['is_end'] == 1) {
|
||
$v['is_end'] = $lang['awarded'];
|
||
$v['is_end_color'] = 'red';
|
||
} else {
|
||
$v['is_end'] = $lang['unlicensed'];
|
||
$v['is_end_color'] = 'blue';
|
||
}
|
||
// 格式化
|
||
$v['win_total'] = round($v['win_total'], 2);
|
||
if ($v['win_total'] < 0) {
|
||
$v['color_win_total'] = 'red';
|
||
} else {
|
||
$v['color_win_total'] = '';
|
||
}
|
||
$v['win_total'] = round($v['win_total'],2);
|
||
$v['amount'] = round($v['amount'],2);
|
||
$v['money_before_bet'] = round($v['money_before_bet'],2);
|
||
$v['money'] = round($v['money_after_bet'],2);
|
||
$v['end_money'] = round($v['end_money'],2);
|
||
$v['ximaliang'] = 0;
|
||
$v['maliang'] = 0;
|
||
$v['ximalv'] = 0;
|
||
$bet[$k] = $v;
|
||
}
|
||
}
|
||
// 获取所有的桌子
|
||
if($game_id > 0){
|
||
$table_list = Db::connect('DB2')->name('table')->where('game_id',$game_id)->select();
|
||
}else{
|
||
$table_list = Db::connect('DB2')->name('table')->select();
|
||
}
|
||
|
||
// 渲染参数和模板
|
||
$this->assign('table_list',$table_list);
|
||
$this->assign('bet',$bet);
|
||
$this->assign('user_info',$user_info);
|
||
$this->assign('total',$total);
|
||
$this->assign('online',$online);
|
||
$this->assign('refreshUrl',$refreshUrl);
|
||
$this->assign('top_agent',$topAgent);
|
||
return $this->fetch();
|
||
}
|
||
|
||
// 棋牌游戏查询
|
||
public function game_log(){
|
||
$langType = cookie('think_var');
|
||
$lang = Lang::get('agent');
|
||
$jsonlang = json_encode($lang);
|
||
|
||
$this->assign('langType',$langType);
|
||
$this->assign('lang',$lang);
|
||
$this->assign('jsonlang',$jsonlang);
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if($user_info['account_type'] == 1){
|
||
return '非法请求';
|
||
}
|
||
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get',$get);
|
||
$this->assign('query',$query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
$gameType = Request::instance()->get('game_type');
|
||
|
||
// 转换日期时间
|
||
if($startDate){
|
||
$startTime = strtotime($startDate);
|
||
}else{
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
if($endDate){
|
||
$endTime = strtotime($endDate);
|
||
}else{
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['r.createTime'] = array('between',[$startTime,$endTime]);
|
||
if(!empty($username)){
|
||
$where['r.userName'] = array('like', '%'.$username.'%');
|
||
}
|
||
if($gameType > 0){
|
||
$where['r.gameID'] = $gameType;
|
||
}
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$list = Db::connect('DB2')->name('game_log')->alias('r')->join('cg_user u','r.userName=u.username and (u.agent_parent_id_path like "%,'.$user_info['id'].',%" or u.id='.$user_info['id'].')')->where($where)->order('r.id desc')->paginate(20,false,array('query'=>$get));
|
||
}else{
|
||
$list = Db::connect('DB2')->name('game_log')->alias('r')->join('cg_user u','r.userName=u.username and (u.agent_parent_id_path like "'.$user_info['id'].',%" or u.id='.$user_info['id'].')')->where($where)->order('r.id desc')->paginate(20,false,array('query'=>$get));
|
||
}
|
||
|
||
$gameType = [
|
||
102 => '百人牛牛',
|
||
103 => '抢庄牛牛',
|
||
104 => '红黑大战',
|
||
105 => '龙虎斗',
|
||
106 => '百家乐',
|
||
107 => '捕鱼',
|
||
110 => '飞禽走兽',
|
||
111 => '奔驰宝马',
|
||
117 => '九线拉王',
|
||
122 => '二十一点',
|
||
126 => '十三水',
|
||
127 => '骰宝',
|
||
131 => '牌九',
|
||
133 => '红包扫雷',
|
||
145 => '财神到',
|
||
147 => '三公',
|
||
148 => '糖果派对',
|
||
149 => '李逵劈鱼',
|
||
153 => '海王捕鱼',
|
||
154 => '色碟',
|
||
156 => '越南骰大小',
|
||
157 => '南方上进',
|
||
160 => '鱼虾蟹',
|
||
161 => '扶董天王',
|
||
163 => '越南牌九',
|
||
212 => '水浒传',
|
||
214 => '金蟾捕鱼',
|
||
230 => '越南彩',
|
||
];
|
||
foreach($list as $k => $v){
|
||
// 信息组装
|
||
$v['createTime'] = date('Y-m-d H:i:s',$v['createTime']);
|
||
$v['gameName'] = $lang['game_'.$v['gameID']];
|
||
$list[$k] = $v;
|
||
}
|
||
// 汇总金额
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$total = Db::connect('DB2')->name('game_log')->alias('r')
|
||
->field('sum(water) as water, sum(allBet) as allBet, sum(validBet) as validBet, sum(tax) as tax, sum(gold) as gold')
|
||
->join('cg_user u','r.userName=u.username and (u.agent_parent_id_path like "%,'.$user_info['id'].',%" or u.id='.$user_info['id'].')')
|
||
->where($where)->find();
|
||
}else{
|
||
$total = Db::connect('DB2')->name('game_log')->alias('r')
|
||
->field('sum(water) as water, sum(allBet) as allBet, sum(validBet) as validBet, sum(tax) as tax, sum(gold) as gold')
|
||
->join('cg_user u','r.userName=u.username and (u.agent_parent_id_path like "'.$user_info['id'].',%" or u.id='.$user_info['id'].')')
|
||
->where($where)->find();
|
||
}
|
||
// 渲染参数和模板
|
||
$this->assign('list',$list);
|
||
$this->assign('game_type',$gameType);
|
||
$this->assign('user_info',$user_info);
|
||
$this->assign('total',$total);
|
||
return $this->fetch();
|
||
}
|
||
|
||
// 棋牌游戏上下分查询
|
||
public function score_log(){
|
||
$langType = cookie('think_var');
|
||
$lang = Lang::get('agent');
|
||
$jsonlang = json_encode($lang);
|
||
|
||
$this->assign('langType',$langType);
|
||
$this->assign('lang',$lang);
|
||
$this->assign('jsonlang',$jsonlang);
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if($user_info['account_type'] == 1){
|
||
return '非法请求';
|
||
}
|
||
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get',$get);
|
||
$this->assign('query',$query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
$gameType = Request::instance()->get('game_type');
|
||
|
||
// 转换日期时间
|
||
if($startDate){
|
||
$startTime = strtotime($startDate);
|
||
}else{
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
if($endDate){
|
||
$endTime = strtotime($endDate);
|
||
}else{
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['r.createTime'] = array('between',[$startTime,$endTime]);
|
||
if(!empty($username)){
|
||
$where['r.account'] = array('like', '%'.$username.'%');
|
||
}
|
||
if($gameType > 0){
|
||
$where['r.gameID'] = $gameType;
|
||
}
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$list = Db::connect('DB2')->name('score_log')->alias('r')->field('r.*')->join('cg_user u','r.account=u.username and (u.agent_parent_id_path like "%,'.$user_info['id'].',%" or u.id='.$user_info['id'].')')->where($where)->order('r.id desc')->paginate(20,false,array('query'=>$get));
|
||
}else{
|
||
$list = Db::connect('DB2')->name('score_log')->alias('r')->field('r.*')->join('cg_user u','r.account=u.username and (u.agent_parent_id_path like "'.$user_info['id'].',%" or u.id='.$user_info['id'].')')->where($where)->order('r.id desc')->paginate(20,false,array('query'=>$get));
|
||
}
|
||
$typeText = [
|
||
'11' => '上分',
|
||
'12' => '下分',
|
||
];
|
||
$statusText = [
|
||
'0' => '未支付',
|
||
'1' => '已支付',
|
||
'2' => '支付失败',
|
||
];
|
||
foreach($list as $k => $v){
|
||
// 信息组装
|
||
$v['createTime'] = date('Y-m-d H:i:s',$v['createTime']);
|
||
$v['payTime'] = date('Y-m-d H:i:s',$v['payTime']);
|
||
$v['typeText'] = $typeText[$v['type']] ?? '';
|
||
$v['statusText'] = $statusText[$v['status']] ?? '';
|
||
$list[$k] = $v;
|
||
}
|
||
// 汇总金额
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$total = Db::connect('DB2')->name('score_log')->alias('r')
|
||
->field('sum(r.money) as money, sum(r.gold) as gold')
|
||
->join('cg_user u','r.account=u.username and (u.agent_parent_id_path like "%,'.$user_info['id'].',%" or u.id='.$user_info['id'].')')
|
||
->where($where)->find();
|
||
}else{
|
||
$total = Db::connect('DB2')->name('score_log')->alias('r')
|
||
->field('sum(r.money) as money, sum(r.gold) as gold')
|
||
->join('cg_user u','r.account=u.username and (u.agent_parent_id_path like "'.$user_info['id'].',%" or u.id='.$user_info['id'].')')
|
||
->where($where)->find();
|
||
}
|
||
// 渲染参数和模板
|
||
$this->assign('list',$list);
|
||
$this->assign('user_info',$user_info);
|
||
$this->assign('total',$total);
|
||
return $this->fetch();
|
||
}
|
||
|
||
// 充值提现查询
|
||
public function recharge(){
|
||
$langType = cookie('think_var');
|
||
$lang = Lang::get('agent');
|
||
$jsonlang = json_encode($lang);
|
||
|
||
$this->assign('langType',$langType);
|
||
$this->assign('lang',$lang);
|
||
$this->assign('jsonlang',$jsonlang);
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if($user_info['account_type'] == 1){
|
||
return '非法请求';
|
||
}
|
||
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get',$get);
|
||
$this->assign('query',$query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
$mode = Request::instance()->get('mode');
|
||
|
||
// 转换日期时间
|
||
if($startDate){
|
||
$startTime = strtotime($startDate);
|
||
}else{
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
if($endDate){
|
||
$endTime = strtotime($endDate);
|
||
}else{
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['create_time'] = array('between',[$startTime,$endTime]);
|
||
if($username){
|
||
$user = Db::connect('DB2')->name('user')->where(['username'=>$username,'is_delete'=>0])->find();
|
||
if($user){
|
||
$where['user_id'] = $user['id'];
|
||
}
|
||
}
|
||
if($mode == 1 || $mode == 2){
|
||
$where['mode'] = $mode;
|
||
}
|
||
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$recharge_list = Db::connect('DB2')->name('recharge')->alias('r')->join('cg_user u','r.user_id=u.id and (u.agent_parent_id_path like "%,'.$user_info['id'].',%" or r.user_id='.$user_info['id'].')')->where($where)->order('r.id desc')->paginate(20,false,array('query'=>$get));
|
||
}else{
|
||
$recharge_list = Db::connect('DB2')->name('recharge')->alias('r')->join('cg_user u','r.user_id=u.id and (u.agent_parent_id_path like "'.$user_info['id'].',%" or r.user_id='.$user_info['id'].')')->where($where)->order('r.id desc')->paginate(20,false,array('query'=>$get));
|
||
}
|
||
|
||
foreach($recharge_list as $k => $v){
|
||
// 信息组装
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
if($v['type'] == 1){
|
||
$v['type_msg'] = ' (上分/下分)';
|
||
}elseif($v['type'] == 2){
|
||
$v['type_msg'] = ' (洗码结算)';
|
||
}elseif($v['type'] == 3){
|
||
$v['type_msg'] = ' (分成结算)';
|
||
}elseif($v['type'] == 4){
|
||
$v['type_msg'] = ' (在线充值)';
|
||
}elseif($v['type'] == 5){
|
||
$v['type_msg'] = ' (<font style="color:#f00;">充值-送分</font>)';
|
||
}elseif($v['type'] == 6){
|
||
$v['type_msg'] = ' (代理抽水)';
|
||
}else{
|
||
$v['type_msg'] = ' (未知)';
|
||
}
|
||
if($v['mode'] == 1){
|
||
$v['mode_msg'] = '上分'.$v['type_msg'];
|
||
}elseif($v['mode'] == 2){
|
||
$v['mode_msg'] = '下分'.$v['type_msg'];
|
||
$v['amount'] = to_number($v['amount']);
|
||
}
|
||
|
||
// 操作人
|
||
if($v['agent_or_admin'] == 1 && strlen($v['admin_user_name']) > 0){
|
||
$v['controller_username'] = $v['admin_user_name'];
|
||
}
|
||
if ($v['agent_or_admin'] == 1) {
|
||
$v['agent_or_admin_msg'] = '总台操作';
|
||
} else if ($v['agent_or_admin'] == 2) {
|
||
$v['agent_or_admin_msg'] = '代理操作';
|
||
} else if ($v['agent_or_admin'] == 4) {
|
||
$v['agent_or_admin_msg'] = '即时结算系统操作';
|
||
} else if ($v['agent_or_admin'] == 5) {
|
||
$v['agent_or_admin_msg'] = '定时结算系统操作';
|
||
} else {
|
||
$v['agent_or_admin_msg'] = '-';
|
||
}
|
||
// 数据格式转换
|
||
$v['amount'] = round($v['amount'],2);
|
||
$v['old_money'] = round($v['old_money'],2);
|
||
$v['new_money'] = round($v['new_money'],2);
|
||
|
||
$recharge_list[$k] = $v;
|
||
}
|
||
// 汇总金额
|
||
$totalAmount = 0;
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$rechargeAll = Db::connect('DB2')->name('recharge')->alias('r')->join('cg_user u','r.user_id=u.id and (u.agent_parent_id_path like "%,'.$user_info['id'].',%" or r.user_id='.$user_info['id'].')')->where($where)->order('r.id desc')->select();
|
||
}else{
|
||
$rechargeAll = Db::connect('DB2')->name('recharge')->alias('r')->join('cg_user u','r.user_id=u.id and (u.agent_parent_id_path like "'.$user_info['id'].',%" or r.user_id='.$user_info['id'].')')->where($where)->order('r.id desc')->select();
|
||
}
|
||
foreach($rechargeAll as $v){
|
||
if($v['mode'] == 2){
|
||
$v['amount'] = to_number($v['amount']);
|
||
}
|
||
$totalAmount += round($v['amount'],2);
|
||
}
|
||
|
||
|
||
// 渲染参数和模板
|
||
$this->assign('recharge_list',$recharge_list);
|
||
$this->assign('user_info',$user_info);
|
||
$this->assign('totalAmount',$totalAmount);
|
||
return $this->fetch();
|
||
}
|
||
|
||
// 充值查询
|
||
public function user_recharge(){
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if($user_info['account_type'] == 1){
|
||
return '非法请求';
|
||
}
|
||
// 总代类型判断 1现金线
|
||
$topAgentId = explode(',',$user_info['agent_parent_id_path'])[0];
|
||
$topAgent = Db::name('user')->where('id',$topAgentId)->find();
|
||
if($topAgent['agent_type'] != 1){
|
||
return '非法请求';
|
||
}
|
||
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get',$get);
|
||
$this->assign('query',$query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
|
||
// 转换日期时间
|
||
if($startDate){
|
||
$startTime = strtotime($startDate);
|
||
}else{
|
||
$startTime = 0;
|
||
}
|
||
if($endDate){
|
||
$endTime = strtotime($endDate);
|
||
}else{
|
||
$endTime = time();
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$whereStr = '';
|
||
$where['create_time'] = array('between',[$startTime,$endTime]);
|
||
if($username){
|
||
$user = Db::connect('DB2')->name('user')->where(['username'=>$username,'is_delete'=>0])->find();
|
||
if($user){
|
||
// $where['user_id'] = $user['id'];
|
||
$whereStr = "find_in_set({$user['id']},u.agent_parent_id_path)";
|
||
}else{
|
||
$where['user_id'] = 0;
|
||
}
|
||
}
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$list = Db::connect('DB2')->name('user_recharge')
|
||
->alias('r')
|
||
->field('r.*,u.username,u.nickname')
|
||
->join('cg_user u','r.user_id=u.id and (u.agent_parent_id_path like "%,'.$user_info['id'].',%" or r.user_id='.$user_info['id'].')')
|
||
->where($where)
|
||
->where($whereStr)
|
||
->order('r.id desc')
|
||
->paginate(20,false,array('query'=>$get));
|
||
}else{
|
||
$list = Db::connect('DB2')->name('user_recharge')
|
||
->alias('r')
|
||
->field('r.*,u.username,u.nickname')
|
||
->join('cg_user u','r.user_id=u.id and (u.agent_parent_id_path like "'.$user_info['id'].',%" or r.user_id='.$user_info['id'].')')
|
||
->where($where)
|
||
->where($whereStr)
|
||
->order('r.id desc')
|
||
->paginate(20,false,array('query'=>$get));
|
||
}
|
||
|
||
$type_text = [
|
||
1 => '充值上分',
|
||
2 => '返水上分',
|
||
];
|
||
foreach($list as $k => $v){
|
||
// 信息组装
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
|
||
// 数据格式转换
|
||
$v['type_text'] = $type_text[$v['type']];
|
||
$v['amount'] = round($v['amount'],2);
|
||
$v['old_money'] = round($v['old_money'],2);
|
||
$v['new_money'] = round($v['new_money'],2);
|
||
$list[$k] = $v;
|
||
}
|
||
|
||
// 汇总金额
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$total = Db::connect('DB2')
|
||
->name('user_recharge')
|
||
->alias('r')
|
||
->field('sum(r.amount) as amount, sum(r.money) as money')
|
||
->join('cg_user u','r.user_id=u.id and (u.agent_parent_id_path like "%,'.$user_info['id'].',%" or r.user_id='.$user_info['id'].')')
|
||
->where($where)
|
||
->where($whereStr)
|
||
->find();
|
||
}else{
|
||
$total = Db::connect('DB2')
|
||
->name('user_recharge')
|
||
->alias('r')
|
||
->field('sum(r.amount) as amount, sum(r.money) as money')
|
||
->join('cg_user u','r.user_id=u.id and (u.agent_parent_id_path like "'.$user_info['id'].',%" or r.user_id='.$user_info['id'].')')
|
||
->where($where)
|
||
->where($whereStr)
|
||
->find();
|
||
}
|
||
// 渲染参数和模板
|
||
$this->assign('list',$list);
|
||
$this->assign('user_info',$user_info);
|
||
$this->assign('total',$total);
|
||
return $this->fetch();
|
||
|
||
|
||
}
|
||
|
||
// 提现查询
|
||
public function user_withdraw(){
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if($user_info['account_type'] == 1){
|
||
return '非法请求';
|
||
}
|
||
// 总代类型判断 1现金线
|
||
$topAgentId = explode(',',$user_info['agent_parent_id_path'])[0];
|
||
$topAgent = Db::name('user')->where('id',$topAgentId)->find();
|
||
if($topAgent['agent_type'] != 1){
|
||
return '非法请求';
|
||
}
|
||
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get',$get);
|
||
$this->assign('query',$query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
$mode = Request::instance()->get('mode');
|
||
|
||
// 转换日期时间
|
||
if($startDate){
|
||
$startTime = strtotime($startDate);
|
||
}else{
|
||
$startTime = 0;
|
||
}
|
||
if($endDate){
|
||
$endTime = strtotime($endDate);
|
||
}else{
|
||
$endTime = time();
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$whereStr = '';
|
||
$where['create_time'] = array('between',[$startTime,$endTime]);
|
||
if($username){
|
||
$user = Db::connect('DB2')->name('user')->where(['username'=>$username,'is_delete'=>0])->find();
|
||
if($user){
|
||
// $where['user_id'] = $user['id'];
|
||
$whereStr = "find_in_set({$user['id']},u.agent_parent_id_path)";
|
||
}else{
|
||
$where['user_id'] = 0;
|
||
}
|
||
}
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$list = Db::connect('DB2')->name('user_withdraw')
|
||
->alias('r')
|
||
->field('r.*,u.username,u.nickname')
|
||
->join('cg_user u','r.user_id=u.id and (u.agent_parent_id_path like "%,'.$user_info['id'].',%" or r.user_id='.$user_info['id'].')')
|
||
->where($where)
|
||
->where($whereStr)
|
||
->order('r.id desc')
|
||
->paginate(20,false,array('query'=>$get));
|
||
}else{
|
||
$list = Db::connect('DB2')->name('user_withdraw')
|
||
->alias('r')
|
||
->field('r.*,u.username,u.nickname')
|
||
->join('cg_user u','r.user_id=u.id and (u.agent_parent_id_path like "'.$user_info['id'].',%" or r.user_id='.$user_info['id'].')')
|
||
->where($where)
|
||
->where($whereStr)
|
||
->order('r.id desc')
|
||
->paginate(20,false,array('query'=>$get));
|
||
}
|
||
|
||
// 提现状态
|
||
$status = [
|
||
'SUCCESS' => "提现成功",
|
||
'FAIL' => "提现失败",
|
||
'WAIT' => "等待审核",
|
||
'AGREE' => "已同意",
|
||
'DISAGREE' => "已拒绝",
|
||
'CANCEL' => "已取消",
|
||
];
|
||
foreach($list as $k => $v){
|
||
// 信息组装
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
// 提现状态
|
||
$v['status_msg'] = $status[$v['status']];
|
||
|
||
// 操作类型
|
||
if($v['operator_source'] == 1){
|
||
$v['operator_source_msg'] = '总台操作';
|
||
}else if($v['operator_source'] == 2){
|
||
$v['operator_source_msg'] = '代理操作';
|
||
}else{
|
||
$v['operator_source_msg'] = '';
|
||
}
|
||
// 数据格式转换
|
||
$v['amount'] = round($v['amount'],2);
|
||
$v['old_money'] = round($v['old_money'],2);
|
||
$v['new_money'] = round($v['new_money'],2);
|
||
$list[$k] = $v;
|
||
}
|
||
|
||
// 汇总金额
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$total = Db::connect('DB2')
|
||
->name('user_withdraw')
|
||
->alias('r')
|
||
->field('sum(r.amount) as amount, sum(r.service_fee) as service_fee, sum(r.money) as money, sum(r.service_fee_money) as service_fee_money')
|
||
->join('cg_user u','r.user_id=u.id and (u.agent_parent_id_path like "%,'.$user_info['id'].',%" or r.user_id='.$user_info['id'].')')
|
||
->where($where)
|
||
->where($whereStr)
|
||
->find();
|
||
}else{
|
||
$total = Db::connect('DB2')
|
||
->name('user_withdraw')
|
||
->alias('r')
|
||
->field('sum(r.amount) as amount, sum(r.service_fee) as service_fee, sum(r.money) as money, sum(r.service_fee_money) as service_fee_money')
|
||
->join('cg_user u','r.user_id=u.id and (u.agent_parent_id_path like "'.$user_info['id'].',%" or r.user_id='.$user_info['id'].')')
|
||
->where($where)
|
||
->where($whereStr)
|
||
->find();
|
||
}
|
||
|
||
// 渲染参数和模板
|
||
$this->assign('list',$list);
|
||
$this->assign('user_info',$user_info);
|
||
$this->assign('total',$total);
|
||
return $this->fetch();
|
||
}
|
||
// 处理提现
|
||
public function doUserWithdraw()
|
||
{
|
||
if(Request::instance()->isPost()){
|
||
// 总代类型判断 1现金线
|
||
$user_info = Session::get('user_info');
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$user_info['id'])->find();
|
||
$topAgentId = explode(',',$user_info['agent_parent_id_path'])[0];
|
||
$topAgent = Db::name('user')->where('id',$topAgentId)->find();
|
||
if($topAgent['agent_type'] != 1){
|
||
return '非法请求';
|
||
}
|
||
|
||
$id = Request::instance()->post('id');
|
||
|
||
$user_info = Session::get('user_info');
|
||
$user_info = Db::name('user')->where('id',$user_info['id'])->find();
|
||
if($user_info['agent_level'] != 1){
|
||
die(json_encode(['code'=>0,'msg'=>'无权限操作!']));
|
||
}
|
||
$withdraw = Db::name('user_withdraw')->where('id',$id)->find();
|
||
if(empty($withdraw) || $withdraw['status'] != "WAIT"){
|
||
die(json_encode(['code'=>0,'msg'=>'非待审核状态无法操作!']));
|
||
}
|
||
|
||
// 审核通过
|
||
$withdrawChannel = "YBF";
|
||
$withdrawResult = [];
|
||
if($withdrawChannel == "USDT"){
|
||
$Usdt = new Usdt();
|
||
$res = $Usdt->applyUserWithdraw($withdraw['order_no'],$withdraw['to_address'],$withdraw['amount']);
|
||
|
||
$withdrawResult = [
|
||
'status' => $res['code'] == 0 ? true : false,
|
||
'type' => $res['processor']['asset'],
|
||
'from_address' => $res['processor']['from_addr'],
|
||
'err_msg' => $res['debug'],
|
||
];
|
||
}else if($withdrawChannel == "YBF"){
|
||
$YBF = new Ybf();
|
||
$res = $YBF->withdraw($withdraw['order_no'],$withdraw['to_address'],$withdraw['amount']);
|
||
$withdrawResult = [
|
||
'status' => $res['code'] == 200 ? true : false,
|
||
'type' => 'YBF',
|
||
'err_msg' => $res['message'],
|
||
];
|
||
}
|
||
if(empty($withdrawResult)){
|
||
die(json_encode(['code'=>0,'msg'=>'未配置支付渠道!']));
|
||
}
|
||
|
||
if($withdrawResult['status']){
|
||
Db::name('user_withdraw')->where('id',$id)->update([
|
||
'status' => 'AGREE',
|
||
'type' => $withdrawResult['type'] ?? '',
|
||
'from_address' => $withdrawResult['from_address'] ?? '',
|
||
'audit_time' => time(),
|
||
'operator_source' => 2,
|
||
'operator_id' => $user_info['id'],
|
||
'operator_username' => $user_info['username'],
|
||
'operator_nickname' => $user_info['nickname']
|
||
]);
|
||
die(json_encode(['code'=>1,'msg'=>'审核通过!']));
|
||
}else{
|
||
Db::startTrans();
|
||
|
||
// 退返余额
|
||
$user = Db::name('user')->where('id',$withdraw['user_id'])->lock(true)->find();
|
||
$money = $user['money'] + $withdraw['money'] + $withdraw['service_fee_money'];
|
||
Db::name('user')->where('id',$withdraw['user_id'])->update(['money' => $money]);
|
||
|
||
// 更新记录
|
||
Db::name('user_withdraw')->where('id',$id)->update([
|
||
'status' => 'FAIL',
|
||
'err_msg' => $withdrawResult['err_msg'],
|
||
'audit_time' => time(),
|
||
'operator_source' => 2,
|
||
'operator_id' => $user_info['id'],
|
||
'operator_username' => $user_info['username'],
|
||
'operator_nickname' => $user_info['nickname']
|
||
]);
|
||
|
||
Db::commit();
|
||
die(json_encode(['code'=>0,'msg'=>'提现失败!']));
|
||
}
|
||
}
|
||
}
|
||
// 取消提现
|
||
public function cancelUserWithdraw()
|
||
{
|
||
if(Request::instance()->isPost()){
|
||
// 总代类型判断 1现金线
|
||
$user_info = Session::get('user_info');
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$user_info['id'])->find();
|
||
$topAgentId = explode(',',$user_info['agent_parent_id_path'])[0];
|
||
$topAgent = Db::name('user')->where('id',$topAgentId)->find();
|
||
if($topAgent['agent_type'] != 1){
|
||
return '非法请求';
|
||
}
|
||
|
||
$id = Request::instance()->post('id');
|
||
|
||
$user_info = Session::get('user_info');
|
||
$user_info = Db::name('user')->where('id',$user_info['id'])->find();
|
||
if($user_info['agent_level'] != 1){
|
||
die(json_encode(['code'=>0,'msg'=>'无权限操作!']));
|
||
}
|
||
$withdraw = Db::name('user_withdraw')->where('id',$id)->find();
|
||
if(empty($withdraw) || $withdraw['status'] != "WAIT"){
|
||
die(json_encode(['code'=>0,'msg'=>'非待审核状态无法操作!']));
|
||
}
|
||
|
||
// 取消提现
|
||
Db::startTrans();
|
||
|
||
// 退返余额
|
||
$user = Db::name('user')->where('id',$withdraw['user_id'])->lock(true)->find();
|
||
$money = $user['money'] + $withdraw['money'] + $withdraw['service_fee_money'];
|
||
Db::name('user')->where('id',$withdraw['user_id'])->update(['money' => $money]);
|
||
|
||
// 更新记录
|
||
Db::name('user_withdraw')->where('id',$id)->update([
|
||
'status' => 'CANCEL',
|
||
'audit_time' => time(),
|
||
'operator_source' => 2,
|
||
'operator_id' => $user_info['id'],
|
||
'operator_username' => $user_info['username'],
|
||
'operator_nickname' => $user_info['nickname']
|
||
]);
|
||
|
||
Db::commit();
|
||
die(json_encode(['code'=>1,'msg'=>'取消成功!']));
|
||
|
||
}
|
||
}
|
||
|
||
|
||
|
||
/**
|
||
* 在线充值查询
|
||
* @return string
|
||
* DateTime: 2019/8/26 17:14
|
||
*/
|
||
public function online_recharge(){
|
||
$langType = cookie('think_var');
|
||
$lang = Lang::get('agent');
|
||
$jsonlang = json_encode($lang);
|
||
|
||
$this->assign('langType',$langType);
|
||
$this->assign('lang',$lang);
|
||
$this->assign('jsonlang',$jsonlang);
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if($user_info['account_type'] == 1){
|
||
return $lang['illegal_request'];
|
||
}
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get',$get);
|
||
$this->assign('query',$query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
// 转换日期时间
|
||
if($startDate){
|
||
$startTime = strtotime($startDate);
|
||
}else{
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
if($endDate){
|
||
$endTime = strtotime($endDate);
|
||
}else{
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['create_time'] = array('between',[$startTime,$endTime]);
|
||
if($username){
|
||
$user = Db::connect('DB2')->name('user')->where(['username'=>$username,'is_delete'=>0])->find();
|
||
$where['user_id'] = $user?$user['id']:0;
|
||
}
|
||
$where['type'] = 4;//在线充值
|
||
$where['mode'] = 1;//充值类型
|
||
// $rechargeList = Db::connect('DB2')->name('recharge')->alias('r')->join('cg_user u','u.id = r.user_id')->where($where)->order('r.create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
$rechargeList = Db::connect('DB2')->name('recharge')->where($where)->order('create_time DESC')->paginate(20,false,array('query'=>$get));
|
||
// 渲染参数和模板
|
||
$this->assign('rechargeList',$rechargeList);
|
||
return $this->fetch();
|
||
|
||
}
|
||
|
||
// 结算报表
|
||
public function settle()
|
||
{
|
||
$curUser = Session::get('user_info');
|
||
if ($curUser['account_type'] == 1 || $curUser['account_type'] == 2) {
|
||
return '非法请求';
|
||
}
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
|
||
|
||
// 接收参数
|
||
$startDate = trim(Request::instance()->get('startDate'));
|
||
$endDate = trim(Request::instance()->get('endDate'));
|
||
$username = trim(Request::instance()->get('username'));
|
||
$export = intval(Request::instance()->get('export'));
|
||
|
||
// 转换日期时间
|
||
if ($startDate) {
|
||
$startTime = strtotime($startDate);
|
||
} else {
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
|
||
}
|
||
if ($endDate) {
|
||
$endTime = strtotime($endDate);
|
||
} else {
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
|
||
}
|
||
|
||
// 查询用户
|
||
if (!empty($username)) {
|
||
$userWhere = array();
|
||
$userWhere['username'] = $username;
|
||
if ($curUser['agent_parent_id'] > 0) {
|
||
$userWhere['agent_parent_id_path'] = array('LIKE', '%,' . $curUser['id'] . ',%');
|
||
} else {
|
||
$userWhere['agent_parent_id_path'] = array('LIKE', $curUser['id'] . ',%');
|
||
}
|
||
$user_info = Db::connect('DB2')->name('user')->where($userWhere)->find();
|
||
}
|
||
if (empty($user_info)) $user_info = $curUser;
|
||
$topAgentId = explode(',',$curUser['agent_parent_id_path'])[0];
|
||
$topAgent = Db::name('user')->where('id',$topAgentId)->find();
|
||
|
||
// 数据查询条件
|
||
$dataWhere = array();
|
||
$dataWhere['create_time'] = array('between', [$startTime, $endTime]);
|
||
|
||
// 找出所有的下注会员
|
||
$where = array();
|
||
$where['is_delete'] = 0;
|
||
$where['id|agent_parent_id'] = $user_info['id'];
|
||
$list = Db::connect('DB2')->name('user')->where($where)->order('id asc')->select();
|
||
$listIds = [];
|
||
foreach ($list as $k => $v){
|
||
$listIds[] = $v['id'];
|
||
}
|
||
|
||
// 汇总数据
|
||
$total = [];
|
||
$total['maliang_checkout'] = Db::connect('DB2')->name('xima_log')->where($dataWhere)->where(['user_id' => ['in', $listIds]])->sum('maliang');
|
||
|
||
foreach ($list as &$child) {
|
||
$child['type_xima_msg'] = $child['type_xima'] == 2 ? "单边洗码" : "双边洗码";
|
||
//$child['ximalv'] = $child['agent_ximalv'] . ' / ' . $child['agent_ximalv_dt'] . ' / ' . $child['agent_ximalv_nn'] . ' / ' . $child['agent_ximalv_tc'];
|
||
$child['ximalv'] = $child['agent_ximalv'] . ' / ' . $child['agent_ximalv_dt'] . ' / ' . $child['agent_ximalv_nn'];
|
||
|
||
// 查询cs
|
||
$csWhere = $dataWhere;
|
||
$csWhere['user_id'] = $child['id'];
|
||
$csWhere['status'] = 1;
|
||
// $child['amount'] = Db::connect('DB2')->name('cs')->where($csWhere)->sum('total');
|
||
// $child['win_total'] = Db::connect('DB2')->name('cs')->where($csWhere)->sum('win_total');
|
||
|
||
$amountAndWinTotalWhere = $dataWhere;
|
||
$amountAndWinTotalWhere['status'] = 1;
|
||
if($child['agent_parent_id'] > 0){
|
||
if($child['agent'] == 1){
|
||
$amountAndWinTotalWhere['agent_parent_id_path'] = array('LIKE','%,'.$child['id'].',%');
|
||
}else{
|
||
$amountAndWinTotalWhere['user_id'] = $child['id'];
|
||
}
|
||
}else{
|
||
if($child['agent'] == 1){
|
||
$amountAndWinTotalWhere['agent_parent_id_path'] = array('LIKE',$child['id'].',%');
|
||
}else{
|
||
$amountAndWinTotalWhere['user_id'] = $child['id'];
|
||
}
|
||
}
|
||
$child['amount'] = Db::connect('DB2')->name('bet')->where($amountAndWinTotalWhere)->sum('amount');
|
||
$child['win_total'] = Db::connect('DB2')->name('bet')->where($amountAndWinTotalWhere)->sum('win_total');
|
||
|
||
// 查询洗码
|
||
$ximaWhere = $dataWhere;
|
||
$ximaWhere['status'] = 1;
|
||
$ximaWhere['user_id'] = $child['id'];
|
||
$child['ximaliang'] = Db::connect('DB2')->name('xima')->where($ximaWhere)->sum('ximaliang');
|
||
$child['maliang'] = Db::connect('DB2')->name('xima')->where($ximaWhere)->sum('maliang');
|
||
$child['share_maliang'] = Db::connect('DB2')->name('xima')->where($ximaWhere)->sum('share_maliang');
|
||
$child['net_maliang'] = Db::connect('DB2')->name('xima')->where($ximaWhere)->sum('net_maliang');
|
||
$child['cs'] = Db::connect('DB2')->name('cs')->where($ximaWhere)->sum('share_amount');
|
||
$child['net_cs'] = Db::connect('DB2')->name('cs')->where($ximaWhere)->sum('net_cs');
|
||
$child['cs_income'] = $child['net_cs'] - $child['share_maliang'];
|
||
$child['maliang_unsettled'] = Db::connect('DB2')->name('xima')->where($ximaWhere)->where('is_checkout', 0)->sum('maliang');
|
||
$child['cs_unsettled'] = Db::connect('DB2')->name('cs')->where($ximaWhere)->where('is_checkout', 0)->sum('net_cs');
|
||
$child['cs_unsettled'] -= Db::connect('DB2')->name('cs')->where($ximaWhere)->where('is_checkout', 0)->sum('share_maliang');
|
||
|
||
$checkoutWhere = $dataWhere;
|
||
$checkoutWhere['user_id'] = $child['id'];
|
||
$child['maliang_checkout'] = Db::connect('DB2')->name('xima_log')->where($checkoutWhere)->sum('maliang');
|
||
$child['cs_checkout'] = Db::connect('DB2')->name('cs_log')->where($checkoutWhere)->sum('share_amount');
|
||
$child['cs_checkout'] -= Db::connect('DB2')->name('cs_log')->where($checkoutWhere)->sum('share_maliang');
|
||
|
||
// 查询返水
|
||
$rebateWhere = $dataWhere;
|
||
$rebateWhere['user_id'] = $child['id'];
|
||
$rebateWhere['game_type'] = 1;
|
||
$child['rebate'] = Db::connect('DB2')->name('rebate')->where($rebateWhere)->sum('rebate_amount_actual');
|
||
$child['rebate_checkout'] = Db::connect('DB2')->name('rebate_log')->where($rebateWhere)->sum('rebate_amount');
|
||
// 棋牌返水
|
||
$rebateWhere['game_type'] = 2;
|
||
$child['qp_rebate'] = Db::connect('DB2')->name('rebate')->where($rebateWhere)->sum('rebate_amount_actual');
|
||
$child['qp_rebate_checkout'] = Db::connect('DB2')->name('rebate_log')->where($rebateWhere)->sum('rebate_amount');
|
||
|
||
// 格式化
|
||
$child['agent_cs'] = number_format($child['agent_cs'], 2, '.', '');
|
||
$child['amount'] = number_format($child['amount'], 2, '.', '');
|
||
$child['win_total'] = number_format($child['win_total'], 2, '.', '');
|
||
$child['maliang'] = number_format($child['maliang'], 2, '.', '');
|
||
$child['net_maliang'] = number_format($child['net_maliang'], 2, '.', '');
|
||
$child['cs'] = number_format($child['cs'], 2, '.', '');
|
||
$child['maliang_unsettled'] = number_format($child['maliang_unsettled'], 2, '.', '');
|
||
$child['cs_unsettled'] = number_format($child['cs_unsettled'], 2, '.', '');
|
||
$child['maliang_checkout'] = number_format($child['maliang_checkout'], 2, '.', '');
|
||
$child['cs_checkout'] = number_format($child['cs_checkout'], 2, '.', '');
|
||
$child['rebate'] = number_format($child['rebate'], 2, '.', '');
|
||
$child['rebate_checkout'] = number_format($child['rebate_checkout'], 2, '.', '');
|
||
$child['qp_rebate'] = number_format($child['qp_rebate'], 2, '.', '');
|
||
$child['qp_rebate_checkout'] = number_format($child['qp_rebate_checkout'], 2, '.', '');
|
||
if ($child['agent'] == 0) {
|
||
// 格式化
|
||
$child['share_maliang'] = '-';
|
||
$child['agent_cs'] = '-';
|
||
$child['net_cs'] = '-';
|
||
$child['cs'] = '-';
|
||
$child['cs_income'] = '-';
|
||
$child['cs_unsettled'] = '-';
|
||
$child['cs_checkout'] = '-';
|
||
}
|
||
}
|
||
|
||
// 导出excel列表
|
||
if ($export == 1) {
|
||
if ($list) {
|
||
//重新组合
|
||
$excelData = array();
|
||
foreach ($list AS $k => $v) {
|
||
$excelData[$k][] = $v['agent'] == 1 ? '代理' : '会员';
|
||
$excelData[$k][] = $v['username'];
|
||
$excelData[$k][] = $v['nickname'];
|
||
$excelData[$k][] = $v['money'];
|
||
$excelData[$k][] = $v['amount'];
|
||
$excelData[$k][] = $v['win_total'];
|
||
$excelData[$k][] = $v['ximaliang'];
|
||
$excelData[$k][] = $v['maliang'];
|
||
$excelData[$k][] = $v['maliang_checkout'];
|
||
$excelData[$k][] = $v['maliang_unsettled'];
|
||
$excelData[$k][] = $v['net_maliang'];
|
||
$excelData[$k][] = $v['ximalv'];
|
||
$excelData[$k][] = $v['cs'];
|
||
$excelData[$k][] = $v['cs_checkout'];
|
||
// $excelData[$k][] = $v['share_maliang_checkout'];
|
||
$excelData[$k][] = $v['cs_unsettled'];
|
||
// $excelData[$k][] = $v['share_maliang_unsettled'];
|
||
$excelData[$k][] = $v['net_cs'];
|
||
$excelData[$k][] = $v['agent_cs'];
|
||
}
|
||
$title = array('会员类型', '账号', '名称', '余额', '总押码', '会员总赢', '洗码量', '码量', '已结码量', '未结码量', '码费收益', '百/龙/牛牛洗码率%', '占股金额', '已结占股', '未结占股', '占股收益', '占股%');
|
||
if ($startDate && $endDate) {
|
||
$this->exportExcelCore($excelData, '结算报表-' . $startDate . "至" . $endDate, $title);
|
||
} else {
|
||
$this->exportExcelCore($excelData, '结算报表', $title);
|
||
}
|
||
exit('已导出支持列表,请不要重复刷新该页面!');
|
||
} else {
|
||
exit('没有可以导出的列表!');
|
||
}
|
||
}
|
||
// 渲染参数和模板
|
||
$this->assign('get', $get);
|
||
$this->assign('query', $query);
|
||
$this->assign('list', $list);
|
||
$this->assign('total', $total);
|
||
$this->assign('user_info', $user_info);
|
||
$this->assign('top_agent', $topAgent);
|
||
return $this->fetch();
|
||
}
|
||
|
||
// 洗码查询
|
||
public function xima()
|
||
{
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id', $user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if ($user_info['account_type'] == 1) {
|
||
return '非法请求';
|
||
}
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get', $get);
|
||
$this->assign('query', $query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
|
||
// 转换日期时间
|
||
if ($startDate) {
|
||
$startTime = strtotime($startDate);
|
||
} else {
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
|
||
$this->assign('get', $get);
|
||
}
|
||
if ($endDate) {
|
||
$endTime = strtotime($endDate);
|
||
} else {
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
|
||
$this->assign('get', $get);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['create_time'] = array('between', [$startTime, $endTime]);
|
||
if ($username) {
|
||
if ($username == $user_info['username']) {
|
||
$where['user_id'] = $user_info['id'];
|
||
} else {
|
||
$userWhere = [];
|
||
$userWhere['username'] = $username;
|
||
$userWhere['is_delete'] = 0;
|
||
if ($user_info['agent_parent_id'] > 0) {
|
||
$userWhere['agent_parent_id_path'] = array('like', '%,' . $user_info['id'] . ',%');
|
||
} else {
|
||
$userWhere['agent_parent_id_path'] = array('like', '%' . $user_info['id'] . ',%');
|
||
}
|
||
$user = Db::connect('DB2')->name('user')->where($userWhere)->find();
|
||
if ($user) {
|
||
$where['user_id'] = $user['id'];
|
||
} else {
|
||
$where['userid'] = 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
// 列表
|
||
$list = Db::connect('DB2')->name('xima')->alias('x')
|
||
->field('x.*,u.username')
|
||
->join('user u', 'u.id=x.user_id')
|
||
->where($where)->order('x.id desc')
|
||
->paginate(20, false, array('query' => $get));
|
||
foreach ($list as $k => $v) {
|
||
$v['create_time'] = date('Y-m-d H:i:s', $v['create_time']);
|
||
$list[$k] = $v;
|
||
}
|
||
|
||
// 汇总数据
|
||
$total = Db::connect('DB2')->name('xima')
|
||
->field('
|
||
sum(total) as total,
|
||
sum(win_total) as win_total,
|
||
sum(ximaliang) as ximaliang,
|
||
sum(maliang) as maliang,
|
||
sum(share_maliang) as share_maliang,
|
||
sum(net_maliang) as net_maliang
|
||
')
|
||
->where($where)->find();
|
||
|
||
// 渲染参数和模板
|
||
$this->assign('list', $list);
|
||
$this->assign('user_info', $user_info);
|
||
$this->assign('total', $total);
|
||
return $this->fetch();
|
||
}
|
||
|
||
// 洗码结算查询
|
||
public function xima_log()
|
||
{
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id', $user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if ($user_info['account_type'] == 1) {
|
||
return '非法请求';
|
||
}
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get', $get);
|
||
$this->assign('query', $query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
|
||
// 转换日期时间
|
||
if ($startDate) {
|
||
$startTime = strtotime($startDate);
|
||
} else {
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
|
||
$this->assign('get', $get);
|
||
}
|
||
if ($endDate) {
|
||
$endTime = strtotime($endDate);
|
||
} else {
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
|
||
$this->assign('get', $get);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['create_time'] = array('between', [$startTime, $endTime]);
|
||
if ($username) {
|
||
if ($username == $user_info['username']) {
|
||
$where['user_id'] = $user_info['id'];
|
||
} else {
|
||
$userWhere = [];
|
||
$userWhere['username'] = $username;
|
||
$userWhere['is_delete'] = 0;
|
||
if ($user_info['agent_parent_id'] > 0) {
|
||
$userWhere['agent_parent_id_path'] = array('like', '%,' . $user_info['id'] . ',%');
|
||
} else {
|
||
$userWhere['agent_parent_id_path'] = array('like', '%' . $user_info['id'] . ',%');
|
||
}
|
||
$user = Db::connect('DB2')->name('user')->where($userWhere)->find();
|
||
if ($user) {
|
||
$where['user_id'] = $user['id'];
|
||
} else {
|
||
$where['userid'] = 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
// 列表
|
||
$list = Db::connect('DB2')->name('xima_log')->where($where)->order('id desc')->paginate(20, false, array('query' => $get));
|
||
foreach ($list as $k => $v) {
|
||
$v['create_time'] = date('Y-m-d H:i:s', $v['create_time']);
|
||
|
||
// 操作人
|
||
if ($v['admin_or_agent'] == 1) {
|
||
$v['connection_username'] = $v['admin_username'];
|
||
$v['admin_or_agent_msg'] = '总台操作';
|
||
} else if ($v['admin_or_agent'] == 2) {
|
||
$v['admin_or_agent_msg'] = '代理操作';
|
||
} else if ($v['admin_or_agent'] == 4) {
|
||
$v['admin_or_agent_msg'] = '即时结算系统操作';
|
||
}else if ($v['admin_or_agent'] == 5) {
|
||
$v['admin_or_agent_msg'] = '定时结算系统操作';
|
||
}else {
|
||
$v['agent_or_admin_msg'] = '-';
|
||
}
|
||
if ($v['type'] == 1) {
|
||
$v['type_msg'] = '余额上分';
|
||
} elseif ($v['type'] == 2) {
|
||
$v['type_msg'] = '现金结算';
|
||
} else {
|
||
$v['type_msg'] = '-';
|
||
}
|
||
|
||
$list[$k] = $v;
|
||
}
|
||
|
||
// 汇总数据
|
||
$total = Db::connect('DB2')->name('xima_log')
|
||
->field('
|
||
sum(ximaliang) as ximaliang,
|
||
sum(maliang) as maliang
|
||
')
|
||
->where($where)->find();
|
||
|
||
// 渲染参数和模板
|
||
$this->assign('list', $list);
|
||
$this->assign('user_info', $user_info);
|
||
$this->assign('total', $total);
|
||
return $this->fetch();
|
||
}
|
||
|
||
// 占股查询
|
||
public function cs()
|
||
{
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id', $user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if ($user_info['account_type'] == 1) {
|
||
return '非法请求';
|
||
}
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get', $get);
|
||
$this->assign('query', $query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
|
||
// 转换日期时间
|
||
if ($startDate) {
|
||
$startTime = strtotime($startDate);
|
||
} else {
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
|
||
$this->assign('get', $get);
|
||
}
|
||
if ($endDate) {
|
||
$endTime = strtotime($endDate);
|
||
} else {
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
|
||
$this->assign('get', $get);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['create_time'] = array('between', [$startTime, $endTime]);
|
||
if ($username) {
|
||
if ($username == $user_info['username']) {
|
||
$where['user_id'] = $user_info['id'];
|
||
} else {
|
||
$userWhere = [];
|
||
$userWhere['username'] = $username;
|
||
$userWhere['is_delete'] = 0;
|
||
if ($user_info['agent_parent_id'] > 0) {
|
||
$userWhere['agent_parent_id_path'] = array('like', '%,' . $user_info['id'] . ',%');
|
||
} else {
|
||
$userWhere['agent_parent_id_path'] = array('like', '%' . $user_info['id'] . ',%');
|
||
}
|
||
$user = Db::connect('DB2')->name('user')->where($userWhere)->find();
|
||
if ($user) {
|
||
$where['user_id'] = $user['id'];
|
||
} else {
|
||
$where['userid'] = 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
// 列表
|
||
$list = Db::connect('DB2')->name('cs')->alias('c')
|
||
->field('c.*,u.username')
|
||
->join('user u', 'u.id=c.user_id')
|
||
->where($where)->order('c.id desc')
|
||
->paginate(20, false, array('query' => $get));
|
||
foreach ($list as $k => $v) {
|
||
$v['create_time'] = date('Y-m-d H:i:s', $v['create_time']);
|
||
$list[$k] = $v;
|
||
}
|
||
|
||
// 汇总数据
|
||
$total = Db::connect('DB2')->name('cs')
|
||
->field('
|
||
sum(total) as total,
|
||
sum(win_total) as win_total,
|
||
sum(net_cs) as net_cs
|
||
')
|
||
->where($where)->find();
|
||
$total['share_maliang'] = Db::connect('DB2')->name('xima')->where($where)->sum('share_maliang');
|
||
|
||
// 渲染参数和模板
|
||
$this->assign('list', $list);
|
||
$this->assign('user_info', $user_info);
|
||
$this->assign('total', $total);
|
||
return $this->fetch();
|
||
}
|
||
|
||
// 占股结算查询
|
||
public function cs_log()
|
||
{
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id', $user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if ($user_info['account_type'] == 1) {
|
||
return '非法请求';
|
||
}
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get', $get);
|
||
$this->assign('query', $query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
|
||
// 转换日期时间
|
||
if ($startDate) {
|
||
$startTime = strtotime($startDate);
|
||
} else {
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
|
||
$this->assign('get', $get);
|
||
}
|
||
if ($endDate) {
|
||
$endTime = strtotime($endDate);
|
||
} else {
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
|
||
$this->assign('get', $get);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['create_time'] = array('between', [$startTime, $endTime]);
|
||
if ($username) {
|
||
if ($username == $user_info['username']) {
|
||
$where['user_id'] = $user_info['id'];
|
||
} else {
|
||
$userWhere = [];
|
||
$userWhere['username'] = $username;
|
||
$userWhere['is_delete'] = 0;
|
||
if ($user_info['agent_parent_id'] > 0) {
|
||
$userWhere['agent_parent_id_path'] = array('like', '%,' . $user_info['id'] . ',%');
|
||
} else {
|
||
$userWhere['agent_parent_id_path'] = array('like', '%' . $user_info['id'] . ',%');
|
||
}
|
||
$user = Db::connect('DB2')->name('user')->where($userWhere)->find();
|
||
if ($user) {
|
||
$where['user_id'] = $user['id'];
|
||
} else {
|
||
$where['userid'] = 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
// 列表
|
||
$list = Db::connect('DB2')->name('cs_log')->where($where)->order('id desc')->paginate(20, false, array('query' => $get));
|
||
foreach ($list as $k => $v) {
|
||
$v['create_time'] = date('Y-m-d H:i:s', $v['create_time']);
|
||
$v['income'] = $v['share_amount'] - $v['share_maliang'];
|
||
|
||
// 操作人
|
||
if ($v['admin_or_agent'] == 1) {
|
||
$v['connection_username'] = $v['admin_username'];
|
||
$v['admin_or_agent_msg'] = '总台操作';
|
||
} else if ($v['admin_or_agent'] == 2){
|
||
$v['admin_or_agent_msg'] = '代理操作';
|
||
} else if ($v['admin_or_agent'] == 4){
|
||
$v['admin_or_agent_msg'] = '即时结算系统操作';
|
||
}else if ($v['admin_or_agent'] == 5){
|
||
$v['admin_or_agent_msg'] = '定时结算系统操作';
|
||
}else {
|
||
$v['agent_or_admin_msg'] = '-';
|
||
}
|
||
if ($v['type'] == 1) {
|
||
$v['type_msg'] = '上分下分';
|
||
} elseif ($v['type'] == 2) {
|
||
$v['type_msg'] = '现金结算';
|
||
} else {
|
||
$v['type_msg'] = '-';
|
||
}
|
||
|
||
$list[$k] = $v;
|
||
}
|
||
|
||
// 汇总数据
|
||
$total = Db::connect('DB2')->name('cs_log')
|
||
->field('
|
||
sum(share_amount) as share_amount,
|
||
sum(share_maliang) as share_maliang
|
||
')
|
||
->where($where)->find();
|
||
$total['income'] = $total['share_amount'] - $total['share_maliang'];
|
||
|
||
// 渲染参数和模板
|
||
$this->assign('list', $list);
|
||
$this->assign('user_info', $user_info);
|
||
$this->assign('total', $total);
|
||
return $this->fetch();
|
||
}
|
||
|
||
// 返水查询
|
||
public function rebate()
|
||
{
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id', $user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if ($user_info['account_type'] == 1) {
|
||
return '非法请求';
|
||
}
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get', $get);
|
||
$this->assign('query', $query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
$gameType = Request::instance()->get('game_type');
|
||
if(empty($gameType)){
|
||
$gameType = 1;
|
||
}
|
||
|
||
// 转换日期时间
|
||
if ($startDate) {
|
||
$startTime = strtotime($startDate);
|
||
} else {
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
|
||
$this->assign('get', $get);
|
||
}
|
||
if ($endDate) {
|
||
$endTime = strtotime($endDate);
|
||
} else {
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
|
||
$this->assign('get', $get);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['create_time'] = array('between', [$startTime, $endTime]);
|
||
$where['game_type'] = $gameType;
|
||
if ($username) {
|
||
if ($username == $user_info['username']) {
|
||
$where['user_id'] = $user_info['id'];
|
||
} else {
|
||
$userWhere = [];
|
||
$userWhere['username'] = $username;
|
||
$userWhere['is_delete'] = 0;
|
||
if ($user_info['agent_parent_id'] > 0) {
|
||
$userWhere['agent_parent_id_path'] = array('like', '%,' . $user_info['id'] . ',%');
|
||
} else {
|
||
$userWhere['agent_parent_id_path'] = array('like', '%' . $user_info['id'] . ',%');
|
||
}
|
||
$user = Db::connect('DB2')->name('user')->where($userWhere)->find();
|
||
if ($user) {
|
||
$where['user_id'] = $user['id'];
|
||
} else {
|
||
$where['userid'] = 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
// 列表
|
||
$list = Db::connect('DB2')->name('rebate')->alias('x')
|
||
->field('x.*,u.username')
|
||
->join('user u', 'u.id=x.user_id')
|
||
->where($where)->order('x.id desc')
|
||
->paginate(20, false, array('query' => $get));
|
||
foreach ($list as $k => $v) {
|
||
$v['create_time'] = date('Y-m-d H:i:s', $v['create_time']);
|
||
$list[$k] = $v;
|
||
}
|
||
|
||
// 汇总数据
|
||
$total = Db::connect('DB2')->name('rebate')
|
||
->field('
|
||
sum(amount) as amount,
|
||
sum(rebate_amount_actual) as rebate_amount_actual
|
||
')
|
||
->where($where)->find();
|
||
|
||
// 渲染参数和模板
|
||
$this->assign('list', $list);
|
||
$this->assign('user_info', $user_info);
|
||
$this->assign('total', $total);
|
||
$this->assign('game_type', $gameType);
|
||
return $this->fetch();
|
||
}
|
||
|
||
// 返水结算查询
|
||
public function rebate_log()
|
||
{
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id', $user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if ($user_info['account_type'] == 1) {
|
||
return '非法请求';
|
||
}
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get', $get);
|
||
$this->assign('query', $query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
$gameType = Request::instance()->get('game_type');
|
||
if(empty($gameType)){
|
||
$gameType = 1;
|
||
}
|
||
|
||
// 转换日期时间
|
||
if ($startDate) {
|
||
$startTime = strtotime($startDate);
|
||
} else {
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
|
||
$this->assign('get', $get);
|
||
}
|
||
if ($endDate) {
|
||
$endTime = strtotime($endDate);
|
||
} else {
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
|
||
$this->assign('get', $get);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['create_time'] = array('between', [$startTime, $endTime]);
|
||
$where['game_type'] = $gameType;
|
||
if ($username) {
|
||
if ($username == $user_info['username']) {
|
||
$where['user_id'] = $user_info['id'];
|
||
} else {
|
||
$userWhere = [];
|
||
$userWhere['username'] = $username;
|
||
$userWhere['is_delete'] = 0;
|
||
if ($user_info['agent_parent_id'] > 0) {
|
||
$userWhere['agent_parent_id_path'] = array('like', '%,' . $user_info['id'] . ',%');
|
||
} else {
|
||
$userWhere['agent_parent_id_path'] = array('like', '%' . $user_info['id'] . ',%');
|
||
}
|
||
$user = Db::connect('DB2')->name('user')->where($userWhere)->find();
|
||
if ($user) {
|
||
$where['user_id'] = $user['id'];
|
||
} else {
|
||
$where['user_id'] = 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
// 列表
|
||
$list = Db::connect('DB2')->name('rebate_log')->where($where)->order('id desc')->paginate(20, false, array('query' => $get));
|
||
foreach ($list as $k => $v) {
|
||
$v['create_time'] = date('Y-m-d H:i:s', $v['create_time']);
|
||
|
||
// 操作人
|
||
if ($v['admin_or_agent'] == 1) {
|
||
$v['connection_username'] = $v['admin_username'];
|
||
$v['admin_or_agent_msg'] = '总台操作';
|
||
} else if ($v['admin_or_agent'] == 2) {
|
||
$v['admin_or_agent_msg'] = '代理操作';
|
||
} else if ($v['admin_or_agent'] == 4) {
|
||
$v['admin_or_agent_msg'] = '即时结算系统操作';
|
||
}else if ($v['admin_or_agent'] == 5) {
|
||
$v['admin_or_agent_msg'] = '定时结算系统操作';
|
||
}else {
|
||
$v['agent_or_admin_msg'] = '-';
|
||
}
|
||
if ($v['type'] == 1) {
|
||
$v['type_msg'] = '余额上分';
|
||
} elseif ($v['type'] == 2) {
|
||
$v['type_msg'] = '现金结算';
|
||
} else {
|
||
$v['type_msg'] = '-';
|
||
}
|
||
|
||
$list[$k] = $v;
|
||
}
|
||
|
||
// 汇总数据
|
||
$total = Db::connect('DB2')->name('rebate_log')
|
||
->field('
|
||
sum(amount) as amount,
|
||
sum(rebate_amount) as rebate_amount
|
||
')
|
||
->where($where)->find();
|
||
|
||
// 渲染参数和模板
|
||
$this->assign('list', $list);
|
||
$this->assign('user_info', $user_info);
|
||
$this->assign('total', $total);
|
||
$this->assign('game_type', $gameType);
|
||
return $this->fetch();
|
||
}
|
||
|
||
|
||
// 下级查询
|
||
public function child(){
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if($user_info['account_type'] == 1 || $user_info['account_type'] == 2){
|
||
return '非法请求';
|
||
}
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get',$get);
|
||
$this->assign('query',$query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = trim(Request::instance()->get('username'));
|
||
$export = trim(Request::instance()->get('export'));
|
||
|
||
// 转换日期时间
|
||
if($startDate){
|
||
$startTime = strtotime($startDate);
|
||
}else{
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
if($endDate){
|
||
$endTime = strtotime($endDate);
|
||
}else{
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
|
||
// 验证查询用户
|
||
$is_child = false;
|
||
$user = Db::connect('DB2')->name('user')->where('username',$username)->find();
|
||
$agent_parent_id_path = array();
|
||
if($user){
|
||
$agent_parent_id_path = explode(',',$user['agent_parent_id_path']);
|
||
if(in_array($user_info['id'],$agent_parent_id_path)){
|
||
$is_child = true;
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['is_delete'] = 0;
|
||
if($user['agent'] == 1){
|
||
if($user['agent_parent_id'] > 0){
|
||
// 非总代
|
||
$where['agent_parent_id_path'] = array('like','%,'.$user['id'].',%');
|
||
$child_list = Db::connect('DB2')->name('user')->where($where)->whereOr('id',$user['id'])->order('id asc')->select();
|
||
}else{
|
||
// 总代
|
||
$where['agent_parent_id_path'] = array('like',$user['id'].',%');
|
||
$child_list = Db::connect('DB2')->name('user')->where($where)->whereOr('id',$user['id'])->order('id asc')->select();
|
||
}
|
||
}else{
|
||
// 会员
|
||
$child_list = Db::connect('DB2')->name('user')->where('username',$username)->whereOr('id',$user['id'])->order('id asc')->select();
|
||
}
|
||
}else{
|
||
$child_list = array();
|
||
}
|
||
}else{
|
||
$child_list = array();
|
||
}
|
||
|
||
// 层级关系
|
||
$relation = '';
|
||
foreach($agent_parent_id_path as $k => $v){
|
||
$relation_user = Db::connect('DB2')->name('user')->where('id',$v)->find();
|
||
$agent = '会员';
|
||
if($relation_user['agent'] == 1){
|
||
$agent = '代理';
|
||
}
|
||
if($k == 0){
|
||
$relation .= $relation_user['username'].'('.$agent.')';
|
||
}else{
|
||
$relation .= ' > '.$relation_user['username'].'('.$agent.')';
|
||
}
|
||
}
|
||
|
||
|
||
|
||
// 数据查询条件
|
||
$dataWhere = array();
|
||
$dataWhere['status'] = 1;
|
||
$dataWhere['create_time'] = array('between',[$startTime,$endTime]);
|
||
|
||
// 找出所有的下注会员
|
||
$user_bet = Db::connect('DB2')->name('bet')->where($dataWhere)->group('user_id')->field('user_id')->select();
|
||
$user_bet = array_column($user_bet,'user_id');
|
||
$user_bet = array_unique($user_bet);
|
||
|
||
// 查询代理及数据统计
|
||
foreach($child_list as $k => $v){
|
||
// 循环获取数据
|
||
$v['amount'] = 0;
|
||
$v['win_total'] = 0;
|
||
foreach($user_bet as $key => $val){
|
||
$betUser = Db::connect('DB2')->name('user')->where('id',$val)->find();
|
||
$parentIdPath = explode(',',$betUser['agent_parent_id_path']);
|
||
if(in_array($v['id'],$parentIdPath)){
|
||
$dataWhere['user_id'] = $val;
|
||
// 总押
|
||
$v['amount'] += Db::connect('DB2')->name('bet')->where($dataWhere)->sum('amount');
|
||
// 总赢
|
||
$v['win_total'] += Db::connect('DB2')->name('bet')->where($dataWhere)->sum('win_total');
|
||
}
|
||
}
|
||
$dataWhere['user_id'] = $v['id'];
|
||
// 洗码量
|
||
$dataWhere['user_id'] = $v['id'];
|
||
$v['ximaliang'] = Db::connect('DB2')->name('xima')->where($dataWhere)->sum('ximaliang');
|
||
// 洗码费
|
||
$v['maliang'] = Db::connect('DB2')->name('xima')->where($dataWhere)->sum('net_maliang');
|
||
// 未结码量
|
||
$v['maliang_unbalanced'] = Db::connect('DB2')->name('xima')->where(['user_id'=>$v['id'],'is_checkout'=>0])->sum('net_maliang');
|
||
//占股收益
|
||
$v['cs'] = Db::connect('DB2')->name('cs')->where($dataWhere)->sum('share_amount');
|
||
//占股收益未结
|
||
$v['cs_unbalanced'] = Db::connect('DB2')->name('cs')->where(array('user_id' => $v['id'],'is_checkout' => 0))->sum('share_amount');
|
||
// 抽水
|
||
$v['commission'] = Db::connect('DB2')->name('agent_commission')->where($dataWhere)->sum('money_commission');
|
||
// 未结抽水
|
||
$v['commission_unbalanced'] = Db::connect('DB2')->name('agent_commission')->where(['agent_id'=>$v['id'],'is_checkout'=>0])->sum('money_commission');
|
||
//代理收益 = 占股收益 + 洗码费 + 抽水
|
||
$v['income'] = $v['cs'] + $v['maliang'] + $v['commission'];
|
||
if($v['agent'] == 1){
|
||
$v['agent_msg'] = '代理';
|
||
}else{
|
||
$v['agent_msg'] = '会员';
|
||
}
|
||
// 剩余额度
|
||
$v['money'] = round($v['money'],2);
|
||
$v['money_child'] = 0;
|
||
// 下级总剩余额度
|
||
$moneyWhere = array();
|
||
$moneyWhere['is_delete'] = 0;
|
||
if($v['agent'] == 1){
|
||
if($v['agent_parent_id'] > 0){
|
||
// 非总代
|
||
$moneyWhere['agent_parent_id_path'] = array('like','%,'.$v['id'].',%');
|
||
$money_list = Db::connect('DB2')->name('user')->where($moneyWhere)->select();
|
||
}else{
|
||
// 总代
|
||
$where['agent_parent_id_path'] = array('like',$v['id'].',%');
|
||
$money_list = Db::connect('DB2')->name('user')->where($where)->select();
|
||
}
|
||
}else{
|
||
// 会员
|
||
$money_list = Db::connect('DB2')->name('user')->where('id',$v['id'])->select();
|
||
}
|
||
foreach($money_list as $i){
|
||
$v['money_child'] += Db::connect('DB2')->name('user')->where('id',$i['id'])->value('money');
|
||
}
|
||
// 洗码率
|
||
$v['ximalv'] = $v['agent_ximalv'].' / '.$v['agent_ximalv_dt'];
|
||
$child_list[$k] = $v;
|
||
}
|
||
|
||
// 导出excel列表
|
||
if($export == 1){
|
||
if($child_list){
|
||
//重新组合
|
||
$excelData = array();
|
||
foreach($child_list AS $k => $v){
|
||
$excelData[$k][0] = $v['agent_msg'];
|
||
$excelData[$k][1] = $v['nickname'];
|
||
$excelData[$k][2] = $v['username'];
|
||
$excelData[$k][3] = $v['agent_parent_username'];
|
||
$excelData[$k][4] = $v['money'];
|
||
$excelData[$k][5] = $v['money_child'];
|
||
$excelData[$k][6] = $v['amount'];
|
||
$excelData[$k][7] = $v['win_total'];
|
||
$excelData[$k][8] = $v['ximaliang'];
|
||
$excelData[$k][9] = $v['ximalv'];
|
||
$excelData[$k][10] = $v['agent_cs'];
|
||
$excelData[$k][11] = $v['maliang'];
|
||
$excelData[$k][12] = $v['win_total'] + $v['maliang'];
|
||
$excelData[$k][13] = $v['cs'];
|
||
$excelData[$k][14] = $v['maliang_unbalanced'];
|
||
$excelData[$k][15] = $v['cs_unbalanced'];
|
||
$excelData[$k][16] = $v['commission'];
|
||
$excelData[$k][17] = $v['commission_unbalanced'];
|
||
}
|
||
$title = array('账户类型','名称','账号','上级代理','下级总剩余额度','总押码','总赢','总洗码','百/龙/牛洗码率%','占股%','洗码费','实际总赢','占股收益','洗码费(未结)','占股收益(未结)','代理抽水','代理抽水(未结)');
|
||
if($startDate && $endDate){
|
||
$this->exportExcelCore($excelData, '下级数据表-'.$startDate."至".$endDate, $title);
|
||
}else{
|
||
$this->exportExcelCore($excelData, '下级数据表', $title);
|
||
}
|
||
exit('已导出支持列表,请不要重复刷新该页面!');
|
||
}else{
|
||
exit('没有可以导出的列表!');
|
||
}
|
||
}
|
||
|
||
// 渲染参数和模板
|
||
$this->assign('child_list',$child_list);
|
||
$this->assign('user_info',$user_info);
|
||
$this->assign('user',$user);
|
||
$this->assign('is_child',$is_child);
|
||
$this->assign('relation',$relation);
|
||
return $this->fetch();
|
||
}
|
||
|
||
// 代理抽水
|
||
public function commission(){
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if($user_info['account_type'] == 1){
|
||
return '非法请求';
|
||
}
|
||
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get',$get);
|
||
$this->assign('query',$query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
$agent_username = Request::instance()->get('agent_username');
|
||
|
||
// 转换日期时间
|
||
if($startDate){
|
||
$startTime = strtotime($startDate);
|
||
}else{
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
if($endDate){
|
||
$endTime = strtotime($endDate);
|
||
}else{
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['create_time'] = array('between',[$startTime,$endTime]);
|
||
if($agent_username){
|
||
if($agent_username == $user_info['username']){
|
||
$where['user_id'] = $user_info['id'];
|
||
}else{
|
||
$userWhere = [];
|
||
$userWhere['username'] = $agent_username;
|
||
$userWhere['is_delete'] = 0;
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$userWhere['agent_parent_id_path'] = array('like','%,'.$user_info['id'].',%');
|
||
}else{
|
||
$userWhere['agent_parent_id_path'] = array('like','%'.$user_info['id'].',%');
|
||
}
|
||
$user = Db::connect('DB2')->name('user')->where($userWhere)->find();
|
||
if($user){
|
||
$where['user_id'] = $user['id'];
|
||
}
|
||
}
|
||
}
|
||
// 汇总金额
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$commission_list = Db::name('agent_commission_log')->alias('c')->join('cg_user u','c.user_id=u.id and (u.agent_parent_id_path like "%,'.$user_info['id'].',%" or c.user_id='.$user_info['id'].')')->where($where)->order('c.id desc')->field('c.*,u.agent_parent_id_path')->paginate(10,false,array('query'=>$get));
|
||
}else{
|
||
$commission_list = Db::name('agent_commission_log')->alias('c')->join('cg_user u','c.user_id=u.id and (u.agent_parent_id_path like "'.$user_info['id'].',%" or c.user_id='.$user_info['id'].')')->where($where)->order('c.id desc')->field('c.*,u.agent_parent_id_path')->paginate(10,false,array('query'=>$get));
|
||
}
|
||
foreach($commission_list as $k => $v){
|
||
// 信息组装
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
if($v['type'] == 1){
|
||
$v['type_msg'] = '充值上分';
|
||
}elseif($v['type'] == 2){
|
||
$v['type_msg'] = '现金结算';
|
||
}else{
|
||
$v['type_msg'] = '-';
|
||
}
|
||
|
||
// 数据格式转换
|
||
$v['amount'] = round($v['amount'],2);
|
||
$v['agent_commission'] = round($v['agent_commission'],2);
|
||
$v['money_commission'] = round($v['money_commission'],2);
|
||
|
||
$commission_list[$k] = $v;
|
||
}
|
||
// 汇总信息
|
||
$totalMoney = Db::connect('DB2')->name('agent_commission_log')->where($where)->sum('money_commission');
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$totalMoney = Db::connect('DB2')->name('agent_commission_log')->alias('c')->join('cg_user u','c.user_id=u.id and (u.agent_parent_id_path like "%,'.$user_info['id'].',%" or c.user_id='.$user_info['id'].')')->where($where)->order('c.id desc')->sum('money_commission');
|
||
}else{
|
||
$totalMoney = Db::connect('DB2')->name('agent_commission_log')->alias('c')->join('cg_user u','c.user_id=u.id and (u.agent_parent_id_path like "'.$user_info['id'].',%" or c.user_id='.$user_info['id'].')')->where($where)->order('c.id desc')->sum('money_commission');
|
||
}
|
||
|
||
// 渲染参数和模板
|
||
$this->assign('commission_list',$commission_list);
|
||
$this->assign('user_info',$user_info);
|
||
$this->assign('totalMoney',$totalMoney);
|
||
return $this->fetch();
|
||
}
|
||
// 代理抽佣
|
||
public function commission_banker(){
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if($user_info['account_type'] == 1){
|
||
return '非法请求';
|
||
}
|
||
|
||
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get',$get);
|
||
$this->assign('query',$query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
$username = Request::instance()->get('username');
|
||
$agent_username = Request::instance()->get('agent_username');
|
||
|
||
// 转换日期时间
|
||
if($startDate){
|
||
$startTime = strtotime($startDate);
|
||
}else{
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
if($endDate){
|
||
$endTime = strtotime($endDate);
|
||
}else{
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where = array();
|
||
$where['create_time'] = array('between',[$startTime,$endTime]);
|
||
if($agent_username){
|
||
if($agent_username == $user_info['username']){
|
||
$where['user_id'] = $user_info['id'];
|
||
}else{
|
||
$userWhere = [];
|
||
$userWhere['username'] = $agent_username;
|
||
$userWhere['is_delete'] = 0;
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$userWhere['agent_parent_id_path'] = array('like','%,'.$user_info['id'].',%');
|
||
}else{
|
||
$userWhere['agent_parent_id_path'] = array('like','%'.$user_info['id'].',%');
|
||
}
|
||
$user = Db::connect('DB2')->name('user')->where($userWhere)->find();
|
||
if($user){
|
||
$where['user_id'] = $user['id'];
|
||
}
|
||
}
|
||
}
|
||
// 汇总金额
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$commission_list = Db::name('agent_commission_banker_log')->alias('c')->join('cg_user u','c.user_id=u.id and (u.agent_parent_id_path like "%,'.$user_info['id'].',%" or c.user_id='.$user_info['id'].')')->where($where)->order('c.id desc')->field('c.*,u.agent_parent_id_path')->paginate(10,false,array('query'=>$get));
|
||
}else{
|
||
$commission_list = Db::name('agent_commission_banker_log')->alias('c')->join('cg_user u','c.user_id=u.id and (u.agent_parent_id_path like "'.$user_info['id'].',%" or c.user_id='.$user_info['id'].')')->where($where)->order('c.id desc')->field('c.*,u.agent_parent_id_path')->paginate(10,false,array('query'=>$get));
|
||
}
|
||
foreach($commission_list as $k => $v){
|
||
// 信息组装
|
||
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||
if($v['type'] == 1){
|
||
$v['type_msg'] = '充值上分';
|
||
}elseif($v['type'] == 2){
|
||
$v['type_msg'] = '现金结算';
|
||
}else{
|
||
$v['type_msg'] = '-';
|
||
}
|
||
|
||
// 数据格式转换
|
||
$v['amount'] = round($v['amount'],2);
|
||
$v['agent_commission'] = round($v['agent_commission'],2);
|
||
$v['money_commission'] = round($v['money_commission'],2);
|
||
|
||
$commission_list[$k] = $v;
|
||
}
|
||
// 汇总信息
|
||
$totalMoney = Db::connect('DB2')->name('agent_commission_banker_log')->where($where)->sum('money_commission');
|
||
if($user_info['agent_parent_id'] > 0){
|
||
$totalMoney = Db::connect('DB2')->name('agent_commission_banker_log')->alias('c')->join('cg_user u','c.user_id=u.id and (u.agent_parent_id_path like "%,'.$user_info['id'].',%" or c.user_id='.$user_info['id'].')')->where($where)->order('c.id desc')->sum('money_commission');
|
||
}else{
|
||
$totalMoney = Db::connect('DB2')->name('agent_commission_banker_log')->alias('c')->join('cg_user u','c.user_id=u.id and (u.agent_parent_id_path like "'.$user_info['id'].',%" or c.user_id='.$user_info['id'].')')->where($where)->order('c.id desc')->sum('money_commission');
|
||
}
|
||
|
||
// 渲染参数和模板
|
||
$this->assign('commission_list',$commission_list);
|
||
$this->assign('user_info',$user_info);
|
||
$this->assign('totalMoney',$totalMoney);
|
||
return $this->fetch();
|
||
}
|
||
|
||
/**
|
||
* 游戏报表
|
||
* @return string
|
||
* DateTime: 2019/8/26 17:14
|
||
*/
|
||
public function win_total(){
|
||
$langType = cookie('think_var');
|
||
$lang = Lang::get('agent');
|
||
$jsonlang = json_encode($lang);
|
||
|
||
$this->assign('langType',$langType);
|
||
$this->assign('lang',$lang);
|
||
$this->assign('jsonlang',$jsonlang);
|
||
// 登录用户信息
|
||
$user_info = Session::get('user_info');
|
||
$account_type = $user_info['account_type'];
|
||
$user_info = Db::connect('DB2')->name('user')->where('id',$user_info['id'])->find();
|
||
$user_info['account_type'] = $account_type;
|
||
if($user_info['account_type'] == 1){
|
||
return $lang['illegal_request'];
|
||
}
|
||
// 用于分页和搜索查询的数据
|
||
$get = Request::instance()->get();
|
||
$query = http_build_query($get);
|
||
$this->assign('get',$get);
|
||
$this->assign('query',$query);
|
||
|
||
// 接收参数
|
||
$startDate = Request::instance()->get('startDate');
|
||
$endDate = Request::instance()->get('endDate');
|
||
// 转换日期时间
|
||
if($startDate){
|
||
$startTime = strtotime($startDate);
|
||
}else{
|
||
$startTime = strtotime(date('Y-m-d'));
|
||
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
if($endDate){
|
||
$endTime = strtotime($endDate);
|
||
}else{
|
||
$endTime = time();
|
||
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
|
||
$this->assign('get',$get);
|
||
}
|
||
|
||
// 拼装搜索条件
|
||
$where['user_id'] = ['>',TEST_PLAYER];
|
||
|
||
if($user_info['agent_parent_id'] > 0){//非一级代理
|
||
$sqlWhere = 'agent_parent_id_path like "%,'.$user_info['id'].',%" or user_id='.$user_info['id'];
|
||
}else{//一级代理
|
||
$sqlWhere = 'agent_parent_id_path like "'.$user_info['id'].',%" or user_id='.$user_info['id'];
|
||
}
|
||
|
||
$where['create_time'] = array('between',[$startTime,$endTime]);
|
||
$where['status'] = 1;
|
||
$betList = Db::connect('DB2')->name('bet')->where($where)->where($sqlWhere)->select();
|
||
//1-百家乐,2-龙虎, 4-牛牛 5-三宝
|
||
$win_total = $maliang_total = 0;
|
||
$data = [
|
||
'baccarat_win'=>0,
|
||
'dt_win'=>0,
|
||
'bull_win'=>0,
|
||
'sanka_win'=>0,
|
||
'color_plate_win'=>0,
|
||
'sic_bo_win'=>0,
|
||
'roulette_win'=>0,
|
||
];
|
||
foreach($betList as $key=>$bet){
|
||
if(in_array($bet['game_id'],[1,2,4,5,6,7,8])){
|
||
//统计马量
|
||
$maliang_total += Db::connect('DB2')->name('xima')->where(['bet_id'=>$bet['id'],'user_id'=>$bet['user_id']])->sum('bet_maliang');
|
||
//统计总赢
|
||
$win_total +=$bet['win_total'];
|
||
//统计单个游戏总赢
|
||
switch($bet['game_id']){
|
||
case 1:
|
||
$data['baccarat_win'] += $bet['win_total'];break;
|
||
case 2:
|
||
$data['dt_win'] += $bet['win_total'];break;
|
||
case 4:
|
||
$data['bull_win'] += $bet['win_total'];break;
|
||
case 5:
|
||
$data['sanka_win'] += $bet['win_total'];break;
|
||
case 6:
|
||
$data['color_plate_win'] += $bet['win_total'];break;
|
||
case 7:
|
||
$data['sic_bo_win'] += $bet['win_total'];break;
|
||
case 8:
|
||
$data['roulette_win'] += $bet['win_total'];break;
|
||
}
|
||
}
|
||
}
|
||
|
||
// 所有下级
|
||
if($user_info['agent_parent_id'] > 0){//非一级代理
|
||
$sqlWhere = 'agent_parent_id_path like "%,'.$user_info['id'].',%" or id='.$user_info['id'];
|
||
}else{//一级代理
|
||
$sqlWhere = 'agent_parent_id_path like "'.$user_info['id'].',%" or id='.$user_info['id'];
|
||
}
|
||
$userWhere = [];
|
||
$userWhere['id'] = ['>',TEST_PLAYER];
|
||
$userNames = Db::connect('DB2')->name('user')->where($userWhere)->where($sqlWhere)->column('username');
|
||
// 棋牌总赢
|
||
$qpWhere = [];
|
||
$qpWhere['userName'] = array('in',$userNames);
|
||
$qpWhere['createTime'] = array('between',[$startTime,$endTime]);
|
||
$data['qp_win'] = Db::connect('DB2')->name('game_log')->where($qpWhere)->sum('gold');
|
||
$win_total += $data['qp_win'];
|
||
|
||
$this->assign('win_total',$win_total);
|
||
$this->assign('maliang_total',$maliang_total);
|
||
$this->assign('data',$data);
|
||
// 渲染参数和模板
|
||
return $this->fetch();
|
||
|
||
}
|
||
|
||
}
|