Ken 1 tuần trước cách đây
mục cha
commit
ef292d303b
1 tập tin đã thay đổi với 20 bổ sung2 xóa
  1. 20 2
      app/Http/Controllers/api/ActivityReward.php

+ 20 - 2
app/Http/Controllers/api/ActivityReward.php

@@ -13,12 +13,30 @@ class ActivityReward extends BaseController
     public function index()
     {
         try {
+            request()->validate([
+                'member_id' => ['nullable', 'integer'],
+            ]);
+            $memberId = request()->input('member_id');
             $time = time();
-            $list = ActivityRewardModel::where(ActivityRewardService::getWhere([
+            $query = ActivityRewardModel::where(ActivityRewardService::getWhere([
                 'start_time' => ['<=', $time],
                 'end_time' => ['>=', $time],
                 'status' => ActivityRewardModel::STATUS_UP
-            ]))->orderByDesc('id')->get()->toArray();
+            ]));
+
+            if (!empty($memberId)) {
+                $query->with(['userActivities' => function ($query1) use ($memberId) {
+                    $query1->where('user_id', $memberId);
+                }]);
+                $list = $query->orderByDesc('id')->get();
+                $list->transform(function ($activity) {
+                    $activity->is_claimed = $activity->userActivities->isNotEmpty();
+                    return $activity;
+                })->toArray();
+            } else {
+                $list = $query->orderByDesc('id')->get()->toArray();
+            }
+
         } catch (ValidationException $e) {
             return $this->error($e->validator->errors()->first());
         } catch (Exception $e) {