Ken 2 luni în urmă
părinte
comite
b84a2c9de6

+ 41 - 0
app/Http/Controllers/admin/ActivityUser.php

@@ -0,0 +1,41 @@
+<?php
+
+namespace App\Http\Controllers\admin;
+
+use App\Constants\HttpStatus;
+use App\Http\Controllers\Controller;
+use App\Services\ActivityRewardService;
+use App\Services\ActivityUserService;
+use Illuminate\Http\JsonResponse;
+use Illuminate\Validation\ValidationException;
+use Exception;
+use App\Models\ActivityUser as ActivityUserModel;
+
+class ActivityUser extends Controller
+{
+    public function index(): JsonResponse
+    {
+
+        try {
+            $params = request()->validate([
+                'page' => ['required', 'integer', 'min:1'],
+                'limit' => ['required', 'integer', 'min:1'],
+                'title' => ['nullable', 'string'],
+                'member_id' => ['nullable', 'string'],
+            ]);
+            $page = request()->input('page', 1);
+            $limit = request()->input('limit', 10);
+            $where = ActivityUserService::getWhere($params);
+            $query = ActivityUserModel::where($where);
+            $count = $query->count();
+            $list = $query->orderByDesc('id')
+                ->forPage($page, $limit)->get()->toArray();
+            $result = ['total' => $count, 'data' => $list];
+        } catch (ValidationException $e) {
+            return $this->error(HttpStatus::CUSTOM_ERROR, $e->validator->errors()->first());
+        } catch (Exception $e) {
+            return $this->error($e->getCode(), $e->getMessage());
+        }
+        return $this->success($result);
+    }
+}

+ 4 - 1
app/Services/ActivityUserService.php

@@ -14,7 +14,6 @@ class ActivityUserService extends BaseService
     public static string $MODEL = ActivityUser::class;
 
 
-
     public static function getWhere(array $search = []): array
     {
         $where = [];
@@ -29,6 +28,10 @@ class ActivityUserService extends BaseService
             $where[] = ['status', '=', $search['status']];
         }
 
+        if (isset($search['member_id']) && !empty($search['member_id'])) {
+            $where[] = ['member_id', '=', $search['member_id']];
+        }
+
 
         return $where;
     }