RecipientsController.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Recipients;
  4. use App\Http\Requests\StoreRecipientsRequest;
  5. use App\Http\Requests\UpdateRecipientsRequest;
  6. use App\Models\Prize;
  7. class RecipientsController extends Controller
  8. {
  9. /**
  10. * Display a listing of the resource.
  11. *
  12. * @return \Illuminate\Http\Response
  13. */
  14. public function index()
  15. {
  16. return Recipients::all();
  17. }
  18. public function index_by_activity(UpdateRecipientsRequest $request)
  19. {
  20. return Recipients::join('prizes', 'recipients.prize_id', '=', 'prizes.id')
  21. ->select('user_id', 'prizes.activity_id', 'prize_id', 'recipients.created_at')
  22. ->where('prizes.activity_id', $request->activityId)
  23. ->orderBy('recipients.created_at', 'DESC')
  24. ->get();
  25. }
  26. /**
  27. * Show the form for creating a new resource.
  28. *
  29. * @return \Illuminate\Http\Response
  30. */
  31. public function create()
  32. {
  33. //
  34. }
  35. /**
  36. * Store a newly created resource in storage.
  37. *
  38. * @param \App\Http\Requests\StoreRecipientsRequest $request
  39. * @return \Illuminate\Http\Response
  40. */
  41. public function store(StoreRecipientsRequest $request)
  42. {
  43. Recipients::insert([
  44. 'prize_id' => $request->prizeId,
  45. 'user_id' => $request->userId,
  46. 'is_claimed' => false,
  47. 'created_at' => now(),
  48. 'updated_at' => now(),
  49. ]);
  50. return 'success';
  51. }
  52. public function store_patch(StoreRecipientsRequest $request)
  53. {
  54. $data = [];
  55. foreach ($request->userIdList as $userId) {
  56. array_push($data, [
  57. 'prize_id' => $request->prizeId,
  58. 'user_id' => $userId,
  59. 'is_claimed' => false,
  60. 'created_at' => now(),
  61. 'updated_at' => now(),
  62. ]);
  63. }
  64. Recipients::insert($data);
  65. return 'success';
  66. }
  67. /**
  68. * Display the specified resource.
  69. *
  70. * @param \App\Models\Recipients $recipients
  71. * @return \Illuminate\Http\Response
  72. */
  73. public function show(Recipients $recipients)
  74. {
  75. //
  76. }
  77. /**
  78. * Show the form for editing the specified resource.
  79. *
  80. * @param \App\Models\Recipients $recipients
  81. * @return \Illuminate\Http\Response
  82. */
  83. public function edit(Recipients $recipients)
  84. {
  85. //
  86. }
  87. /**
  88. * Update the specified resource in storage.
  89. *
  90. * @param \App\Http\Requests\UpdateRecipientsRequest $request
  91. * @param \App\Models\Recipients $recipients
  92. * @return \Illuminate\Http\Response
  93. */
  94. public function update(UpdateRecipientsRequest $request, Recipients $recipients)
  95. {
  96. Recipients::where('user_id', $request->userId)->update(['prize_id' => $request->prizeId]);
  97. return 'success';
  98. }
  99. /**
  100. * Remove the specified resource from storage.
  101. *
  102. * @param \App\Models\Recipients $recipients
  103. * @return \Illuminate\Http\Response
  104. */
  105. public function destroy(Recipients $recipients)
  106. {
  107. //
  108. }
  109. }