get(); $query = http_build_query($get); $this->assign('get',$get); $this->assign('query',$query); // 接收搜索的条件信息 $username = Request::instance()->get('username'); $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); } if($endDate){ $endTime = strtotime($endDate); }else{ $endTime = time(); $get['endDate'] = date('Y-m-d H:i:s',$endTime); } $this->assign('get',$get); // 拼装搜索条件 $where = array(); if(!empty($username)) $where['username'] = $username; $where['is_delete'] = 0; $where['agent'] = 1; $where['agent_parent_id'] = 0; // 获取所有代理信息 $agent_list = Db::name('user')->where($where)->order('id desc')->paginate(10,false,array('query'=>$get)); // 数据查询条件 $sumWhere = array(); $sumWhere['create_time'] = array('between',[$startTime,$endTime]); foreach($agent_list AS $k => $v){ $sumWhere['user_id'] = $v['id']; $sumWhere['status'] = 1; //洗码量 $v['totalXimaliang'] = Db::name('xima')->where($sumWhere)->sum('ximaliang'); //码量 $v['maliang'] = Db::name('xima')->where($sumWhere)->sum('maliang'); //已结码量 $v['checkoutMaliang'] = Db::name('xima')->where($sumWhere)->where(array('is_checkout' => 1))->sum('maliang'); //未结码量 $v['noCheckoutMaliang'] = Db::name('xima')->where(array('user_id'=>$v['id'],'is_checkout' => 0))->sum('maliang'); //最后结算时间 if($v['last_xima_time'] > 0){ $v['last_xima_time'] = date('Y-m-d H:i:s',$v['last_xima_time']); }else{ $v['last_xima_time'] = '-'; } $agent_list[$k] = $v; } // 渲染变量和模板 $this->assign('agent_list',$agent_list); return $this->fetch(); } //处理洗码 public function do_xima(){ $result = array(); $user_info = Session::get('user_info'); if(Request::instance()->post() && intval(Request::instance()->post('user_id')) > 0){ $user_id = intval(Request::instance()->post('user_id')); $find = Db::name('user')->where(array('id' => $user_id, 'status' => 1, 'is_delete' => 0))->find(); if(!$find){ $result['errorCode'] = 1; $result['errorMessage'] = '账号处于非正常状态,请确保账号正常再进行操作'; die(json_encode($result)); } if($find['agent_parent_id'] > 0) { $result['errorCode'] = 1; $result['errorMessage'] = '不允许洗码。请联系其经纪人为其洗码。'; die(json_encode($result)); } $ximaliang_unbalanced = Db::name('xima')->where(array('status' => 1, 'user_id' => $user_id, 'is_checkout' => 0))->sum('ximaliang'); $maliang_unbalanced = Db::name('xima')->where(array('status' => 1, 'user_id' => $user_id, 'is_checkout' => 0))->sum('maliang'); if($maliang_unbalanced > 0){ //防止重复提交 $allowSubmit = Session::get('allowSubmit'); if($allowSubmit == 'YES'){ Session::delete('allowSubmit'); }else{ Session::delete('allowSubmit'); die(json_encode(['errorCode' => 1, 'errorMessage' => "请勿重复提交"])); } //查找下边的会员 $uodateRusult = Db::name('xima')->where(array('status' => 1, 'user_id' => $user_id, 'is_checkout' => 0))->update(array('is_checkout' => 1,'checkout_time' => time())); if($uodateRusult){ //记录到洗码日志 $insertData = array(); $insertData['user_id'] = $user_id; $insertData['username'] = $find['username']; $insertData['ximaliang'] = $ximaliang_unbalanced; $insertData['maliang'] = $maliang_unbalanced; if($find['type_xima'] == 1){ $insertData['agent_ximalv'] = $find['agent_ximalv'].'/'.$find['agent_ximalv_dt'].'/'.$find['agent_ximalv_nn']; }elseif($user['type_xima'] == 2){ $insertData['agent_ximalv'] = $find['agent_ximalv_single'].'/'.$find['agent_ximalv_dt_single'].'/'.$find['agent_ximalv_nn_single']; }else{ $insertData['agent_ximalv'] = '0/0/0'; } $insertData['create_time'] = time(); $insertData['old_money'] = 0; $insertData['new_money'] = 0; $insertData['admin_id'] = $user_info['id']; $insertData['admin_username'] = $user_info['admin']; $insertData['admin_or_agent'] = 1; Db::name('xima_log')->insert($insertData); //上分表增加记录 $rechargeData = array(); $rechargeData['type'] = 2; $rechargeData['amount'] = $maliang_unbalanced; $rechargeData['mode'] = 1; $rechargeData['agent_or_admin'] = 1; $rechargeData['user_id'] = $user_id; $rechargeData['user_type'] = $find['agent']; $rechargeData['user_agent_level'] = $find['agent_level']; $rechargeData['username_for'] = $find['username']; $rechargeData['nickname_for'] = $find['nickname']; $rechargeData['user_parent_id'] = $find['agent_parent_id']; $rechargeData['admin_id'] = $user_info['id']; $rechargeData['admin_user_name'] = $user_info['admin']; $rechargeData['create_time'] = time(); $rechargeData['old_money'] = $find['money']; $rechargeData['new_money'] = $find['money']; $rechargeData['remake'] = '总后台操作洗码'; Db::name('recharge')->insert($rechargeData); Db::name('user')->where(array('id' => $user_id))->update(array('last_xima_time' => time())); } $result['errorCode'] = 0; $result['errorMessage'] = '洗码成功'; die(json_encode($result)); }else{ $result['errorCode'] = 1; $result['errorMessage'] = '洗码数目必须大于0'; die(json_encode($result)); } }else{ $result['errorCode'] = 1; $result['errorMessage'] = 'ERROR'; die(json_encode($result)); } } public function xima_check(){ // 接收分页的条件 $get = Request::instance()->get(); $query = http_build_query($get); $this->assign('query',$query); // 接收搜索条件 $startDate = Request::instance()->get('startDate'); $endDate = Request::instance()->get('endDate'); $export = Request::instance()->get('export'); $admin_or_agent = intval(Request::instance()->get('admin_or_agent')); // 时间条件 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); } $this->assign('get',$get); // 拼装搜索条件 $where = array(); $where['create_time'] = array('between',[$startTime,$endTime]); if($admin_or_agent > 0) $where['admin_or_agent'] = $admin_or_agent; if($export == 1){ $xima_list = Db::name('xima_log')->where($where)->order('create_time desc')->select(); }else{ // 所有的洗码记录 $xima_list = Db::name('xima_log')->where($where)->order('create_time desc')->paginate(10,false,array('query'=>$get)); } foreach($xima_list as $k => $v){ // 操作人 if($v['admin_or_agent'] == 1 ){ $v['connection_username'] = $v['admin_username']; $v['admin_or_agent_msg'] = '总台操作'; }else{ $v['admin_or_agent_msg'] = '代理操作'; } // 数据格式转换 $v['ximaliang'] = round($v['ximaliang'],2); $v['maliang'] = round($v['maliang'],2); $user = Db::name('user')->where('id',$v['user_id'])->find(); $v['agent_ximalv'] = round($user['agent_ximalv'],2).'/'.round($user['agent_ximalv_dt'],2).'/'.round($user['agent_ximalv_nn'],2); $v['create_time'] = date('Y-m-d H:i:s',$v['create_time']); $xima_list[$k] = $v; } //导出excel列表 if($export == 1){ if($xima_list){ //重新组合 $excelData = array(); foreach($xima_list AS $k => $v){ $excelData[$k][0] = $v['username']; $excelData[$k][1] = $v['agent_ximalv']; $excelData[$k][2] = $v['ximaliang']; $excelData[$k][3] = $v['maliang']; $excelData[$k][4] = $v['connection_username']; $excelData[$k][5] = $v['create_time']; $excelData[$k][6] = $v['admin_or_agent_msg']; } $title = array('账号','洗码率(百/龙/牛)%','洗码量','洗码费','操作人','洗码时间','备注'); if($startDate && $endDate){ $this->exportExcelCore($excelData, '洗码记录-'.$startDate."-".$endDate, $title); }else{ $this->exportExcelCore($excelData, '洗码记录', $title); } exit('已导出支持列表,请不要重复刷新该页面!'); }else{ exit('没有可以导出的列表!'); } } // 渲染参数和模板 $this->assign('xima_list',$xima_list); return $this->fetch(); } }