MembersController.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. namespace App\Http\Controllers\Member;
  3. use App\Http\Controllers\AdminBaseController;
  4. use App\Http\Requests\MemberCreateRequest;
  5. use App\Http\Requests\MemberUpdateRequest;
  6. use App\Models\Member;
  7. use App\Repositories\Eloquent\MemberRepositoryEloquent;
  8. use App\Servers\MemberServer;
  9. use App\Validators\MemberValidator;
  10. /**
  11. * Class MembersController.
  12. *
  13. * @package namespace App\Http\Controllers;
  14. */
  15. class MembersController extends AdminBaseController
  16. {
  17. /**
  18. * @var MemberRepositoryEloquent
  19. */
  20. protected $repository;
  21. /**
  22. * @var MemberValidator
  23. */
  24. protected $validator;
  25. /**
  26. * MembersController constructor.
  27. *
  28. * @param MemberRepositoryEloquent $repository
  29. * @param MemberValidator $validator
  30. */
  31. public function __construct(MemberRepositoryEloquent $repository, MemberValidator $validator)
  32. {
  33. parent::__construct($repository, $validator);
  34. }
  35. /**
  36. * 数据检索
  37. */
  38. public function _indexScopeQuery()
  39. {
  40. $where = [];
  41. $search = explode(";", request()->input('search', ""));
  42. $start = $end = null;
  43. $fieldSearchable = $this->repository->getFieldsSearchable();
  44. foreach ($search as $value) {
  45. if (!empty($value)) {
  46. list($one, $tow) = explode(":", $value);
  47. if (!empty($fieldSearchable[$one])) {
  48. if ($fieldSearchable[$one] == 'like') $tow = "%{$tow}%";
  49. $where[] = [$one, $fieldSearchable[$one], $tow];
  50. } elseif ($one == 'start') {
  51. $start = $tow . " 00:00:00";
  52. } elseif ($one == 'end') {
  53. $end = $tow . " 23:59:59";
  54. } else {
  55. continue;
  56. }
  57. }
  58. }
  59. return function ($query) use ($where, $start, $end) {
  60. if ($start) $where[] = ['created_at', '>=', $start];
  61. if ($end) $where[] = ['created_at', '<=', $end];
  62. if ($where) {
  63. $query->where($where);
  64. }
  65. };
  66. }
  67. /**
  68. * 数据更新
  69. */
  70. protected function _indexPost($data)
  71. {
  72. foreach ($data as $value){
  73. $value->{'level_name'}=MemberServer::creatServer()->getLevelName($value->{'level_id'});
  74. }
  75. return $data;
  76. }
  77. function selectAll()
  78. {
  79. return view('admins.members.all');
  80. }
  81. function getUserIds(){
  82. $user_ids=Member::where('is_del',0)->pluck('id')->toArray();
  83. return $this->success('获取数据成功','',$user_ids);
  84. }
  85. }