链街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.

94 lines
3.2 KiB

  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Repositories\LanzuServiceReward;
  4. use App\Libs\SsdbClient;
  5. use Dcat\Admin\Form;
  6. use Dcat\Admin\Grid;
  7. use Dcat\Admin\Show;
  8. use Dcat\Admin\Controllers\AdminController;
  9. class LanzuServiceRewardController extends AdminController
  10. {
  11. /**
  12. * Make a grid builder.
  13. *
  14. * @return Grid
  15. */
  16. protected function grid()
  17. {
  18. return Grid::make(new LanzuServiceReward(), function (Grid $grid) {
  19. $grid->column('first_reward', '首单奖励')->display(function () {
  20. return $this->set_reward['first_reward'] . ' 元';
  21. });
  22. $grid->column('new_user_reward', '站点奖励')->display(function () {
  23. return $this->set_reward['new_user_reward'] . ' 元';
  24. });
  25. $grid->column('flow_reward', '流水奖励')->display(function () {
  26. $f = $this->set_reward['flow_reward'];
  27. return $f .= '%';
  28. });
  29. $grid->type->using([0 => '-', 1 => '社区']);
  30. $grid->created_at;
  31. $grid->updated_at;
  32. $grid->disableViewButton();
  33. $grid->disableCreateButton();
  34. $grid->disableDeleteButton();
  35. $grid->disableFilterButton();
  36. $grid->filter(function (Grid\Filter $filter) {
  37. $filter->equal('id');
  38. });
  39. });
  40. }
  41. /**
  42. * Make a show builder.
  43. *
  44. * @param mixed $id
  45. *
  46. * @return Show
  47. */
  48. protected function detail($id)
  49. {
  50. return Show::make($id, new LanzuServiceReward(), function (Show $show) {
  51. $show->field('first_reward', '首单奖励')->value($show->model()->set_reward['first_reward']);
  52. $show->field('new_user_reward', '新用户奖励')->value($show->model()->set_reward['new _user_reward']);
  53. $show->field('flow_reward', '流水奖励')->value($show->model()->set_reward['flow_reward']);
  54. $show->field('type')->value('社区');
  55. $show->created_at;
  56. $show->updated_at;
  57. });
  58. }
  59. /**
  60. * Make a form builder.
  61. *
  62. * @return Form
  63. */
  64. protected function form()
  65. {
  66. return Form::make(new LanzuServiceReward(), function (Form $form) {
  67. $form->display('id');
  68. $form->embeds('set_reward', '奖励配置', function ($form) {
  69. $form->number('first_reward', '首单奖励(元)')->min(0);
  70. $form->number('new_user_reward', '站点奖励(元)')->min(0);
  71. $form->number('flow_reward', '流水奖励(%)');
  72. });
  73. $form->radio('type')->options([1 => '社区'])->default(1);
  74. $form->saved(function (Form $form) {
  75. $ssdb = SsdbClient::client(env('SSDB_HOST'), env('SSDB_PORT'));
  76. $data = [
  77. 'first_reward' => $form->set_reward['first_reward'],
  78. 'new_user_reward' => $form->set_reward['new_user_reward'],
  79. 'flow_reward' => $form->set_reward['flow_reward'],
  80. ];
  81. $ssdb->multi_hset('set_reward_' . $form->type, $data);
  82. });
  83. $form->disableViewButton();
  84. $form->disableDeleteButton();
  85. });
  86. }
  87. }