Browse Source

修复: 删除已绑定市场经理的服务商后,市场经理账号还可以登入

修复: 删除已绑定市场经理的市场后,市场经理账号还存在
master
lanzu_qsy 5 years ago
parent
commit
56af793942
  1. 22
      app/Admin/Controllers/ImsCjdcMarketController.php
  2. 29
      app/Admin/Controllers/LanzuMmInfoController.php
  3. 42
      app/Admin/Controllers/LanzuMpInfoController.php

22
app/Admin/Controllers/ImsCjdcMarketController.php

@ -3,6 +3,7 @@
namespace App\Admin\Controllers;
use App\Admin\Repositories\ImsCjdcMarket;
use App\Models\LanzuMmInfo;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
@ -26,7 +27,7 @@ class ImsCjdcMarketController extends AdminController
if ($mid == 0) return '懒族自营';
$mp = LanzuMpInfo::find($mid);
if (!$mp) {
return '<span style="color: red">数据错误</span>';
return '<span style="color: #ff0000">数据错误</span>';
}
return $mp->name;
});
@ -138,6 +139,7 @@ class ImsCjdcMarketController extends AdminController
$form->display('id');
$form->text('name')->required();
$form->select('mp_id', '服务商')->options('/api/getMpInfo')->required();
$form->mobile('tel','电话')->required();
$form->text('address')->required();
$form->text('coordinates')
->required()
@ -156,6 +158,24 @@ class ImsCjdcMarketController extends AdminController
$form->textarea('introduce');
$form->textarea('remark');
$form->textarea('dishes_menu_intro')->value('菜谱简介');
$form->saving(function (Form $form){
if ($form->isCreating()){
$coordinates = explode(',',$form->coordinates);
$form->coordinates = implode(',',[$coordinates[1],$coordinates[0]]);
$form->addtime = date('Y-m-d H:i:s',time());
}
});
$form->deleting(function (Form $form){
//删除市场前,校验该市场下是否存在市场经理
$mids = array_column($form->model()->toArray(), 'id');
$count = LanzuMmInfo::whereIn('market_id',$mids)->count();
if ($count){
return $form->error('该市场下关联有市场经理, 无法删除');
}
});
});
}

29
app/Admin/Controllers/LanzuMmInfoController.php

@ -134,17 +134,26 @@ class LanzuMmInfoController extends AdminController
$form->radio('status', '状态')->options(['禁用', '启用'])->default(1);
$form->saving(function (Form $form){
//保存前,校验懒ID是否有效
$count = ImsCjdcUser::where('id', $form->user_id)->count();
if (!$count) {
return $form->error('该懒ID无效');
}
//校验懒ID是否已被绑定
$count = mmInfo::where('user_id',$form->user_id)->count();
if ($count) {
return $form->error('懒ID已被绑定');
if ($form->user_id){
$count = ImsCjdcUser::where('id', $form->user_id)->count();
if (!$count) {
return $form->error('该懒ID无效');
}
if ($form->isCreating()){
//校验懒ID是否已被绑定
$count = mmInfo::where('user_id',$form->user_id)->count();
if ($count) {
return $form->error('懒ID已被绑定');
}
}else{
if ($form->user_id!=$form->model()->user_id){
$count = mmInfo::where('user_id',$form->user_id)->count();
if ($count) {
return $form->error('懒ID已被绑定');
}
}
}
}
});
$form->saved(function (Form $form, $mmid) {
$model = new mmInfo();

42
app/Admin/Controllers/LanzuMpInfoController.php

@ -6,6 +6,7 @@ use App\Admin\Common\Auth;
use App\Admin\Extensions\CheckRow;
use App\Admin\Metrics\Examples\TotalUsers;
use App\Admin\Repositories\LanzuMpInfo;
use App\Models\ImsCjdcMarket;
use App\Models\ImsCjdcUser;
use App\Models\LanzuMmInfo;
use App\Models\LanzuMmInfo as mmInfo;
@ -126,15 +127,25 @@ class LanzuMpInfoController extends AdminController
$form->saving(function (Form $form){
//保存前,校验懒ID是否有效
$count = ImsCjdcUser::where('id', $form->user_id)->count();
if (!$count) {
return $form->error('该懒ID无效');
}
//校验懒ID是否已被绑定
$count = mpInfo::where('user_id',$form->user_id)->count();
if ($count) {
return $form->error('懒ID已被绑定');
if ($form->user_id){
$count = ImsCjdcUser::where('id', $form->user_id)->count();
if (!$count) {
return $form->error('该懒ID无效');
}
if ($form->isCreating()){
//校验懒ID是否已被绑定
$count = mpInfo::where('user_id',$form->user_id)->count();
if ($count) {
return $form->error('懒ID已被绑定');
}
}else{
if ($form->user_id!=$form->model()->user_id){
$count = mpInfo::where('user_id',$form->user_id)->count();
if ($count) {
return $form->error('懒ID已被绑定');
}
}
}
}
});
@ -154,10 +165,21 @@ class LanzuMpInfoController extends AdminController
$id = $form->getKey();
$mp = mpInfo::find($id);
$ad = $adu->find($mp->admin_user_id);
$ad->status = $form->status;
$ad->status = $form->status??$form->model()->status;
$ad->save();
}
});
$form->deleting(function (Form $form){
$mids = array_column($form->model()->toArray(), 'id');
//删除服务商前,校验该服务商下是否存在市场经理
$marketIds = ImsCjdcMarket::whereIn('mp_id',$mids)->pluck('id')->toArray();
$count = mmInfo::whereIn('market_id',$marketIds)->count();
if ($count){
return $form->error('该服务商下关联有市场经理, 无法删除');
}
});
$form->deleted(function (Form $form, $result) {
$aduids = array_column($form->model()->toArray(), 'admin_user_id');
$mids = array_column($form->model()->toArray(), 'id');

Loading…
Cancel
Save