From fff8faa11efbcf1c6a6e9e624bfd607f96b9e036 Mon Sep 17 00:00:00 2001 From: lanzu_qsy <334039090@qq.com> Date: Fri, 7 Aug 2020 15:34:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B8=82=E5=9C=BA=E7=BB=8F=E7=90=86=E6=8F=90?= =?UTF-8?q?=E7=8E=B0=E5=92=8C=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/ImsCjdcMarketController.php | 42 +++---- .../Controllers/LanzuMmInfoController.php | 97 +++++++++-------- .../Controllers/LanzuMmWithdrawController.php | 103 ++++++++++++++---- app/Models/LanzuMmWithdraw.php | 1 + 4 files changed, 150 insertions(+), 93 deletions(-) diff --git a/app/Admin/Controllers/ImsCjdcMarketController.php b/app/Admin/Controllers/ImsCjdcMarketController.php index a2e254c..7c18675 100644 --- a/app/Admin/Controllers/ImsCjdcMarketController.php +++ b/app/Admin/Controllers/ImsCjdcMarketController.php @@ -20,33 +20,33 @@ class ImsCjdcMarketController extends AdminController { return Grid::make(new ImsCjdcMarket(), function (Grid $grid) { $grid->id->sortable(); - $grid->logo->image('',50,50); + $grid->logo->image('', 50, 50); $grid->name; - $grid->column('mp_id','服务商')->display(function ($mid){ - if($mid == 0) return '懒族自营'; + $grid->column('mp_id', '服务商')->display(function ($mid) { + if ($mid == 0) return '懒族自营'; $mp = LanzuMpInfo::find($mid); - if (!$mp){ - return '数据错误'; + if (!$mp) { + return '数据错误'; } return $mp->name; }); - $grid->column('status','状态')->display(function ($status){ - if ($status==0){ + $grid->column('status', '状态')->display(function ($status) { + if ($status == 0) { return '禁用'; - }else{ + } else { return '正常'; } }); $grid->address; - $grid->column('addtime','创建时间'); + $grid->column('addtime', '创建时间'); $grid->filter(function (Grid\Filter $filter) { $filter->equal('id'); }); - $grid->actions(function (Grid\Displayers\Actions $actions){ + $grid->actions(function (Grid\Displayers\Actions $actions) { - if(!\Admin::user()->isAdministrator()&&$actions->row->mp_id==0){ + if (!\Admin::user()->isAdministrator() && $actions->row->mp_id == 0) { $actions->disableDelete(); $actions->disableEdit(); } @@ -67,7 +67,7 @@ class ImsCjdcMarketController extends AdminController { return Show::make($id, new ImsCjdcMarket(), function (Show $show) { - if(!\Admin::user()->isAdministrator()&&$show->model()->mp_id==0){ + if (!\Admin::user()->isAdministrator() && $show->model()->mp_id == 0) { $show->panel() ->tools(function ($tools) { $tools->disableEdit(); @@ -75,7 +75,7 @@ class ImsCjdcMarketController extends AdminController $tools->disableDelete(); // 显示快捷编辑按钮 $tools->showQuickEdit(); - }); + }); } $show->id; @@ -113,7 +113,7 @@ class ImsCjdcMarketController extends AdminController return Form::make(new ImsCjdcMarket(), function (Form $form) { $form->display('id'); $form->text('name')->required(); - $form->select('mp_id','服务商')->options('/api/getMpInfo')->required(); + $form->select('mp_id', '服务商')->options('/api/getMpInfo')->required(); $form->text('address')->required(); $form->text('coordinates') ->required() @@ -125,10 +125,10 @@ class ImsCjdcMarketController extends AdminController $form->text('dm_poundage'); $form->text('yd_poundage'); $form->text('loudspeaker_imei')->value(0); - $form->number('sort','排序'); - $form->switch('status','状态'); + $form->number('sort', '排序'); + $form->switch('status', '状态'); $form->image('logo'); - $form->multipleImage('imgs','市场图片'); + $form->multipleImage('imgs', '市场图片'); $form->textarea('introduce'); $form->textarea('remark'); $form->textarea('dishes_menu_intro')->value('菜谱简介'); @@ -143,11 +143,11 @@ class ImsCjdcMarketController extends AdminController { $mps = LanzuMpInfo::all(); $ret = []; - foreach ($mps as $key => $value){ - $item = []; - $item['id'] = $value->id; + foreach ($mps as $key => $value) { + $item = []; + $item['id'] = $value->id; $item['text'] = $value->name; - $ret[] = $item; + $ret[] = $item; } return response()->json($ret); } diff --git a/app/Admin/Controllers/LanzuMmInfoController.php b/app/Admin/Controllers/LanzuMmInfoController.php index edc3558..44bc325 100644 --- a/app/Admin/Controllers/LanzuMmInfoController.php +++ b/app/Admin/Controllers/LanzuMmInfoController.php @@ -18,7 +18,6 @@ use App\Models\LanzuMmInfo as mmInfo; use Dcat\Admin\Admin; - class LanzuMmInfoController extends AdminController { /** @@ -31,33 +30,35 @@ class LanzuMmInfoController extends AdminController return Grid::make(new LanzuMmInfo(), function (Grid $grid) { $user = Admin::user(); - $mp_info = mpInfo::where('admin_user_id',$user->id)->first(); - $mk = ImsCjdcMarket::where('mp_id',$mp_info->id)->get()->pluck('id'); - $mk_ids = [-1]; - if(count($mk)>0){ - $mk_ids = $mk; + //根据登陆帐户获取服务商信息 + $mp_info = mpInfo::where('admin_user_id', $user->id)->first(); + if ($mp_info) {//如果没有获取到对应的服务商信息,说明该帐号没有绑定服务商 + $mk = ImsCjdcMarket::where('mp_id', $mp_info->id)->get()->pluck('id'); + $mk_ids = [-1]; + if (count($mk) > 0) { + $mk_ids = $mk; + } + $grid->model()->whereIn('market_id', $mk_ids); } - $grid->model()->whereIn('market_id',$mk_ids); - $grid->id->sortable(); $grid->name; $grid->phone; - $grid->column('market_id','所属市场')->display(function ($id){ + $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_frond->image('', 50, 50); + $grid->id_back->image('', 50, 50); $grid->id_number; - $grid->column('status','状态')->display(function ($status){ - if ($status==1){ + $grid->column('status', '状态')->display(function ($status) { + if ($status == 1) { return '正常'; - }else{ + } else { return '禁用'; } }); - $grid->created_at->display(function ($time){ - return date('Y-m-d H:i:s',$time); + $grid->created_at->display(function ($time) { + return date('Y-m-d H:i:s', $time); }); $grid->filter(function (Grid\Filter $filter) { $filter->equal('id'); @@ -102,33 +103,33 @@ class LanzuMmInfoController extends AdminController $form->display('id'); $form->text('name')->required(); $form->text('phone')->required(); - $form->select('market_id','所属市场')->options('/api/getMarket')->required(); - $form->text('user_id','小程序用户ID')->required(); + $form->select('market_id', '所属市场')->options('/api/getMarket')->required(); + $form->text('user_id', '小程序用户ID')->required(); $form->image('id_frond')->uniqueName(); $form->image('id_back')->uniqueName(); $form->text('id_number'); - $form->radio('status','状态')->options(['禁用','启用'])->default(1); - $form->saved(function (Form $form,$result){ + $form->radio('status', '状态')->options(['禁用', '启用'])->default(1); + $form->saved(function (Form $form, $result) { $adu = new AdminUsers(); - if ($form->isCreating()){ + if ($form->isCreating()) { $newId = $result; - if (!$newId){ + if (!$newId) { return $form->error('市场经理添加失败'); } $mm = mmInfo::find($newId); //>>1.添加市场经理前,去查询是否已存在相同的帐号 - $count = $adu->where(['username'=>$form->phone])->count(); - if ($count){ + $count = $adu->where(['username' => $form->phone])->count(); + if ($count) { $mm->delete(); - return $form->error('该手机号作为登陆帐号已存在!'); + 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){ + $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('市场经理添加失败'); @@ -138,18 +139,18 @@ class LanzuMmInfoController extends AdminController $mm->save(); //添加到admin roles中 - //添加服务商角色 - $lanzu_mm = AdminRoles::where('slug','lanzu_mm')->first(); - $aru = new AdminRoleUsers; - $aru->role_id = $lanzu_mm->id; - $aru->user_id = $adu->id; - $aru->save(); + //添加服务商角色 + $lanzu_mm = AdminRoles::where('slug', 'lanzu_mm')->first(); + $aru = new AdminRoleUsers; + $aru->role_id = $lanzu_mm->id; + $aru->user_id = $adu->id; + $aru->save(); - }else{ + } else { //>>4.编辑时同步登陆帐号状态 - $id = $form->getKey(); - $mm = mmInfo::find($id); - $ad = $adu->find($mm->admin_user_id); + $id = $form->getKey(); + $mm = mmInfo::find($id); + $ad = $adu->find($mm->admin_user_id); $ad->status = $form->status; $ad->save(); } @@ -163,15 +164,15 @@ class LanzuMmInfoController extends AdminController */ protected function getMarket() { - $user = Admin::user(); - $mp = LanzuMpInfo::where('admin_user_id',$user->id)->first(); - $markets = ImsCjdcMarket::where('mp_id',$mp->id)->get(); - $data = []; - foreach ($markets as $market){ - $item = []; - $item['id'] = $market->id; + $user = Admin::user(); + $mp = LanzuMpInfo::where('admin_user_id', $user->id)->first(); + $markets = ImsCjdcMarket::where('mp_id', $mp->id)->get(); + $data = []; + foreach ($markets as $market) { + $item = []; + $item['id'] = $market->id; $item['text'] = $market->name; - $data[] = $item; + $data[] = $item; } return response()->json($data); } diff --git a/app/Admin/Controllers/LanzuMmWithdrawController.php b/app/Admin/Controllers/LanzuMmWithdrawController.php index c839338..aed6bf3 100644 --- a/app/Admin/Controllers/LanzuMmWithdrawController.php +++ b/app/Admin/Controllers/LanzuMmWithdrawController.php @@ -8,12 +8,12 @@ use App\Models\LanzuMmInfo; use App\Models\ImsCjdcMarket; use App\Models\LanzuMpInfo as mpInfo; +use App\Models\MpBalance; use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Show; use Dcat\Admin\Controllers\AdminController; use Dcat\Admin\Admin; -use Illuminate\Support\Facades\Auth; class LanzuMmWithdrawController extends AdminController { @@ -23,30 +23,27 @@ class LanzuMmWithdrawController extends AdminController */ protected function grid() { - $user = Admin::user(); - $mp_info = mpInfo::where('admin_user_id',$user->id)->first(); - $mk = ImsCjdcMarket::where('mp_id',$mp_info->id)->get()->pluck('id'); - $mk_ids = [-1]; - if(count($mk)>0){ - $mk_ids = $mk; + $user = Admin::user(); + $buider = new LanzuMmWithdraw(); + $mp_info = mpInfo::where('admin_user_id', $user->id)->first(); + if ($mp_info) { + $mk = ImsCjdcMarket::where('mp_id', $mp_info->id)->get()->pluck('id'); + $mk_ids = [-1]; + if (count($mk) > 0) { + $mk_ids = $mk; + } + $ids = LanzuMmInfo::whereIn('market_id', $mk_ids)->pluck('id'); + $buider = MmWithdraw::with('mmInfo')->whereIn('mm_id', $ids); } - - $ids = LanzuMmInfo::whereIn('market_id',$mk_ids)->pluck('id'); - - $buider = MmWithdraw::with('mmInfo')->whereIn('mm_id',$ids); - return Grid::make($buider, function (Grid $grid) { - //$grid->model()->mmInfo()->where('market_id',1); $grid->id->sortable(); - //$grid->mm_id('提现'); - $grid->column('mmInfo.name','经理名'); + $grid->column('mmInfo.name', '经理名'); $grid->money; - $grid->status('提现状态')->using([-1=>'拒绝',0=>'审核中',1=>'通过']) - ->label([-1=>'danger',0=>'default',1=>'success']); - $grid->created_at('提现时间')->display(function ($time){ - return date('Y-m-d H:i',$time); + $grid->status('提现状态')->using([-1 => '拒绝', 0 => '审核中', 1 => '通过']) + ->label([-1 => 'danger', 0 => 'default', 1 => 'success']); + $grid->created_at('提现时间')->display(function ($time) { + return date('Y-m-d H:i', $time); }); - $grid->filter(function (Grid\Filter $filter) { $filter->equal('id'); @@ -82,10 +79,68 @@ class LanzuMmWithdrawController extends AdminController { return Form::make(new LanzuMmWithdraw(), function (Form $form) { $form->display('id'); - $form->text('mm_id'); - $form->text('money'); - $form->display('created_at'); - $form->display('updated_at'); + $form->hidden('mm_id')->value($this->getMmId(Admin::user()->id)); + $form->display('可提现金额')->value($this->getBalance(Admin::user()->id)); + $form->display('提现人')->value(Admin::user()->name); + if ($form->isEditing()){//判断是否是编辑请求,如果是编辑请求,判断状态是否被编辑过. + $form->display('money'); + if ($form->model()->status!=0){//如果提现状态已变更过,则不允许再编辑状态 + $form->hidden('status', '状态'); + }else{ + $form->radio('status', '状态') + ->options([0 => '待审核', 1 => '已同意', -1 => '已拒绝']) + ->default(0); + } + }else{ + $form->text('money'); + $form->radio('status', '状态') + ->options([0 => '待审核', 1 => '已同意', -1 => '已拒绝']) + ->default(0); + } + }); } + + /** + * 获取可提现金额 + * @param $aduId + * @return float + */ + protected function getBalance($aduId) + { + $row = $this->getMmInfoByAduId($aduId); + if ($row) { + $res = MpBalance::where(['user_id' => $row->user_id])->first(); + if ($res) { + return $res->balance; + } + } + return '0.00'; + } + + /** + * 根据登陆帐号获取市场经理信息 + * @param $aduId + * @return mixed + */ + protected function getMmInfoByAduId($aduId) + { + $row = LanzuMmInfo::where(['admin_user_id' => $aduId])->first(); + return $row; + } + + /** + * 获取市场经理ID + * @param $aduId + * @return int + */ + protected function getMmId($aduId) + { + $row = $this->getMmInfoByAduId($aduId); + if ($row) { + return $row->id; + } else { + return 0; + } + } } diff --git a/app/Models/LanzuMmWithdraw.php b/app/Models/LanzuMmWithdraw.php index 402f219..e52081e 100644 --- a/app/Models/LanzuMmWithdraw.php +++ b/app/Models/LanzuMmWithdraw.php @@ -18,4 +18,5 @@ class LanzuMmWithdraw extends Model return $this->belongsTo('\App\Models\LanzuMmInfo','mm_id','id'); } + }