PrizeController.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Prize;
  4. use Illuminate\Http\Request;
  5. use App\Http\Requests\StorePrizeRequest;
  6. use App\Http\Requests\UpdatePrizeRequest;
  7. class PrizeController 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 Prize::all();
  17. }
  18. public function index_by_activity(UpdatePrizeRequest $request)
  19. {
  20. return Prize::where('activity_id', $request->activityId)->get();
  21. }
  22. public function prize_is_drawable(Request $request)
  23. {
  24. $prize = Prize::where('id', $request->prizeId)->first();
  25. if ($prize->count >= $request->number) {
  26. return true;
  27. }
  28. return false;
  29. }
  30. /**
  31. * Show the form for creating a new resource.
  32. *
  33. * @return \Illuminate\Http\Response
  34. */
  35. public function create()
  36. {
  37. //
  38. }
  39. /**
  40. * Store a newly created resource in storage.
  41. *
  42. * @param \App\Http\Requests\StorePrizeRequest $request
  43. * @return \Illuminate\Http\Response
  44. */
  45. public function store(StorePrizeRequest $request)
  46. {
  47. Prize::insert([
  48. 'activity_id' => $request->activity_id,
  49. 'name' => $request->name,
  50. 'provider' => $request->provider,
  51. 'count' => $request->count,
  52. 'created_at' => now(),
  53. 'updated_at' => now(),
  54. ]);
  55. return true;
  56. }
  57. /**
  58. * Display the specified resource.
  59. *
  60. * @param \App\Models\Prize $prize
  61. * @return \Illuminate\Http\Response
  62. */
  63. public function show(Prize $prize)
  64. {
  65. //
  66. }
  67. /**
  68. * Show the form for editing the specified resource.
  69. *
  70. * @param \App\Models\Prize $prize
  71. * @return \Illuminate\Http\Response
  72. */
  73. public function edit(Prize $prize)
  74. {
  75. //
  76. }
  77. /**
  78. * Update the specified resource in storage.
  79. *
  80. * @param \App\Http\Requests\UpdatePrizeRequest $request
  81. * @param \App\Models\Prize $prize
  82. * @return \Illuminate\Http\Response
  83. */
  84. public function update(UpdatePrizeRequest $request, Prize $prize)
  85. {
  86. //
  87. }
  88. public function draw(UpdatePrizeRequest $request, Prize $prize)
  89. {
  90. $prize = Prize::where('id', $request->prizeId)->first();
  91. if (!$prize) {
  92. // return 'prize not found';
  93. return false;
  94. }
  95. if ($prize->count > 0) {
  96. $prize->update([
  97. 'count' => $prize->count - 1,
  98. 'updated_at' => now(),
  99. ]);
  100. return true;
  101. }
  102. // return 'prize is empty';
  103. return false;
  104. }
  105. public function draw_patch(UpdatePrizeRequest $request, Prize $prize)
  106. {
  107. $prize = Prize::where('id', $request->prizeId)->first();
  108. if (!$prize) {
  109. // return 'prize not found';
  110. return false;
  111. }
  112. if ($prize->count >= $request->number) {
  113. $prize->update([
  114. 'count' => $prize->count - $request->number,
  115. 'updated_at' => now(),
  116. ]);
  117. return true;
  118. }
  119. // return 'prize is empty';
  120. return false;
  121. }
  122. /**
  123. * Remove the specified resource from storage.
  124. *
  125. * @param \App\Models\Prize $prize
  126. * @return \Illuminate\Http\Response
  127. */
  128. public function destroy(Prize $prize)
  129. {
  130. //
  131. }
  132. }