UserCouponsController.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <?php
  2. namespace App\Admin\Controllers\UserManagement\BmUser;
  3. use App\Models\CouponType;
  4. use App\Models\UserCoupon;
  5. use Encore\Admin\Controllers\AdminController;
  6. use Encore\Admin\Form;
  7. use Encore\Admin\Grid;
  8. use Encore\Admin\Show;
  9. use SebastianBergmann\CodeCoverage\TestFixture\C;
  10. class UserCouponsController extends AdminController
  11. {
  12. /**
  13. * Title for current resource.
  14. *
  15. * @var string
  16. */
  17. protected $title = '优惠券列表';
  18. /**
  19. * Make a grid builder.
  20. *
  21. * @return Grid
  22. */
  23. protected function grid()
  24. {
  25. $grid = new Grid(new UserCoupon());
  26. $grid->disableCreateButton();
  27. $uesr_id = \request('user_id');
  28. $grid->filter(function ($filter){
  29. $filter->disableIdFilter();
  30. // $filter->equal('user_id','用户id');
  31. });
  32. $grid->disableActions();
  33. $grid->disableBatchActions();
  34. $grid->model()->where('user_id',$uesr_id)->orderBy('id','desc');
  35. $grid->column('id', __('Id'));
  36. $grid->column('coupon_id', __('优惠券ID'));
  37. $grid->column('name', __('券名称'));
  38. $grid->column('icon', __('券图标'))->lightbox(['width' =>'', 'height' => 30]);
  39. $grid->column('title', __('券标题'));
  40. $grid->column('type', __('类型'))->using([1=>'满减券',2=>'折扣券']);
  41. $grid->column('usable_type', __('可用类型'))->using([1=>'全部产品通用',2=>'部分产品可用']);
  42. $grid->column('CouponType', __('可用产品'))->pluck('product_type','id')->display(function (){
  43. $name = [];
  44. if ($this->usable_type != 1)
  45. {
  46. $coupon = CouponType::where('coupon_id',$this->coupon_id)->where('user_coupon_id',0)->pluck('product_type')->toArray();
  47. $name = [];
  48. foreach ($coupon as $value)
  49. {
  50. switch ($value){
  51. case 1:
  52. array_push($name,'电话咨询');
  53. break;
  54. case 2:
  55. array_push($name,'图文咨询');
  56. break;
  57. case 3:
  58. array_push($name,'门诊咨询');
  59. break;
  60. case 4:
  61. array_push($name,'疫苗接种');
  62. break;
  63. case 5:
  64. array_push($name,'儿保预约');
  65. break;
  66. case 6:
  67. array_push($name,'服务包');
  68. break;
  69. case 7:
  70. array_push($name,'充值');
  71. break;
  72. }
  73. }
  74. return $name;
  75. }else{
  76. array_push($name,'全产品通用');
  77. return $name;
  78. }
  79. })->label('info');
  80. $grid->column('money', __('满减券的优惠钱数'))->display(function ($money){
  81. return $money/100;
  82. });
  83. $grid->column('min_consume_amount', __('最低消费金额'))->display(function ($money){
  84. return $money/100;
  85. });
  86. $grid->column('discount', __('折扣'));
  87. $grid->column('max_reduce_amount', __('折扣券的最大抵扣金额'))->display(function ($money){
  88. return $money/100;
  89. });
  90. $grid->column('expire_type', __('过期类型'))->using([1=>'领取N天过期',2=>'设置固定过期时间']);
  91. $grid->column('effective_days', __('有效天数'));
  92. $grid->column('start_time', __('有效期开始时间'))->display(function ($time){
  93. if($time == 0)
  94. {
  95. return '';
  96. }else
  97. return date("Y-m-d H:i",$time);
  98. });
  99. $grid->column('end_time', __('有效期结束时间'))->display(function ($time){
  100. if($time == 0)
  101. {
  102. return '';
  103. }else
  104. return date("Y-m-d H:i",$time);
  105. });
  106. $grid->column('expire_time', __('过期时间'))->display(function ($time){
  107. if($time == 0)
  108. {
  109. return '';
  110. }else
  111. return date("Y-m-d H:i",$time);
  112. });
  113. $grid->column('use_time', __('使用时间'))->display(function ($time){
  114. if($time == 0)
  115. {
  116. return '';
  117. }else
  118. return date("Y-m-d H:i",$time);
  119. });
  120. $grid->column('status', __('优惠券状态'))->using([1=>'可用',2=>'已用',3=>'已过期']);
  121. $grid->column('created_at', __('创建时间'));
  122. $grid->column('updated_at', __('更新时间'));
  123. return $grid;
  124. }
  125. /**
  126. * Make a show builder.
  127. *
  128. * @param mixed $id
  129. * @return Show
  130. */
  131. protected function detail($id)
  132. {
  133. $show = new Show(UserCoupon::findOrFail($id));
  134. return $show;
  135. }
  136. /**
  137. * Make a form builder.
  138. *
  139. * @return Form
  140. */
  141. protected function form()
  142. {
  143. $form = new Form(new UserCoupon());
  144. return $form;
  145. }
  146. }