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 @@ +