链街Dcat后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

93 lines
3.2 KiB

<?php
namespace App\Admin\Controllers;
use App\Admin\Repositories\LanzuServiceReward;
use App\Libs\SsdbClient;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Controllers\AdminController;
class LanzuServiceRewardController extends AdminController
{
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
return Grid::make(new LanzuServiceReward(), function (Grid $grid) {
$grid->column('first_reward', '首单奖励')->display(function () {
return $this->set_reward['first_reward'] . ' 元';
});
$grid->column('new_user_reward', '站点奖励')->display(function () {
return $this->set_reward['new_user_reward'] . ' 元';
});
$grid->column('flow_reward', '流水奖励')->display(function () {
$f = $this->set_reward['flow_reward'];
return $f .= '%';
});
$grid->type->using([0 => '-', 1 => '社区']);
$grid->created_at;
$grid->updated_at;
$grid->disableViewButton();
$grid->disableCreateButton();
$grid->disableDeleteButton();
$grid->disableFilterButton();
$grid->filter(function (Grid\Filter $filter) {
$filter->equal('id');
});
});
}
/**
* Make a show builder.
*
* @param mixed $id
*
* @return Show
*/
protected function detail($id)
{
return Show::make($id, new LanzuServiceReward(), function (Show $show) {
$show->field('first_reward', '首单奖励')->value($show->model()->set_reward['first_reward']);
$show->field('new_user_reward', '新用户奖励')->value($show->model()->set_reward['new _user_reward']);
$show->field('flow_reward', '流水奖励')->value($show->model()->set_reward['flow_reward']);
$show->field('type')->value('社区');
$show->created_at;
$show->updated_at;
});
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
return Form::make(new LanzuServiceReward(), function (Form $form) {
$form->display('id');
$form->embeds('set_reward', '奖励配置', function ($form) {
$form->number('first_reward', '首单奖励(元)')->min(0);
$form->number('new_user_reward', '站点奖励(元)')->min(0);
$form->number('flow_reward', '流水奖励(%)');
});
$form->radio('type')->options([1 => '社区'])->default(1);
$form->saved(function (Form $form) {
$ssdb = SsdbClient::client(env('SSDB_HOST'), env('SSDB_PORT'));
$data = [
'first_reward' => $form->set_reward['first_reward'],
'new_user_reward' => $form->set_reward['new_user_reward'],
'flow_reward' => $form->set_reward['flow_reward'],
];
$ssdb->multi_hset('set_reward_' . $form->type, $data);
});
$form->disableViewButton();
});
}
}