jxg/jinxiangguo-master/app/Admin/Controllers/UserCoinController.php

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');
}
});
});
}
}