all(), [ 'word' => 'integer', 'startTime' => 'date', 'endTime' => 'date', ]); if ($validator->fails()) { return showJsonErr($validator->errors()->first()); } if (Admin()->is_frontend == 1) { return showJsonErr('抱歉,您没有权限查看该列表'); } // \DB::enableQueryLog(); $user = \DB::table('user_withdraw as up') ->join('user as u', 'u.id', '=', 'up.uid') ->leftJoin('user_bank as b','up.bank_number','=','b.bank_number') ->select([ 'up.id', 'up.uid', 'u.mobile', 'up.money', 'up.bank_name', 'up.bank_number', 'up.status', 'up.created_at', 'b.username' ]) ->orderByDesc('up.id'); // 如果是地区管理员,则不显示同等级的用户信息 if (\Auth::user()->is_super == 3) { $user->whereIn('u.id', getIds()); } // 时间查询 if (!empty($param['startTime']) && !empty($param['endTime'])) { $user->whereBetween('up.created_at', [$param['startTime'], $param['endTime']]); } else if (!empty($param['endTime']) && empty($param['startTime'])) { $user->where('up.created_at', '<', $param['endTime']); } else if (empty($param['endTime']) && !empty($param['startTime'])) { $user->where('up.created_at', '>', $param['endTime']); } //状态查询 if(isset($param['status'])&&is_numeric($param['status'])){ $user->where('up.status','=',$param['status']); } // 关键词查询 if (!empty($param['word'])) { $user->where(function ($q)use ($param){ $q->where('up.uid','=',$param['word']) ->orWhere('u.mobile','like','%'.$param['word'].'%'); }); //$user->where(\DB::raw("concat(up.uid,u.mobile)"), 'like', "%{$param['word']}%"); } $user->groupBy('up.id'); //echo $user->toSql();exit; $res = $user->paginate(perPage()); if ($res->isNotEmpty()) { collect($res->items())->each(function ($item, $key) { }); } // dd(\DB::connection()->getQueryLog(), $param); return showJsonSucc(1001, $res); } /** * 审核提现 * @author lyh * @date 2019/4/10 * @param Request $request * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response * @throws \Exception * @description */ public function audit(Request $request) { $validator = \Validator::make($param = $request->all(), [ 'ids' => 'required|array', 'status' => 'required|integer|in:1,2', //'audit_remark' => 'required_if:status,2' ]); if ($validator->fails()) { return showJsonErr($validator->errors()->first()); } if($param['status']==2 && empty($param['audit_remark'])){ return showJsonErr('请输入不通过原因'); } if (Admin()->is_frontend == 1) { return showJsonErr('抱歉,您没有权限操作'); } \DB::beginTransaction(); try { foreach ($param['ids'] as $id) { $userWithdraw = UserWithdraw::find($id); if (empty($userWithdraw)) { return showJsonErr("抱歉,【id:{$id}】不存在"); } if ($userWithdraw->status != 0) { \DB::rollBack(); return showJsonErr("抱歉,提现记录【id:{$id}】不是待审核状态"); } // 修改提现状态 $modifyData = ['status' => $param['status']]; if (!empty($param['audit_remark'])) { $modifyData['audit_remark'] = $param['audit_remark']; } UserWithdraw::whereId($id)->update($modifyData); $msg_content=MsgTemplate::getTemplateContent(12); $msgarr=['title'=>'提现审核通知','uid'=>$userWithdraw->uid,'type'=>2,'content'=>$msg_content]; //退款 edit by wsl if ($param['status'] == 2) { User::whereId($userWithdraw->uid)->increment('balance', $userWithdraw->money); $msg_content=MsgTemplate::getTemplateContent(13); $msgarr=['title'=>'提现审核通知','uid'=>$userWithdraw->uid,'type'=>2,'content'=>$msg_content]; // 提现添加流水记录 $remark = "管理员拒绝提现申请,提现金额¥{$userWithdraw->money}已返回余额"; $result = AccountLog::insert([ 'uid' => $userWithdraw->uid, 'type' => 1, 'money_type' => 2, 'money' => (abs($userWithdraw->money)), 'current_money' => User::find($userWithdraw->uid)->balance, 'remark' => $remark ]); if (empty($result)) { \DB::rollBack(); return showJsonErr('添加账号流水失败'); } } UserMsg::SendGetui($msgarr); } \DB::commit(); return showJsonSucc('审核成功'); } catch (\Exception $e) { \DB::rollBack(); return showJsonErr($e->getMessage()); } } /** * 获取用户提现记录 * @author lyh * @date 2019/4/9 * @modify_author lyh * @modify_time 2019-4-26 12:22:47 * @modify 确认已区分系统管理员与地区管理员权限 * @param Request $request * @description */ public function getListByUid(Request $request) { $validator = \Validator::make($param = $request->all(), [ 'id' => 'required|exists:user,id' ]); if ($validator->fails()) { return showJsonErr($validator->errors()->first()); } // 区分系统管理员与地区管理员数据 if (\Auth::user()->is_super == 3 && !in_array(Admin()->id, getIds())) { return showJsonErr('抱歉,您没有权限查看该用户信息'); } $uw = UserWithdraw::whereUid($param['id'])->select(['money', 'created_at'])->orderBy('created_at','desc'); $result=$uw->paginate(perPage()); return showJsonSucc(1001, $result); } /* * 导出提现记录 wsl * 20190725 * * */ public function outputToExcel(Request $request){ $param=$request->all(); if (Admin()->is_frontend == 1) { return showJsonErr('抱歉,您没有权限导出该列表'); } // \DB::enableQueryLog(); $user = \DB::table('user_withdraw as up') ->join('user as u', 'u.id', '=', 'up.uid') ->join('user_bank as b','up.bank_number','=','b.bank_number') ->select([ 'up.id', 'up.uid', 'u.mobile', 'up.money', 'up.bank_name', 'up.bank_number', 'up.status', 'up.created_at', 'b.username' ]) ->orderByDesc('up.id'); // 如果是地区管理员,则不显示同等级的用户信息 if (\Auth::user()->is_super == 3) { $user->whereIn('u.id', getIds()); } // 时间查询 if(!empty($param['startTime'])){ $user->where('up.created_at','>',$param['startTime']); } if(!empty($param['endTime'])){ $user->where('up.created_at','<',$param['endTime']); } //状态查询 if(isset($param['status'])&&is_numeric($param['status'])){ $user->where('up.status','=',$param['status']); } // 关键词查询 if (!empty($param['word'])) { $user->where(function ($q)use ($param){ $q->where('up.uid','=',$param['word']) ->orWhere('u.mobile','like','%'.$param['word'].'%'); }); //$user->where(\DB::raw("concat(up.uid,u.mobile)"), 'like', "%{$param['word']}%"); } $user->groupBy('up.id'); $list=$user->get(); //$filename=\Auth::user()->mobile.'提现记录'; $filename=\Auth::user()->mobile.'提现记录'; $phpexcel=new \PHPExcel(); $phpexcel->getProperties() ->setTitle($filename); $lines=[ 'A'=>['title'=>'申请人ID','width'=>10], 'B'=>['title'=>'手机号','width'=>20], 'C'=>['title'=>'提现金额','width'=>15], 'D'=>['title'=>'收款人姓名','width'=>20], 'E'=>['title'=>'收款人账号','width'=>30], 'F'=>['title'=>'开户银行名称','width'=>30], 'G'=>['title'=>'申请日期','width'=>20], 'H'=>['title'=>'审核状态','width'=>10], ]; $objtitle=$phpexcel->setActiveSheetIndex(0); foreach($lines as $k=>$v){ $phpexcel->getActiveSheet()->getColumnDimension($k)->setWidth($v['width']); $objtitle->setCellValue($k.'1',$v['title']); } //填入数据 $i=0; foreach($list as $key=>$item){ $statusstr=''; switch($item->status){ case 0:$statusstr='待审核';break; case 1:$statusstr='审核通过';break; case 2:$statusstr='拒绝';break; } $itemvalues=[ 'A'=>$item->uid, 'B'=>$item->mobile, 'C'=>$item->money, 'D'=>$item->username, 'E'=>$item->bank_number."\t", 'F'=>$item->bank_name, 'G'=>$item->created_at, 'H'=>$statusstr ]; foreach($lines as $kk=>$vv){ $phpexcel->getActiveSheet(0)->setCellValue($kk.($i+2),$itemvalues[$kk]); } $i++; } $phpexcel->setActiveSheetIndex(0); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="' . @date('Y-m-d H:i:s') . '提现记录.xls"'); header('Cache-Control: max-age=0'); $objWriter = \PHPExcel_IOFactory::createWriter($phpexcel, 'Excel2007'); $objWriter->save('php://output'); /* $obj=\PHPExcel_IOFactory::createWriter($phpexcel,'Excel2007'); $savepath=base_path().'/excel/'.$filename.'.xlsx'; $obj->save($savepath); $r=file_exists($savepath); if($r){ return showJsonSucc('导出文件成功',['url'=>$savepath]); }else{ return showJsonErr('导出文件失败'); }*/ } }