PrizeController.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Prize;
  4. use App\Http\Requests\StorePrizeRequest;
  5. use App\Http\Requests\UpdatePrizeRequest;
  6. class PrizeController extends Controller
  7. {
  8. /**
  9. * Display a listing of the resource.
  10. *
  11. * @return \Illuminate\Http\Response
  12. */
  13. public function index()
  14. {
  15. return Prize::all();
  16. }
  17. public function index_by_activity(UpdatePrizeRequest $request)
  18. {
  19. return Prize::where('activity_id', $request->activityId)->get();
  20. }
  21. public function drawable_prizes()
  22. {
  23. return Prize::where('count', '>', 0)->get();
  24. }
  25. /**
  26. * Show the form for creating a new resource.
  27. *
  28. * @return \Illuminate\Http\Response
  29. */
  30. public function create()
  31. {
  32. //
  33. }
  34. /**
  35. * Store a newly created resource in storage.
  36. *
  37. * @param \App\Http\Requests\StorePrizeRequest $request
  38. * @return \Illuminate\Http\Response
  39. */
  40. public function store(StorePrizeRequest $request)
  41. {
  42. //
  43. }
  44. /**
  45. * Display the specified resource.
  46. *
  47. * @param \App\Models\Prize $prize
  48. * @return \Illuminate\Http\Response
  49. */
  50. public function show(Prize $prize)
  51. {
  52. //
  53. }
  54. /**
  55. * Show the form for editing the specified resource.
  56. *
  57. * @param \App\Models\Prize $prize
  58. * @return \Illuminate\Http\Response
  59. */
  60. public function edit(Prize $prize)
  61. {
  62. //
  63. }
  64. /**
  65. * Update the specified resource in storage.
  66. *
  67. * @param \App\Http\Requests\UpdatePrizeRequest $request
  68. * @param \App\Models\Prize $prize
  69. * @return \Illuminate\Http\Response
  70. */
  71. public function update(UpdatePrizeRequest $request, Prize $prize)
  72. {
  73. //
  74. }
  75. public function draw(UpdatePrizeRequest $request, Prize $prize)
  76. {
  77. $prize = Prize::where('id', $request->prizeId)->first();
  78. if (!$prize) {
  79. // return 'prize not found';
  80. return false;
  81. }
  82. if ($prize->count > 0) {
  83. $prize->update([
  84. 'count' => $prize->count - 1,
  85. 'updated_at' => now(),
  86. ]);
  87. return true;
  88. }
  89. // return 'prize is empty';
  90. return false;
  91. }
  92. /**
  93. * Remove the specified resource from storage.
  94. *
  95. * @param \App\Models\Prize $prize
  96. * @return \Illuminate\Http\Response
  97. */
  98. public function destroy(Prize $prize)
  99. {
  100. //
  101. }
  102. }