input('phone') ); $name = trim( $request->input('name') ); $page = (int)$request->input('page'); $pageSize = 20; if($page<=0){ $page = 1; } $offset = ($page-1) * $pageSize; $count = CustomerInfo::where(function($query) use($phone, $name, $admin_id){ if($phone) $query->where('phone', $phone); if($name) $query->where('name', 'like', '%'. $name. '%'); if($admin_id) $query->where('admin_id', $admin_id); })->count(); if ($count > 1) { // 总页数 $pages = ceil($count/$pageSize); }else{ // 总页数 $pages = 1; } $result = CustomerInfo::where(function($query) use($phone, $name, $admin_id){ if($phone) $query->where('phone', $phone); if($name) $query->where('name', 'like', '%'. $name. '%'); if($admin_id) $query->where('admin_id', $admin_id); })->orderBy('id', 'desc')->offset($offset)->limit($pageSize)->get(); $result = json_decode(json_encode($result),true); foreach($result as $k=>&$v){ $v['phonei'] = substr($v['phone'],0,3).'****'.substr($v['phone'],7); } return view('deposit/customerList', ['result' =>$result, 'page' =>$page, 'count' =>$count, 'pages' =>$pages, 'phone' =>$phone, 'name' =>$name, ]); } /** * @return \Illuminate\View\View */ public function index(Request $request) { $phone = $request->input('phone'); $page = (int)$request->input('page'); $pageSize = 20; if($page<=0){ $page = 1; } $offset = ($page-1) * $pageSize; $count = CustomerDeposit::where(function($query) use($phone){ if($phone) $query->where('phone', $phone); })->where('is_del',0)->count(); if ($count > 1) { // 总页数 $pages = ceil($count/$pageSize); }else{ // 总页数 $pages = 1; } $result = CustomerDeposit::where(function($query) use($phone){ if($phone) $query->where('phone', $phone); })->where('is_del',0)->orderBy('pay_time', 'desc')->offset($offset)->limit($pageSize)->get(); $result = json_decode(json_encode($result),true); foreach($result as $k=>&$v){ $v['phone'] = substr($v['phone'],0,3).'****'.substr($v['phone'],7); } return view('deposit/index', ['result' =>$result, 'page' =>$page, 'count' =>$count, 'pages' =>$pages, 'phone' =>$phone ]); } /** * @return \Illuminate\View\View */ public function create(Request $request) { $phone = $request->input('phone'); //查询套餐 $packages = CustomerDepositPackages::where('is_del', 0)->orderBy('pay_amount', 'asc')->get(); $phonei = substr($phone,0,3).'****'.substr($phone,7); return view('deposit/create', ['packages'=>$packages, 'phone'=>$phone, 'phonei'=>$phonei]); } /** * @param Request $request * @return \Illuminate\Http\RedirectResponse */ public function store(Request $request) { $pay_money = $request->input('pay_money'); $pack_required = 'required'; if($pay_money>0){ $pack_required = ''; } $this->validate($request, [ 'phone' => 'required', 'package_id' => $pack_required, 'pay_time' => 'required', ], [ 'phone.required' => '手机号不能为空', 'package_id.required' => '必须选择套餐', 'pay_time.required' => '充值时间必须选择', ]); $admin_id = session('admin_id'); $deposit = new CustomerDeposit(); $deposit->phone = $request->input('phone'); $deposit->admin_id = $admin_id; $deposit->pay_time = $request->input('pay_time'); if($pay_money>0){ //自定义充值 $deposit->pay_amount = $pay_money; $deposit->discount = 0; $deposit->deposit_amount = $pay_money; $deposit->note = '自定义充值'; }else{ $package_id = (int)$request->input('package_id'); $package_info = CustomerDepositPackages::where('id', $package_id)->first(); $deposit->pay_amount = $package_info->pay_amount; $deposit->discount = $package_info->discount; $deposit->deposit_amount = $deposit->pay_amount + $deposit->discount; $deposit->note = $package_info->note; } if($deposit->save()){ //变更余额 $name = trim( $request->input('name') ); $customerInfo = CustomerInfo::where('phone', $deposit->phone)->first(); if(!empty($customerInfo)){ $customerInfo->balance = $customerInfo->balance + $deposit->deposit_amount; $customerInfo->deposit_total = $customerInfo->deposit_total + $deposit->deposit_amount; $customerInfo->deposit_times = $customerInfo->deposit_times + 1; $customerInfo->save(); }else{ $customerInfo = new CustomerInfo(); $customerInfo->phone = $deposit->phone; $customerInfo->deposit_times = 1; $customerInfo->balance = $deposit->deposit_amount; $customerInfo->deposit_total = $deposit->deposit_amount; if(!empty($name)) $customerInfo->name = $name; $customerInfo->admin_id = $admin_id; $customerInfo->save(); } } return redirect('/admin/deposit/index?phone='.$deposit->phone)->with('info', '添加成功'); } /** * @param $id * @return \Illuminate\View\View */ public function edit($id) { $deposit = CustomerDeposit::findOrFail($id); return view('deposit/edit', ['deposit' => $deposit, 'id'=>$id]); } /** * @param Request $request * @return \Illuminate\Http\RedirectResponse */ public function update(Request $request) { $id = (int)$request->input('id'); $this->validate($request, [ 'phone' => 'required', 'pay_amount' => 'required', 'discount' => 'required', ], [ 'phone.required' => '手机号不能为空', 'pay_amount.required' => '参数有误', 'discount.required' => '参数有误', ]); $template = Templates::findOrFail($id); $template->url = trim($request->input('url')); $template->note = trim($request->input('note')); //图片上传 阿里云oss if ($request->hasFile('img') && $request->file('img')->isValid()) { $file = $request->file('img'); $ossClient=new oss(); // 上传阿里云 $file = $ossClient->upload($file->getClientOriginalExtension(), $file->getRealPath(), 'upload/seafoodPic'.date("Y-m-d",time()).'/'.date('His')); $img=$file['oss-request-url']; $template->img=str_replace("kx-youhuiquan.oss-cn-beijing.aliyuncs.com","imgs.726p.com",$img); } $template->save(); return redirect('/admin/template/index')->with('info', '修改模板成功'); } //获余额 public function getBalance($phone){ $result = CustomerInfo::where('phone', $phone)->pluck('balance'); if(empty($result)){ exit('0'); } exit($result); } /** * @return \Illuminate\View\View */ public function consumList(Request $request) { $phone = $request->input('phone'); $page = (int)$request->input('page'); $pageSize = 20; if($page<=0){ $page = 1; } $offset = ($page-1) * $pageSize; $count = CustomerConsum::where(function($query) use($phone){ if($phone) $query->where('phone', $phone); })->where('is_del',0)->count(); if ($count > 1) { // 总页数 $pages = ceil($count/$pageSize); }else{ // 总页数 $pages = 1; } $result = CustomerConsum::where(function($query) use($phone){ if($phone) $query->where('phone', $phone); })->where('is_del',0)->orderBy('id', 'desc')->offset($offset)->limit($pageSize)->get(); $result = json_decode(json_encode($result),true); foreach($result as $k=>&$v){ $v['phone'] = substr($v['phone'],0,3).'****'.substr($v['phone'],7); } return view('deposit/consumList', ['result' =>$result, 'page' =>$page, 'count' =>$count, 'pages' =>$pages, 'phone' =>$phone ]); } }