From fd5b3b099880e7d4a047d6dc2bfe9f5740c20e66 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Mon, 24 Jan 2022 13:48:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=94=A8=E6=88=B7=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=8A=A8=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AfterSaleController.php | 6 +-- app/Admin/Controllers/UserController.php | 41 ++++++++++++++++++- database/seeders/AdminPermissionSeeder.php | 2 +- 3 files changed, 44 insertions(+), 5 deletions(-) diff --git a/app/Admin/Controllers/AfterSaleController.php b/app/Admin/Controllers/AfterSaleController.php index 3a51b81d..3ca7ef3b 100644 --- a/app/Admin/Controllers/AfterSaleController.php +++ b/app/Admin/Controllers/AfterSaleController.php @@ -190,10 +190,10 @@ class AfterSaleController extends AdminController ->tools(function (Show\Tools $tools) use ($show) { $tools->disableEdit(); $tools->disableDelete(); - if ($show->model()->state == AfterSaleModel::STATE_VERIFY) { + if ($show->model()->state == AfterSaleModel::STATE_VERIFY && Admin::user()->can('dcat.admin.after_sales.verify')) { $tools->append(new AfterSaleVerify()); } - if ($show->model()->state == AfterSaleModel::STATE_SHIPPING) { + if ($show->model()->state == AfterSaleModel::STATE_SHIPPING && Admin::user()->can('dcat.admin.after_sales.shipping')) { //拒绝确认收货 $tools->append(new AfterSaleShippingFail()); if ($show->model()->type == AfterSaleModel::TYPE_FILL) { @@ -204,7 +204,7 @@ class AfterSaleController extends AdminController $tools->append(new AfterSaleShipping()); } } - if ($show->model()->state == AfterSaleModel::STATE_FINANCE) { + if ($show->model()->state == AfterSaleModel::STATE_FINANCE && Admin::user()->can('dcat.admin.after_sales.finance')) { if (in_array($show->model()->type, [AfterSaleModel::TYPE_REFUND_AND_RETURN, AfterSaleModel::TYPE_REFUND])) { $tools->append(new AfterSaleFinance()); } elseif (in_array($show->model()->type, [AfterSaleModel::TYPE_CHANGE])) { diff --git a/app/Admin/Controllers/UserController.php b/app/Admin/Controllers/UserController.php index f7ad2b3e..9ceb7907 100644 --- a/app/Admin/Controllers/UserController.php +++ b/app/Admin/Controllers/UserController.php @@ -19,6 +19,9 @@ use App\Admin\Renderable\UserFansSimpleTable; use App\Admin\Renderable\UserInviterSimpleTable; use App\Admin\Renderable\UserWalletLogSimpleTable; use App\Admin\Repositories\User; +use App\Exceptions\BizException; +use App\Models\DealerOrder; +use App\Models\Order; use App\Models\User as UserModel; use App\Models\UserInfo; use Dcat\Admin\Admin; @@ -44,6 +47,7 @@ class UserController extends AdminController { $builder = User::with(['userInfo', 'wallet', 'balance', 'userInfo.inviterInfo.user']); return Grid::make($builder, function (Grid $grid) { + $grid->model()->whereNotNull('phone'); $grid->column('id')->sortable()->if(function () { return Admin::user()->can('dcat.admin.users.show'); })->then(function (Column $column) { @@ -104,7 +108,7 @@ class UserController extends AdminController //删除以及自定义操作 $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->disableView(Admin::user()->cannot('dcat.admin.users.show')); - + $actions->disableDelete(Admin::user()->cannot('dcat.admin.users.destroy')); if ($actions->row->status == 1) { if (Admin::user()->can('dcat.admin.users.disable')) { $actions->append(new DisableUser()); @@ -257,6 +261,41 @@ class UserController extends AdminController }); } + /** + * 修改删除判断 + * + * @param [type] $id + * @return void + */ + public function destroy($id) + { + $user = UserModel::findOrFail($id); + //判断是否有下级 + if (UserInfo::where('inviter_id', $user->id)->orWhere('real_inviter_id', $user->id)->exists()) { + throw new BizException('该用户存在下级,无法删除'); + } + //判断是否有商城订单 + if (Order::where('user_id', $user->id)->exists()) { + throw new BizException('该用户存在商城订单'); + } + //判断是否有批零订单 + if (DealerOrder::where('user_id', $user->id)->orWhere('consignor_id', $user->id)->exists()) { + throw new BizException('该用户存在批零订单'); + } + //抹除用户手机号 + $user->update([ + 'phone'=>null, + ]); + // return response('删除成功'); + return response()->json([ + 'status'=> true, + 'data'=> [ + 'alert'=>true, + 'message'=>'删除成功', + ], + ]); + } + public function users(Request $request) { $phone = $request->input('q'); diff --git a/database/seeders/AdminPermissionSeeder.php b/database/seeders/AdminPermissionSeeder.php index 073322ff..87cf4c20 100644 --- a/database/seeders/AdminPermissionSeeder.php +++ b/database/seeders/AdminPermissionSeeder.php @@ -66,7 +66,7 @@ class AdminPermissionSeeder extends Seeder ], 'users'=>[ 'name'=>'会员管理', - 'curd'=>['index', 'show', 'create', 'store'], + 'curd'=>['index', 'show', 'create', 'store', 'destroy'], 'children'=>[ 'disable' =>['name'=>'禁用'], 'enable'=>['name' =>'启用'],