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

92 lines
3.1 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->filter(function (Grid\Filter $filter) {
  36. $filter->equal('id');
  37. });
  38. });
  39. }
  40. /**
  41. * Make a show builder.
  42. *
  43. * @param mixed $id
  44. *
  45. * @return Show
  46. */
  47. protected function detail($id)
  48. {
  49. return Show::make($id, new LanzuServiceReward(), function (Show $show) {
  50. $show->field('first_reward', '首单奖励')->value($show->model()->set_reward['first_reward']);
  51. $show->field('new_user_reward', '新用户奖励')->value($show->model()->set_reward['new _user_reward']);
  52. $show->field('flow_reward', '流水奖励')->value($show->model()->set_reward['flow_reward']);
  53. $show->field('type')->value('社区');
  54. $show->created_at;
  55. $show->updated_at;
  56. });
  57. }
  58. /**
  59. * Make a form builder.
  60. *
  61. * @return Form
  62. */
  63. protected function form()
  64. {
  65. return Form::make(new LanzuServiceReward(), function (Form $form) {
  66. $form->display('id');
  67. $form->embeds('set_reward', '奖励配置', function ($form) {
  68. $form->number('first_reward', '首单奖励(元)')->min(0);
  69. $form->number('new_user_reward', '站点奖励(元)')->min(0);
  70. $form->number('flow_reward', '流水奖励(%)');
  71. });
  72. $form->radio('type')->options([1 => '社区'])->default(1);
  73. $form->saved(function (Form $form) {
  74. $ssdb = SsdbClient::client(env('SSDB_HOST'), env('SSDB_PORT'));
  75. $data = [
  76. 'first_reward' => $form->set_reward['first_reward'],
  77. 'new_user_reward' => $form->set_reward['new_user_reward'],
  78. 'flow_reward' => $form->set_reward['flow_reward'],
  79. ];
  80. $ssdb->multi_hset('set_reward_' . $form->type, $data);
  81. });
  82. $form->disableViewButton();
  83. });
  84. }
  85. }