From c1f98ca4b255b0b08d295fa8c5191bcd6fddf9f1 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 7 Sep 2021 17:13:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BE=9B=E5=BA=94=E5=95=86=E7=89=88=E6=97=85?= =?UTF-8?q?=E8=A1=8C=E7=A4=BE=E5=AE=A1=E6=A0=B8=E6=97=B6=EF=BC=8C=E5=90=8C?= =?UTF-8?q?=E6=97=B6=E6=8F=92=E5=85=A5=E4=BE=9B=E5=BA=94=E5=95=86=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AgentController.php | 37 ++++++++++++++++++- .../Controllers/AgentController.php | 6 +++ 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/app/Admin/Controllers/AgentController.php b/app/Admin/Controllers/AgentController.php index 6a9543b..d5f5299 100644 --- a/app/Admin/Controllers/AgentController.php +++ b/app/Admin/Controllers/AgentController.php @@ -6,10 +6,12 @@ use App\Admin\Extensions\Grid\AuditAgent; use App\Admin\Repositories\Agent; use App\Common\AgentType; use App\Common\UserStatus; +use App\Models\Supplier; use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Show; use Dcat\Admin\Http\Controllers\AdminController; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Route; class AgentController extends AdminController @@ -191,10 +193,41 @@ class AgentController extends AdminController } } } - })->saved(function (Form $form) { + })->saved(function (Form $form, $result) { //如果状态是正常,插入初始数据 - if ($form->status == UserStatus::NORMAL) { + if ($result && $form->status == UserStatus::NORMAL) { (new AuditAgent)->setKey($form->getKey())->pass(); + + //如果是供应商版旅行社,同时插入供应商会员表 + if ($form->type == AgentType::SUPPLIER) { + if (Supplier::query()->where('username', $form->model()->username)->doesntExist()) { + DB::beginTransaction(); + try { + //插入用户表 + $supplier_id = Supplier::query()->insertGetId([ + 'username' => $form->model()->username, + 'password' => $form->model()->password, //密码不用转换,原样插入 + 'name' => $form->model()->name, + 'avatar' => $form->model()->avatar, + 'status' => $form->model()->status, + 'company_name' => $form->model()->company_name, + 'logo' => $form->model()->logo, + 'address' => $form->model()->address, + 'license_pic' => $form->model()->license_pic, + 'director' => $form->model()->director, + 'contact_phone' => $form->model()->contact_phone, + 'rate' => $form->model()->password, + ]); + //插入权限表 + DB::table(config('admin-supplier.database.role_users_table')) + ->insertOrIgnore(['role_id' => 2, 'user_id' => $supplier_id]); + DB::commit(); + } catch (\Exception $e) { + DB::rollBack(); + return $form->response()->error('保存成功,但插入供应商会员失败,失败为:' . $e->getMessage()); + } + } + } } }); } diff --git a/app/AdminSettled/Controllers/AgentController.php b/app/AdminSettled/Controllers/AgentController.php index af84154..3762142 100644 --- a/app/AdminSettled/Controllers/AgentController.php +++ b/app/AdminSettled/Controllers/AgentController.php @@ -5,6 +5,7 @@ namespace App\AdminSettled\Controllers; use App\Admin\Repositories\Agent; use App\Common\AgentType; use App\Common\UserStatus; +use App\Models\Supplier; use Dcat\Admin\Admin; use Dcat\Admin\Form; use Dcat\Admin\Http\Controllers\AdminController; @@ -84,6 +85,11 @@ class AgentController extends AdminController return $form->response()->error($form->username . ' 的账号已经存在'); } + //如果是供应商版旅行社,也不能存在相同的供应商账号,因为后台审核之后需要再次插入相同的供应商账号 + if ($form->type == AgentType::SUPPLIER && Supplier::where('username', $form->username)->exists()) { + return $form->response()->error($form->username . ' 的账号已经存在'); + } + //不允许编辑的字段 if ($form->isEditing()) { $form->ignore(['id', 'remember_token', 'username', 'rate', 'created_at', 'updated_at', 'deleted_at']);