Преглед на файлове

seeder 加入測試來賓

maa3606 преди 2 години
родител
ревизия
6ed09d6060

+ 6 - 7
app/Http/Controllers/CheckInController.php

@@ -21,17 +21,16 @@ class CheckInController extends Controller
 
     public function draw_user_when_check_in(StoreCheckInRequest $request)
     {
-        return CheckIn::where('is_check_in', 'true')->get()->random($request->number);
+        return CheckIn::where('is_checked_in', 'true')->get()->random($request->number);
     }
 
     public function draw_user_with_place(StoreCheckInRequest $request)
     {
-        return CheckIn::join('users', 'check_ins.user_id', '=', 'users.user_id')
-            -> select('check_ins.user_id', 'name', 'department_id', 'is_check_in', 'check_ins.updated_at')
-            -> where('is_check_in', 'true')
-            -> whereTime('check_ins.updated_at', '<=', '2023-02-06 03:20:00')
-            -> whereNotIn('department_id', ['U30'])
-            -> get();
+        return CheckIn::where('is_checked_in', 'true')
+            ->whereTime('check_ins.updated_at', '<=', '2023-02-08 08:23:42')
+            ->whereIn('region', $request->region)
+            ->get()
+            ->random($request->number);
     }
 
     /**

+ 1 - 1
database/migrations/2023_02_06_030248_create_check_ins_table.php

@@ -17,7 +17,7 @@ return new class extends Migration
             $table->id();
             $table->string('user_id');
             $table->string('name');
-            $table->string('department_id');
+            $table->string('department_id')->nullable();
             $table->string('region');
             $table->boolean('is_checked_in');
             $table->string('activity_id');

+ 11 - 1
database/seeders/CheckInSeeder.php

@@ -36,11 +36,21 @@ class CheckInSeeder extends Seeder
                 'name' => $value->name,
                 'department_id' => $value->department_id,
                 'region' => $region,
-                'is_checked_in' => false,
+                'is_checked_in' => true,
                 'activity_id' => 1,
                 'created_at' => now(),
                 'updated_at' => now(),
             ]);
         }
+        CheckIn::create([
+            'user_id' => 'A1000',
+            'name' => '來賓1000',
+            'department_id' => null,
+            'region' => '來賓',
+            'is_checked_in' => true,
+            'activity_id' => 1,
+            'created_at' => now(),
+            'updated_at' => now(),
+        ]);
     }
 }

+ 10 - 3
resources/js/src/views/Draw.vue

@@ -5,7 +5,7 @@
         <b-card title="獎項列表">
           <b-card-text>所有獎項,點擊獎項以抽取</b-card-text>
           <b-table responsive hover :items="getPrizeList(prizeList)" bordered :fields="fields" @row-clicked="click"
-            v-b-modal.modal-center>
+            v-b-modal.modal-draw-error>
             <template #cell(ICON)="data" class="text-center">
               <div class="text-center">
                 <feather-icon :icon="data.value" />
@@ -15,7 +15,7 @@
         </b-card>
       </b-col>
       <b-modal id="modal-center" centered title="抽獎" cancel-variant="outline-secondary" cancel-title="Close"
-        ok-title="Accept" @ok="draw">
+        ok-title="Accept" @ok="test">
         <label>獎品:</label>
         <b-form-input v-model="prize" :disabled=true />
         <br>
@@ -26,6 +26,10 @@
         <b-form-spinbutton v-model="drawNumber" min="1" :max=drawMax />
       </b-modal>
 
+      <b-modal id="modal-draw-error" centered title="抽獎" ok-title="Close">
+        <label>獎品數量以抽完</label>
+      </b-modal>
+
       <b-col md="6">
         <b-card title="抽獎紀錄">
           <b-table responsive :items="getRecipientsList(recipientsList)" bordered>
@@ -123,7 +127,7 @@ export default {
       this.drawNumber = 1;
     },
     draw() {
-      useJwt.postData('/api/check_in/draw', { number: this.drawNumber }).then(res => {
+      useJwt.postData('/api/check_in/drawP', { number: this.drawNumber, region: this.placeSelected }).then(res => {
         res.data.forEach(element => {
           console.log(element);
           useJwt.postData('/api/prize/draw', { prizeId: this.prizeId }).then(p => {
@@ -147,6 +151,9 @@ export default {
         this.recipientsList = res.data;
       });
     },
+    test() {
+      console.log(this.placeSelected);
+    },
   },
 }
 </script>