|
|
<?php
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;use Dcat\Admin\Admin;use Dcat\Admin\Controllers\AdminController;use App\Models\MpBalance;class LanzuMpWithdrawController extends AdminController{ /** * Make a grid builder. * * @return Grid */ protected function grid() { return Grid::make(new LanzuMpWithdraw(['mpInfo']), function (Grid $grid) { $grid->id->sortable(); $grid->column('mpInfo.name','服务商名字'); $grid->money; $grid->status('提现状态')->using([-1=>'拒绝',0=>'审核中',1=>'通过']) ->label([-1=>'danger',0=>'default',1=>'success']); $grid->created_at; $grid->filter(function (Grid\Filter $filter) { $filter->equal('id');
});
$grid->actions(function (Grid\Displayers\Actions $actions) { $actions->disableDelete(); // $actions->disableEdit();
$actions->disableQuickEdit(); $actions->disableView(); }); }); }
/** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { return Show::make($id, new LanzuMpWithdraw(['mpInfo']), function (Show $show) { $show->id; $show->mp_id; $show->column('服务商名称','mpInfo.name'); $show->money; $show->status; $show->created_at; $show->updated_at; }); }
/** * Make a form builder. * * @return Form */
protected function lanzu_bis_form(){ //管理员或者lanzu_bis操作
return Form::make(new LanzuMpWithdraw(['mpInfo']), function (Form $form) {
$form->footer(function ($footer) { // 去掉`查看`checkbox
$footer->disableViewCheck(); // 去掉`继续编辑`checkbox
$footer->disableEditingCheck(); // 去掉`继续创建`checkbox
$footer->disableCreatingCheck(); });
$form->tools(function (Form\Tools $tools) { // 去掉跳转详情页按钮
$tools->disableView(); // 去掉删除按钮
$tools->disableDelete(); $tools->disableList(); });
// dd($form->model()->mp_info['name']);
$mpName = $form->model()->mp_info['name']; //dd( $mpName);
$form->display('id'); $form->text('mp_id','服务商ID')->disable(); $form->display('','服务商名')->value($mpName); $form->text('money','提现金额')->disable()->required(); $form->hidden('is_operated'); $form->saving(function (Form $form) { $form->is_operated = 1; });
if($form->model()->is_operated){ $status = ''; if($form->model()->status==1){ $status = '审核通过'; } if($form->model()->status==-1){ $status = '拒绝'; } $form->display('','审核状态')->value($status); $form->disableSubmitButton(); $form->disableResetButton(); }else{ $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); } } }); }); }
protected function form() { $current_user = Admin::user();
if(!$current_user->isRole('lanzu_mp')){ return $this->lanzu_bis_form(); } //如果是服务商角色,获取服务商信息
$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($mpb){ $balance = $mpb->balance; } return Form::make(new LanzuMpWithdraw(), function (Form $form) use($current_user,$balance,$mpb) {
$form->footer(function ($footer) {
// 去掉`查看`checkbox
$footer->disableViewCheck();
// 去掉`继续编辑`checkbox
$footer->disableEditingCheck();
// 去掉`继续创建`checkbox
$footer->disableCreatingCheck(); });
$form->tools(function (Form\Tools $tools) { // 去掉跳转列表按钮
$tools->disableList(); });
$form->display('id'); $form->hidden('mp_id')->value($mpb->id); $form->text('balance','当前可提现余额')->value($balance)->disable()->help('当前可提现金额'); $form->number('money','提现金额')->required(); $form->ignore(['balance']); //添加成功之后,扣减掉可提现金额
$form->saved(function (Form $form,$result)use ($mpb){ if ($form->isCreating()){ if ($result){ $mpb->balance = $mpb->balance-$form->money; $mpb->save(); } } });
}); }}
|