93 lines
3.0 KiB
PHP
Executable File
93 lines
3.0 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use App\Admin\Repositories\UserCoin;
|
|
use App\Models\Coin;
|
|
use Dcat\Admin\Form;
|
|
use Dcat\Admin\Grid;
|
|
use Dcat\Admin\Show;
|
|
use Dcat\Admin\Http\Controllers\AdminController;
|
|
|
|
class UserCoinController extends AdminController
|
|
{
|
|
/**
|
|
* Make a grid builder.
|
|
*
|
|
* @return Grid
|
|
*/
|
|
protected function grid()
|
|
{
|
|
return Grid::make(new UserCoin(), function (Grid $grid) {
|
|
$grid->model()
|
|
->leftJoin('coin', 'coin.id', '=', 'user_coin.coin_id')
|
|
->leftJoin('users', 'users.id', '=', 'user_coin.user_id')
|
|
->where('coin.is_true', Coin::IS_TRUE_YES)
|
|
->selectRaw('user_coin.id,user_coin.pay_status,user_coin.created_at,user_coin.pay_time,user_coin.apply_status,user_coin.apply_time,coin.name,coin.type,users.name as user_name,users.mobile')
|
|
->orderByRaw('user_coin.id desc');
|
|
$grid->column('id');
|
|
$grid->column('user_name', '用户名');
|
|
$grid->column('mobile', '手机号');
|
|
$grid->column('name', '硬币名称');
|
|
$grid->column('type', '硬币类型')->display(function ($type) {
|
|
return \App\Models\Coin::TYPE[$type];
|
|
});
|
|
$grid->column('apply_status', '申请状态')->display(function ($apply_status) {
|
|
return \App\Models\UserCoin::APPLY_STATUS[$apply_status];
|
|
});
|
|
$grid->column('apply_time', '申请时间');
|
|
$grid->column('pay_status', '兑付状态')->select(\App\Models\UserCoin::PAY_STATUS, true);
|
|
$grid->column('pay_time', '兑付时间');
|
|
$grid->column('created_at', '获取时间');
|
|
|
|
$grid->filter(function (Grid\Filter $filter) {
|
|
$filter->equal('mobile', '手机号');
|
|
});
|
|
|
|
$grid->disableActions();
|
|
$grid->disableCreateButton();
|
|
$grid->disableBatchActions();
|
|
$grid->disableRowSelector();
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Make a show builder.
|
|
*
|
|
* @param mixed $id
|
|
*
|
|
* @return Show
|
|
*/
|
|
protected function detail($id)
|
|
{
|
|
return Show::make($id, new UserCoin(), function (Show $show) {
|
|
$show->field('id');
|
|
$show->field('user_id');
|
|
$show->field('coin_id');
|
|
$show->field('content');
|
|
$show->field('created_at');
|
|
$show->field('updated_at');
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Make a form builder.
|
|
*
|
|
* @return Form
|
|
*/
|
|
protected function form()
|
|
{
|
|
return Form::make(new UserCoin(), function (Form $form) {
|
|
$form->display('id');
|
|
$form->text('pay_status');
|
|
$form->text('pay_time');
|
|
$form->saving(function (Form $form) {
|
|
$form->pay_time = '';
|
|
if ($form->pay_status == \App\Models\UserCoin::PAY_STATUS_YES) {
|
|
$form->pay_time = date('Y-m-d H:i:s');
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|