From c37718a5e5640d73c410a22d0035dbf70c7570e7 Mon Sep 17 00:00:00 2001 From: lanzu_qsy <334039090@qq.com> Date: Mon, 10 Aug 2020 17:44:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=95=86=E6=8F=90=E7=8E=B0?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E5=8F=98=E6=9B=B4=E5=90=8E,=E5=8E=BB?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=E5=8F=AF=E6=8F=90=E7=8E=B0=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/LanzuMpInfoController.php | 67 ++++++++++--------- .../Controllers/LanzuMpWithdrawController.php | 35 +++++++--- app/Models/LanzuMpInfo.php | 1 + app/Models/MpBalance.php | 43 ++++++++++++ 4 files changed, 105 insertions(+), 41 deletions(-) diff --git a/app/Admin/Controllers/LanzuMpInfoController.php b/app/Admin/Controllers/LanzuMpInfoController.php index 8a5c67d..6fb44ba 100644 --- a/app/Admin/Controllers/LanzuMpInfoController.php +++ b/app/Admin/Controllers/LanzuMpInfoController.php @@ -5,11 +5,14 @@ namespace App\Admin\Controllers; use App\Admin\Extensions\CheckRow; use App\Admin\Repositories\LanzuMpInfo; use App\Models\LanzuMmInfo as mmInfo; +use App\Models\MpBalance; +use Dcat\Admin\Actions\Action; use Dcat\Admin\Admin; use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Show; use Dcat\Admin\Controllers\AdminController; +use Encore\Admin\Grid\Displayers\Actions; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Hash; use \App\Models\LanzuMpInfo as mpInfo; @@ -28,26 +31,26 @@ class LanzuMpInfoController extends AdminController protected function grid() { return Grid::make(new LanzuMpInfo(), function (Grid $grid) { - //$grid->id->sortable(); $grid->name; $grid->phone; - //$grid->bank_name; - //$grid->bank_card; - //$grid->bank_addr; - $grid->column('可提现金额'); - $grid->id_frond->image('',50,50); - $grid->id_back->image('',50,50); + $grid->actions(function (Grid\Displayers\Actions $actions) { + $actions->row->id; + }); + $grid->column('可提现金额')->display(function () { + return MpBalance::getBalance($this->id, 1); + }); + $grid->id_frond->image('', 50, 50); + $grid->id_back->image('', 50, 50); $grid->id_number; - //$grid->admin_user_id; - $grid->column('status','状态')->display(function ($status){ - if ($status==1){ + $grid->column('status', '状态')->display(function ($status) { + if ($status == 1) { return '正常'; - }elseif($status==0){ + } elseif ($status == 0) { return '禁用'; } }); $grid->created_at->display(function ($time) { - return date("Y-m-d H:i",$time); + return date("Y-m-d H:i", $time); }); $grid->filter(function (Grid\Filter $filter) { @@ -60,7 +63,6 @@ class LanzuMpInfoController extends AdminController }); - }); } @@ -105,7 +107,7 @@ class LanzuMpInfoController extends AdminController { return Form::make(new LanzuMpInfo(), function (Form $form) { $form->display('id')->hideInDialog(); - $form->text('name','姓名')->required(); + $form->text('name', '姓名')->required(); $form->mobile('phone')->required(); $form->text('bank_name')->required(); $form->text('bank_card')->required(); @@ -113,28 +115,28 @@ class LanzuMpInfoController extends AdminController $form->image('id_frond')->uniqueName()->required(); $form->image('id_back')->uniqueName()->required(); $form->text('id_number')->required(); - $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('服务商添加失败'); } $mp = mpInfo::find($newId); //>>1.添加服务商,前去查询是否已存在相同的帐号 - $count = $adu->where(['username'=>$form->phone])->count(); - if ($count){ + $count = $adu->where(['username' => $form->phone])->count(); + if ($count) { $mp->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) { //删除刚添加的服务商 $mp->delete(); return $form->error('服务商添加失败'); @@ -144,18 +146,18 @@ class LanzuMpInfoController extends AdminController $mp->save(); //添加服务商角色 - $lanzu_mp = AdminRoles::where('slug','lanzu_mp')->first(); - $aru = new AdminRoleUsers; + $lanzu_mp = AdminRoles::where('slug', 'lanzu_mp')->first(); + $aru = new AdminRoleUsers; $aru->role_id = $lanzu_mp->id; $aru->user_id = $adu->id; $aru->save(); - }else{ + } else { //>>4.编辑时同步登陆帐号状态 - $id = $form->getKey(); - $mp = mpInfo::find($id); - $ad = $adu->find($mp->admin_user_id); + $id = $form->getKey(); + $mp = mpInfo::find($id); + $ad = $adu->find($mp->admin_user_id); $ad->status = $form->status; $ad->save(); } @@ -164,5 +166,4 @@ class LanzuMpInfoController extends AdminController } - } diff --git a/app/Admin/Controllers/LanzuMpWithdrawController.php b/app/Admin/Controllers/LanzuMpWithdrawController.php index e0ebf19..53b687e 100755 --- a/app/Admin/Controllers/LanzuMpWithdrawController.php +++ b/app/Admin/Controllers/LanzuMpWithdrawController.php @@ -3,6 +3,7 @@ namespace App\Admin\Controllers; use App\Admin\Repositories\LanzuMpWithdraw; +use App\Models\LanzuMpInfo; use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Show; @@ -115,6 +116,14 @@ class LanzuMpWithdrawController extends AdminController $form->radio('status')->options([1 => '通过审核', -1=> '拒绝'])->default(-1);; } + $form->saved(function (Form $form,$result){ + if ($form->isEditing()){ + if ($form->model()->status==-1){ + //如果服务商提现审核被拒绝,退回服务商的提现金额 + MpBalance::returnBalance($form->model()->mp_id,1,$form->model()->money); + } + } + }); }); } @@ -125,15 +134,16 @@ class LanzuMpWithdrawController extends AdminController if(!$current_user->isRole('lanzu_mp')){ return $this->lanzu_bis_form(); } - - //如果是服务商角色 - $mp = MpBalance::where('user_id',$current_user->id) + //如果是服务商角色,获取服务商信息 + $mp = LanzuMpInfo::where('admin_user_id',$current_user->id)->first(); + //获取服务商可提现金额 + $mpb = MpBalance::where('user_id',$mp->id) ->where('user_type',1)->first(); $balance = 0; - if($mp){ - $balance = $mp->balance; + if($mpb){ + $balance = $mpb->balance; } - return Form::make(new LanzuMpWithdraw(), function (Form $form) use($current_user,$balance) { + return Form::make(new LanzuMpWithdraw(), function (Form $form) use($current_user,$balance,$mpb) { $form->footer(function ($footer) { @@ -154,11 +164,20 @@ class LanzuMpWithdrawController extends AdminController }); $form->display('id'); - $form->hidden('mp_id')->value($current_user->id); + $form->hidden('mp_id')->value($mpb->id); $form->text('balance','当前可提现余额')->value($balance)->disable()->help('当前可提现金额'); $form->number('money','提现金额')->required(); $form->ignore(['balance']); - //$form->text('status'); + //添加成功之后,扣减掉可提现金额 + $form->saved(function (Form $form,$result)use ($mpb){ + if ($form->isCreating()){ + if ($result){ + $mpb->balance = $mpb->balance-$form->money; + $mpb->save(); + } + } + }); + }); } } diff --git a/app/Models/LanzuMpInfo.php b/app/Models/LanzuMpInfo.php index c9c1e44..ed83be6 100644 --- a/app/Models/LanzuMpInfo.php +++ b/app/Models/LanzuMpInfo.php @@ -11,4 +11,5 @@ class LanzuMpInfo extends Model use HasDateTimeFormatter; protected $table = 'lanzu_mp_info'; protected $dateFormat = 'U'; + } diff --git a/app/Models/MpBalance.php b/app/Models/MpBalance.php index f40c833..834c080 100644 --- a/app/Models/MpBalance.php +++ b/app/Models/MpBalance.php @@ -10,4 +10,47 @@ class MpBalance extends Model { protected $table = 'lanzu_mp_balance'; protected $dateFormat = 'U'; + + /** + * 获取可提现金额 + * @param $uid + * @param $uType 0/1 普通用户/服务商 + */ + public static function getBalance($uid,$uType=0) + { + $row = self::where(['user_id'=>$uid,'user_type'=>$uType])->first(); + if ($row){ + return $row->balance; + }else{ + return '0.00'; + } + } + + /** + * 扣减可提现金额 + */ + public static function reduceBalance($uid,$uType,$reduceMoney) + { + $row = self::where(['user_id'=>$uid,'user_type'=>$uType])->first(); + if ($row){ + $row->balance = $row->balance-$reduceMoney; + return $row->save(); + }else{ + return false; + } + } + + /** + * 回退审核未通过时的提现金额 + */ + public static function returnBalance($uid,$uType,$reduceMoney) + { + $row = self::where(['user_id'=>$uid,'user_type'=>$uType])->first(); + if ($row){ + $row->balance = $row->balance+$reduceMoney; + return $row->save(); + }else{ + return false; + } + } }