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

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