RechargeRecordsController.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: king
  5. * Date: 2018/10/22
  6. * Time: 下午5:30
  7. */
  8. namespace app\backend\modules\point\controllers;
  9. use app\backend\modules\point\models\RechargeModel;
  10. use app\common\components\BaseController;
  11. use app\common\helpers\PaginationHelper;
  12. use Illuminate\Contracts\Pagination\LengthAwarePaginator;
  13. class RechargeRecordsController extends BaseController
  14. {
  15. public function index()
  16. {
  17. return view('point.rechargeRecords', $this->getResultData());
  18. }
  19. /**
  20. * @return array
  21. */
  22. private function getResultData()
  23. {
  24. $recordsModels = $this->recordsModels();
  25. return [
  26. 'page' => $this->page($recordsModels),
  27. 'search' => $this->searchParams(),
  28. 'pageList' => $recordsModels
  29. ];
  30. }
  31. /**
  32. * @return LengthAwarePaginator
  33. */
  34. private function recordsModels()
  35. {
  36. $recordsModels = RechargeModel::uniacid()->with('member');
  37. if ($search = $this->searchParams()) {
  38. $recordsModels = $recordsModels->search($search);
  39. }
  40. return $recordsModels->orderBy('id', 'desc')->paginate();
  41. }
  42. /**
  43. * @param LengthAwarePaginator $recordsModels
  44. *
  45. * @return string
  46. */
  47. private function page(LengthAwarePaginator $recordsModels)
  48. {
  49. return PaginationHelper::show($recordsModels->total(), $recordsModels->currentPage(), $recordsModels->perPage());
  50. }
  51. /**
  52. * @return array
  53. */
  54. public function searchParams()
  55. {
  56. return request()->search ?: [];
  57. }
  58. }