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'] .= ')
'; } 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'] = ' (充值-送分)'; }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(); } }