MemberController.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
  4. // +----------------------------------------------------------------------
  5. // | 版权所有 2017~2021 LARAVEL研发中心
  6. // +----------------------------------------------------------------------
  7. // | 官方网站: http://www.laravel.cn
  8. // +----------------------------------------------------------------------
  9. // | Author: laravel开发员 <laravel.qq.com>
  10. // +----------------------------------------------------------------------
  11. namespace App\Http\Controllers\Admin;
  12. use App\Http\Validator\MemberValidator;
  13. use App\Services\Common\MemberService;
  14. use Illuminate\Http\Request;
  15. /**
  16. * 会员管理-控制器
  17. * @author laravel开发员
  18. * @since 2020/11/11
  19. * Class MemberController
  20. * @package App\Http\Controllers
  21. */
  22. class MemberController extends Backend
  23. {
  24. /**
  25. * 构造函数
  26. * @author laravel开发员
  27. * @since 2020/11/11
  28. * MemberController constructor.
  29. */
  30. public function __construct()
  31. {
  32. parent::__construct();
  33. $this->service = new MemberService();
  34. }
  35. /**
  36. * 列表
  37. * @return array
  38. */
  39. public function index()
  40. {
  41. $pageSize = request()->get('limit', 10);
  42. $list = $this->service->getDataList(request()->all(), $pageSize);
  43. $message = array(
  44. "msg" => '操作成功',
  45. "code" => 0,
  46. "data" => isset($list['list']) ? $list['list'] : [],
  47. "count" => isset($list['total']) ? $list['total'] : 0,
  48. );
  49. return $message;
  50. }
  51. /**
  52. * 审核
  53. * @return array
  54. */
  55. public function confirm(MemberValidator $validator)
  56. {
  57. $params = request()->post();
  58. $params = $validator->check($params, 'confirm');
  59. if (!is_array($params)) {
  60. return message($params, false);
  61. }
  62. if (MemberService::make()->confirm($this->userId, $params)) {
  63. return message(MemberService::make()->getError(), true);
  64. } else {
  65. return message(MemberService::make()->getError(), false);
  66. }
  67. }
  68. /**
  69. * 选项列表
  70. * @return mixed
  71. */
  72. public function options()
  73. {
  74. $result = $this->service->options();
  75. return message(1002, true, $result);
  76. }
  77. /**
  78. * 批量设置VIP
  79. * @return array
  80. */
  81. public function batchVip()
  82. {
  83. $params = request()->post();
  84. if (empty($params['ids']) || !is_array($params['ids'])) {
  85. return message("请选择要操作的会员", false);
  86. }
  87. // 判断是否设置各个VIP类型
  88. if (isset($params['is_zg_vip'])) {
  89. $updateData['is_zg_vip'] = intval($params['is_zg_vip']);
  90. }
  91. if (isset($params['is_zsb_vip'])) {
  92. $updateData['is_zsb_vip'] = intval($params['is_zsb_vip']);
  93. }
  94. if (isset($params['is_video_vip'])) {
  95. $updateData['is_video_vip'] = intval($params['is_video_vip']);
  96. }
  97. if (empty($updateData)) {
  98. return message("未指定要修改的VIP类型", false);
  99. }
  100. return $this->service->batchVip($params);
  101. }
  102. /**
  103. * 会员注册统计接口(分页)
  104. */
  105. public function stat(Request $request)
  106. {
  107. $params = $request->only(['dateType', 'start_time', 'end_time', 'page', 'limit']);
  108. $data = $this->service->getMemberStats($params);
  109. return response()->json([
  110. 'code' => 0,
  111. 'data' => $data
  112. ]);
  113. }
  114. }