activity_name = $request->activity_name; $activity->date = $request->date; $activity->place = $request->place; $activity->user_id = $request->user_id; $activity->deadline = $request->deadline; $activity->save(); } /** * Display the specified resource. * * @param \App\Models\Activity $activity * @return \Illuminate\Http\Response */ public function show(Activity $activity) { // } /** * Show the form for editing the specified resource. * * @param \App\Models\Activity $activity * @return \Illuminate\Http\Response */ public function edit(Activity $activity) { // } /** * Update the specified resource in storage. * * @param \App\Http\Requests\UpdateActivityRequest $request * @param \App\Models\Activity $activity * @return \Illuminate\Http\Response */ public function update(UpdateActivityRequest $request, Activity $activity) { // } /** * Remove the specified resource from storage. * * @param \App\Models\Activity $activity * @return \Illuminate\Http\Response */ public function destroy(Activity $activity) { // } public function claim(Request $request) { $prize = ''; $isClaimed = false; $user_id = $request->user_id; $user = User::where('user_id', '=', $user_id)->get()[0]; if (Recipients::where('user_id', '=', $user_id)->exists()) { $isRecipients = true; $recipients = Recipients::where('user_id', '=', $user_id)->get()[0]; $prize_id = $recipients->prize_id; $isClaimed = $recipients->is_claimed; $prize = Prize::where('id', '=', $prize_id)->get()[0]->name; } else { $isRecipients = false; } $response = [ 'user' => $user, 'isRecipients' => $isRecipients, 'isClaimed' => $isClaimed, 'prize' => $prize, ]; return response($response, 201); } public function isClaimed(UpdateActivityRequest $request) { $recipient = Recipients::where('user_id', '=', $request->user_id)->get()[0]; $recipient->is_claimed = true; $recipient->save(); return $recipient; } //TODO 目前只有匯入功能有加activity_id where public function uploadFile(Request $request) { $option = $request->option; $upload_path = public_path('upload'); $file_name = $request->file->getClientOriginalName(); $file_path = $upload_path . '/' . $file_name; if (File::exists($file_path)) { File::delete($file_path); } $request->file->move($upload_path, $file_name); $extension = pathinfo($file_path, PATHINFO_EXTENSION); if ('csv' == $extension) { $reader = new \PhpOffice\PhpSpreadsheet\Reader\Csv(); } else if ('xls' == $extension) { $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xls(); } else if ('xlsx' == $extension) { $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx(); } $reader->setReadDataOnly(true); $reader->setReadEmptyCells(false); $inputFileName = public_path('upload') . '\\' . $file_name; $spreadsheet = $reader->load($inputFileName); $worksheet = $spreadsheet->getActiveSheet(); $highestRow = $worksheet->getHighestDataRow(); $activity_id = DB::table('activities')->orderBy('id', 'desc')->first()->id; if($option == 'prize'){ DB::table('prizes')->where('activity_id', '=', $activity_id)->delete(); date_default_timezone_set('Asia/Taipei'); for ($row = 2; $row <= $highestRow; $row++) { DB::table('prizes')->insert([ 'activity_id' => $activity_id, 'name' => $worksheet->getCell([1, $row])->getValue(), 'count' => $worksheet->getCell([2, $row])->getValue(), 'provider' => $worksheet->getCell([3, $row])->getValue(), 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s'), ]); } }else if($option == 'guest'){ //TODO 匯入來賓資料 //還要改 DB::table('checkin')->where('role', '=', '來賓')->delete(); date_default_timezone_set('Asia/Taipei'); for ($row = 2; $row <= $highestRow; $row++) { DB::table('checkin')->insert([ 'activity_id' => $activity_id, 'name' => $worksheet->getCell([1, $row])->getValue(), 'count' => $worksheet->getCell([2, $row])->getValue(), 'provider' => $worksheet->getCell([3, $row])->getValue(), 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s'), ]); } } $successText = 'You have successfully uploaded "' . $file_name . '"'; $response = [ 'success' => $successText, ]; return response($response, 201); } }