Browse Source

供应商版旅行社审核时,同时插入供应商会员表

develop
李可松 4 years ago
parent
commit
c1f98ca4b2
  1. 37
      app/Admin/Controllers/AgentController.php
  2. 6
      app/AdminSettled/Controllers/AgentController.php

37
app/Admin/Controllers/AgentController.php

@ -6,10 +6,12 @@ use App\Admin\Extensions\Grid\AuditAgent;
use App\Admin\Repositories\Agent; use App\Admin\Repositories\Agent;
use App\Common\AgentType; use App\Common\AgentType;
use App\Common\UserStatus; use App\Common\UserStatus;
use App\Models\Supplier;
use Dcat\Admin\Form; use Dcat\Admin\Form;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
use Dcat\Admin\Show; use Dcat\Admin\Show;
use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Http\Controllers\AdminController;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
class AgentController extends AdminController 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(); (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());
}
}
}
} }
}); });
} }

6
app/AdminSettled/Controllers/AgentController.php

@ -5,6 +5,7 @@ namespace App\AdminSettled\Controllers;
use App\Admin\Repositories\Agent; use App\Admin\Repositories\Agent;
use App\Common\AgentType; use App\Common\AgentType;
use App\Common\UserStatus; use App\Common\UserStatus;
use App\Models\Supplier;
use Dcat\Admin\Admin; use Dcat\Admin\Admin;
use Dcat\Admin\Form; use Dcat\Admin\Form;
use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Http\Controllers\AdminController;
@ -84,6 +85,11 @@ class AgentController extends AdminController
return $form->response()->error($form->username . ' 的账号已经存在'); 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()) { if ($form->isEditing()) {
$form->ignore(['id', 'remember_token', 'username', 'rate', 'created_at', 'updated_at', 'deleted_at']); $form->ignore(['id', 'remember_token', 'username', 'rate', 'created_at', 'updated_at', 'deleted_at']);

Loading…
Cancel
Save