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

115 lines
3.6 KiB

  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Repositories\LanzuCsWithdraw;
  4. use App\Models\LanzuCsInfo;
  5. use App\Models\LanzuUserBalance;
  6. use Dcat\Admin\Admin;
  7. use Dcat\Admin\Form;
  8. use Dcat\Admin\Grid;
  9. use Dcat\Admin\Show;
  10. use Dcat\Admin\Controllers\AdminController;
  11. class LanzuCsWithdrawController extends AdminController
  12. {
  13. /**
  14. * Make a grid builder.
  15. *
  16. * @return Grid
  17. */
  18. protected function grid()
  19. {
  20. return Grid::make(new LanzuCsWithdraw(), function (Grid $grid) {
  21. $user = Admin::user();
  22. if (!$user->isRole('lanzu_cs')){//如果不是社区站点的角色登陆,则隐藏提现入口
  23. $grid->disableCreateButton();
  24. }else{
  25. $grid->disableEditButton();
  26. }
  27. $grid->disableViewButton();
  28. $grid->disableDeleteButton();
  29. $grid->id->sortable();
  30. $grid->cs_id('提现用户')->display(function (){
  31. return LanzuCsInfo::where('id',$this->cs_id)->first()->name;
  32. });
  33. $grid->money;
  34. $grid->status('状态')->using([1=>'已同意',-1=>'已拒绝',0=>'待审核'])->label([1=>'success',-1=>'danger',0=>'default']);
  35. $grid->is_pay('是否到账')->using(['否','是']);
  36. $grid->created_at;
  37. $grid->filter(function (Grid\Filter $filter) {
  38. $filter->equal('id');
  39. });
  40. });
  41. }
  42. /**
  43. * Make a show builder.
  44. *
  45. * @param mixed $id
  46. *
  47. * @return Show
  48. */
  49. protected function detail($id)
  50. {
  51. return Show::make($id, new LanzuCsWithdraw(), function (Show $show) {
  52. $show->id;
  53. $show->cs_id('提现用户');
  54. $show->money;
  55. $show->status('状态');
  56. $show->is_pay('是否到帐');
  57. $show->created_at;
  58. $show->updated_at;
  59. });
  60. }
  61. /**
  62. * Make a form builder.
  63. *
  64. * @return Form
  65. */
  66. protected function form()
  67. {
  68. return Form::make(new LanzuCsWithdraw('csInfo'), function (Form $form) {
  69. $form->display('id');
  70. $user = Admin::user();
  71. if ($form->isCreating()){//如果是添加操作
  72. if ($user->isRole('lanzu_cs')){//如果是社区站点角色
  73. $cs = LanzuCsInfo::where('admin_user_id',$user->id)->first();
  74. if ($cs){
  75. $form->text('amount', '可提现金额')->value(LanzuUserBalance::getBalance($cs->id,3))->disable();
  76. $form->hidden('cs_id', '提现用户id')->value($cs->id);
  77. $form->text('csInfo.name', '提现用户')->value($cs->name)->disable();
  78. $form->text('money');
  79. }
  80. }
  81. }else{//编辑操作
  82. $form->display('amount', '可提现金额')->value(LanzuUserBalance::getBalance($form->model()->cs_id,3));
  83. $form->display('cs_id', '提现用户')->value($form->model()->name);
  84. $form->display('money');
  85. $form->radio('status','状态')->options([1=>'同意',-1=>'拒绝'])->default(-1);
  86. }
  87. });
  88. }
  89. /**
  90. * 获取可提现金额
  91. * @param $aduId
  92. * @return float
  93. */
  94. protected function getBalance($aduId)
  95. {
  96. $row = $this->getMmInfoByAduId($aduId);
  97. if ($row) {
  98. $res = MpBalance::where(['user_id' => $row->user_id])->first();
  99. if ($res) {
  100. return $res->balance;
  101. }
  102. }
  103. return '0.00';
  104. }
  105. }