PointMemberController.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Author: 芸众商城 www.yunzshop.com
  5. * Date: 2017/4/11
  6. * Time: 上午11:44
  7. */
  8. namespace app\backend\modules\finance\controllers;
  9. use app\backend\modules\member\models\MemberGroup;
  10. use app\backend\modules\member\models\MemberLevel;
  11. use app\common\components\BaseController;
  12. use app\common\facades\Setting;
  13. use app\common\helpers\PaginationHelper;
  14. use app\backend\modules\member\models\Member;
  15. use Illuminate\Contracts\Pagination\LengthAwarePaginator;
  16. use Yunshop\Assemble\Common\Models\OrderBonusModel;
  17. class PointMemberController extends BaseController
  18. {
  19. /**
  20. * @var LengthAwarePaginator
  21. */
  22. private $recordsModels;
  23. public function preAction()
  24. {
  25. parent::preAction();
  26. $this->recordsModels = $this->recordsModels()->paginate();
  27. }
  28. public function index()
  29. {
  30. return view('finance.point.point_member', $this->resultData());
  31. }
  32. private function resultData()
  33. {
  34. $data = [
  35. 'search' => $this->searchParams(),
  36. 'memberList' => $this->recordsModels,
  37. 'page' => $this->page(),
  38. 'amount' => $this->recordsModels()->sum('credit1'),
  39. 'transfer_love' => $this->isShow(),
  40. 'memberGroup' => MemberGroup::getMemberGroupList(),
  41. 'memberLevel' => MemberLevel::getMemberLevelList()
  42. ];
  43. return $data;
  44. }
  45. /**
  46. * 页面分页html
  47. *
  48. * @return string
  49. */
  50. private function page()
  51. {
  52. return PaginationHelper::show($this->recordsModels->total(), $this->recordsModels->currentPage(), $this->recordsModels->perPage());
  53. }
  54. /**
  55. * @return LengthAwarePaginator
  56. */
  57. private function recordsModels()
  58. {
  59. if ($search = \YunShop::request()) {
  60. return Member::searchMembers($search, 'credit1');
  61. }
  62. return Member::getMembers()->withoutDeleted();
  63. }
  64. /**
  65. * 搜索参数
  66. *
  67. * @return array
  68. */
  69. public function searchParams()
  70. {
  71. return request()->search ?: [];
  72. }
  73. /**
  74. * 是否显示转入爱心值设置
  75. *
  76. * @return bool
  77. */
  78. private function isShow()
  79. {
  80. return $this->lovePlugin() && $this->transferSet();
  81. }
  82. /**
  83. * 积分是否开启转入爱心值
  84. *
  85. * @return bool
  86. */
  87. private function transferSet()
  88. {
  89. return !!Setting::get('point.set.transfer_love');
  90. }
  91. /**
  92. * 爱心值插件是否开启
  93. *
  94. * @return bool
  95. */
  96. private function lovePlugin()
  97. {
  98. return app('plugins')->isEnabled('love');
  99. }
  100. }