From 1607d65a15fc9e29ba243f7d5b30f63f9001765c Mon Sep 17 00:00:00 2001 From: lanzu_qsy <334039090@qq.com> Date: Wed, 5 Aug 2020 17:53:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=9C=8D=E5=8A=A1=E5=95=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/ImsCjdcMarketController.php | 3 +- .../Controllers/LanzuMmInfoController.php | 69 ++++++++++++++++++- .../Controllers/LanzuMpInfoController.php | 48 ++++++++++++- app/Admin/routes.php | 2 + app/Models/AdminUsers.php | 13 ++++ 5 files changed, 127 insertions(+), 8 deletions(-) create mode 100644 app/Models/AdminUsers.php diff --git a/app/Admin/Controllers/ImsCjdcMarketController.php b/app/Admin/Controllers/ImsCjdcMarketController.php index 686a869..0b3ced7 100644 --- a/app/Admin/Controllers/ImsCjdcMarketController.php +++ b/app/Admin/Controllers/ImsCjdcMarketController.php @@ -110,9 +110,8 @@ class ImsCjdcMarketController extends AdminController * 服务商信息 * @return \Illuminate\Http\JsonResponse */ - public function getMpInfo() + protected function getMpInfo() { - $mps = LanzuMpInfo::all(); $ret = []; foreach ($mps as $key => $value){ diff --git a/app/Admin/Controllers/LanzuMmInfoController.php b/app/Admin/Controllers/LanzuMmInfoController.php index 4ddc38c..05427be 100644 --- a/app/Admin/Controllers/LanzuMmInfoController.php +++ b/app/Admin/Controllers/LanzuMmInfoController.php @@ -3,11 +3,15 @@ namespace App\Admin\Controllers; use App\Admin\Repositories\LanzuMmInfo; +use App\Models\AdminUsers; +use App\Models\ImsCjdcMarket; +use App\Models\LanzuMpInfo as mpInfo; use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Show; use Dcat\Admin\Controllers\AdminController; - +use Illuminate\Support\Facades\Hash; +use App\Models\LanzuMmInfo as mmInfo; class LanzuMmInfoController extends AdminController { /** @@ -21,6 +25,10 @@ class LanzuMmInfoController extends AdminController $grid->id->sortable(); $grid->name; $grid->phone; + $grid->column('market_id','所属市场')->display(function ($id){ + $market = ImsCjdcMarket::find($id); + return $market->name; + }); $grid->id_frond->image('',50,50); $grid->id_back->image('',50,50); $grid->id_number; @@ -54,6 +62,7 @@ class LanzuMmInfoController extends AdminController $show->id; $show->name; $show->phone; + $show->market_id; $show->id_frond->image(); $show->id_back->image(); $show->id_number; @@ -76,12 +85,66 @@ class LanzuMmInfoController extends AdminController $form->display('id'); $form->text('name'); $form->text('phone'); + $form->select('market_id','所属市场')->options('/api/getMarket'); + $form->text('user_id','小程序用户ID'); $form->image('id_frond')->uniqueName(); $form->image('id_back')->uniqueName(); $form->text('id_number'); $form->text('status','状态'); - $form->display('created_at'); - $form->display('updated_at'); + $form->saved(function (Form $form,$result){ + $adu = new AdminUsers(); + if ($form->isCreating()){ + $newId = $result; + if (!$newId){ + return $form->error('市场经理添加失败'); + } + $mm = mmInfo::find($newId); + //>>1.添加市场经理前,去查询是否已存在相同的帐号 + $count = $adu->where(['username'=>$form->phone])->count(); + if ($count){ + $mm->delete(); + return $form->error('该手机号作为登陆帐号已存在!'); + } + //>>2.添加市场经理登陆帐号 + $adu->username = $form->phone; + $adu->password = Hash::make(substr($form->phone,-5)); + $adu->name = $form->name; + $adu->status = $form->status; + $res = $adu->save(); + if (!$res){ + //删除刚添加的服务商 + $mm->delete(); + return $form->error('市场经理添加失败'); + } + //>>3.将帐号id关联到市场经理 + $mm->admin_user_id = $adu->id; + $mm->save(); + }else{ + //>>4.编辑时同步登陆帐号状态 + $id = $form->getKey(); + $mm = mmInfo::find($id); + $ad = $adu->find($mm->admin_user_id); + $ad->status = $form->status; + $ad->save(); + } + }); }); } + + /** + * 获取市场信息 + * @return \Illuminate\Http\JsonResponse + */ + protected function getMarket() + { + $markets = ImsCjdcMarket::all(); + $data = []; + foreach ($markets as $market){ + $item = []; + $item['id'] = $market->id; + $item['text'] = $market->name; + $data[] = $item; + } + return response()->json($data); + } } diff --git a/app/Admin/Controllers/LanzuMpInfoController.php b/app/Admin/Controllers/LanzuMpInfoController.php index 739c837..cfd8587 100644 --- a/app/Admin/Controllers/LanzuMpInfoController.php +++ b/app/Admin/Controllers/LanzuMpInfoController.php @@ -4,11 +4,16 @@ namespace App\Admin\Controllers; use App\Admin\Extensions\CheckRow; use App\Admin\Repositories\LanzuMpInfo; +use App\Models\LanzuMmInfo as mmInfo; use Dcat\Admin\Admin; use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Show; use Dcat\Admin\Controllers\AdminController; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Hash; +use \App\Models\LanzuMpInfo as mpInfo; +use \App\Models\AdminUsers; class LanzuMpInfoController extends AdminController { @@ -104,10 +109,47 @@ class LanzuMpInfoController extends AdminController $form->image('id_frond')->uniqueName(); $form->image('id_back')->uniqueName(); $form->text('id_number'); - //$form->text('admin_user_id'); $form->number('status','状态'); - //$form->display('created_at'); - //$form->display('updated_at'); + $form->saved(function (Form $form,$result){ + $adu = new AdminUsers(); + if ($form->isCreating()){ + $newId = $result; + if (!$newId){ + return $form->error('服务商添加失败'); + } + $mp = mpInfo::find($newId); + //>>1.添加服务商,前去查询是否已存在相同的帐号 + $count = $adu->where(['username'=>$form->phone])->count(); + if ($count){ + $mp->delete(); + return $form->error('该手机号作为登陆帐号已存在!'); + } + //>>2.添加服务商登陆帐号 + $adu->username = $form->phone; + $adu->password = Hash::make(substr($form->phone,-5)); + $adu->name = $form->name; + $adu->status = $form->status; + $res = $adu->save(); + if (!$res){ + //删除刚添加的服务商 + $mp->delete(); + return $form->error('服务商添加失败'); + } + //>>3.将帐号id关联到服务商 + $mp->admin_user_id = $adu->id; + $mp->save(); + }else{ + //>>4.编辑时同步登陆帐号状态 + $id = $form->getKey(); + $mp = mpInfo::find($id); + $ad = $adu->find($mp->admin_user_id); + $ad->status = $form->status; + $ad->save(); + } + }); }); } + + + } diff --git a/app/Admin/routes.php b/app/Admin/routes.php index f2377e3..6ee444f 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -18,7 +18,9 @@ Route::group([ $router->resource('/mm', 'LanzuMmInfoController'); $router->resource('/market', 'ImsCjdcMarketController'); + $router->any('/api/getMarket', 'LanzuMmInfoController@getMarket'); $router->any('/api/getMpInfo', 'ImsCjdcMarketController@getMpInfo'); + }); diff --git a/app/Models/AdminUsers.php b/app/Models/AdminUsers.php new file mode 100644 index 0000000..5f7106e --- /dev/null +++ b/app/Models/AdminUsers.php @@ -0,0 +1,13 @@ +