From 0575f450d2a8ef4f87e949c9b3504f78f2c61763 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Tue, 25 Jan 2022 17:51:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=93=E6=AC=BE=E5=8D=95?= =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Grid/Exports/DealerWalletWithdraw.php | 44 +++++++++++++++ .../DealerWalletToBankLogController.php | 55 +++++++++++++++++++ app/Admin/Controllers/OrderController.php | 2 +- .../Controllers/ProductSpuController.php | 2 +- app/Admin/routes.php | 1 + app/Models/DealerWalletToBankLog.php | 5 ++ 6 files changed, 107 insertions(+), 2 deletions(-) create mode 100644 app/Admin/Actions/Grid/Exports/DealerWalletWithdraw.php diff --git a/app/Admin/Actions/Grid/Exports/DealerWalletWithdraw.php b/app/Admin/Actions/Grid/Exports/DealerWalletWithdraw.php new file mode 100644 index 00000000..34d0754b --- /dev/null +++ b/app/Admin/Actions/Grid/Exports/DealerWalletWithdraw.php @@ -0,0 +1,44 @@ +title) { + return $this->title; + } + return ' 导出打款单  '; + } + + /** + * @param Model|Authenticatable|HasPermissions|null $user + * + * @return bool + */ + protected function authorize($user): bool + { + return $user->can('dcat.admin.dealer_wallet_to_bank_logs.export'); + } + + /** + * Handle the action request. + * + * @param Request $request + * + * @return Response + */ + public function handle(Request $request) + { + $last_path_arr = parse_url(session('admin.prev.url')); + return $this->response()->download(admin_route('dealer_wallet_to_bank_logs.export').'?'.$last_path_arr['query']); + } +} diff --git a/app/Admin/Controllers/DealerWalletToBankLogController.php b/app/Admin/Controllers/DealerWalletToBankLogController.php index 255276e9..23b30b47 100644 --- a/app/Admin/Controllers/DealerWalletToBankLogController.php +++ b/app/Admin/Controllers/DealerWalletToBankLogController.php @@ -2,15 +2,18 @@ namespace App\Admin\Controllers; +use App\Admin\Actions\Grid\Exports\DealerWalletWithdraw; use App\Admin\Actions\Show\DealerWalletPay; use App\Admin\Actions\Show\DealerWalletRefuse; use App\Admin\Repositories\DealerWalletToBankLog; use App\Models\DealerWalletToBankLog as DealerWalletToBankLogModel; +use Box\Spout\Writer\Common\Creator\WriterEntityFactory; use Dcat\Admin\Admin; use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Show; +use Illuminate\Http\Request; class DealerWalletToBankLogController extends AdminController { @@ -23,6 +26,9 @@ class DealerWalletToBankLogController extends AdminController { $builder = DealerWalletToBankLog::with(['user']); return Grid::make($builder, function (Grid $grid) { + $grid->tools(function (Grid\Tools $tools) { + $tools->append(new DealerWalletWithdraw()); + }); $grid->column('id')->sortable(); $grid->column('user.phone'); $grid->column('amount')->prepend('¥'); @@ -169,4 +175,53 @@ class DealerWalletToBankLogController extends AdminController $form->display('updated_at'); }); } + + public function export(Request $request) + { + return response()->streamDownload(function () use ($request) { + $writer = WriterEntityFactory::createXLSXWriter(); + $writer->openToBrowser('打款单'.date('Ymd').'.xlsx'); + $writer->addRow(WriterEntityFactory::createRowFromArray([ + '提现手机号', '打款金额', '收款人', '收款银行', '收款账号', '开户行', '提现时间', + ])); + $query = DealerWalletToBankLogModel::with('dealer', 'user'); + foreach ($request->input() as $key => $value) { + dump($key); + switch ($key) { + case 'created_at': + $query->whereBetween('created_at', $value); + break; + case 'status': + if ($value) { + $query->where('status', $value); + } + break; + case 'user': + if (is_array($value)) { + foreach ($value as $kk =>$vv) { + $query->whereHas($key, function ($q) use ($kk, $vv) { + if ($vv) { + $q->where($kk, $vv); + } + }); + } + } + break; + } + } + foreach ($query->cursor() as $log) { + $payInfo = $log->getPayInfo(); + $writer->addRow(WriterEntityFactory::createRowFromArray([ + $log->user->phone, + $log->account_amount, + $payInfo ? $payInfo['bank']['user_name'] : '', + $payInfo ? $payInfo['bank']['bank_name'] : '', + $payInfo ? $payInfo['bank']['bank_number'] : '', + $payInfo ? $payInfo['bank']['bank_description'] : '', + $log->created_at->toDateTimeString(), + ])); + }; + $writer->close(); + }); + } } diff --git a/app/Admin/Controllers/OrderController.php b/app/Admin/Controllers/OrderController.php index 7b15f7a6..5829f118 100644 --- a/app/Admin/Controllers/OrderController.php +++ b/app/Admin/Controllers/OrderController.php @@ -429,7 +429,7 @@ class OrderController extends AdminController { return response()->streamDownload(function () { $writer = WriterEntityFactory::createXLSXWriter(); - $writer->openToBrowser('测试'.date('Ymd').'.xlsx'); + $writer->openToBrowser('发货单'.date('Ymd').'.xlsx'); $writer->addRow(WriterEntityFactory::createRowFromArray([ '订单编号', '下单手机号', '商品编号', '商品名称', '数量', '姓名', '电话', '地址', '下单时间', '快递公司', '发货单号', '发货数量', diff --git a/app/Admin/Controllers/ProductSpuController.php b/app/Admin/Controllers/ProductSpuController.php index 5153553a..655a0060 100644 --- a/app/Admin/Controllers/ProductSpuController.php +++ b/app/Admin/Controllers/ProductSpuController.php @@ -77,7 +77,7 @@ class ProductSpuController extends AdminController /** 查询 **/ $grid->filter(function (Grid\Filter $filter) { $filter->panel(); - $filter->equal('name')->width(3); + $filter->like('name')->width(3); }); }); } diff --git a/app/Admin/routes.php b/app/Admin/routes.php index aef9396d..b16a055f 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -187,6 +187,7 @@ Route::group([ $router->get('dealer-purchase-logs', 'DealerPurchaseLogController@index')->name('dealer_purchase_logs.index'); //批零余额提现 + $router->get('dealer-wallet-to-bank-logs/export', 'DealerWalletToBankLogController@export')->name('dealer_wallet_to_bank_logs.export'); $router->resource('dealer-wallet-to-bank-logs', 'DealerWalletToBankLogController')->only([ 'index', 'show', ])->names('dealer_wallet_to_bank_logs'); diff --git a/app/Models/DealerWalletToBankLog.php b/app/Models/DealerWalletToBankLog.php index d2c8e8a7..e440c421 100644 --- a/app/Models/DealerWalletToBankLog.php +++ b/app/Models/DealerWalletToBankLog.php @@ -37,6 +37,11 @@ class DealerWalletToBankLog extends Model return $this->belongsTo(User::class); } + public function dealer() + { + return $this->belongsTo(Dealer::class, 'user_id', 'user_id'); + } + /** * 待打款状态 *