RechargeConfigurationController.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Filters\RechargeConfigurationFilter;
  4. use App\Http\Requests\ConfigCategoryRequest;
  5. use App\Http\Requests\RechargeConfigurationRequest;
  6. use App\Http\Resources\RechargeConfigurationResource;
  7. use App\Models\AdminUser;
  8. use App\Models\RechargeConfiguration;
  9. use App\Utils\Admin;
  10. use Illuminate\Http\Request;
  11. use App\Http\Controllers\Controller;
  12. class RechargeConfigurationController extends Controller
  13. {
  14. /**
  15. * index
  16. *
  17. * @param Request $request
  18. * @param RechargeConfigurationFilter $rechargeConfigurationFilter
  19. * @return \Illuminate\Http\JsonResponse
  20. * @author Fx
  21. *
  22. */
  23. public function index(Request $request, RechargeConfigurationFilter $rechargeConfigurationFilter)
  24. {
  25. $data = RechargeConfiguration::query()
  26. ->filter($rechargeConfigurationFilter)
  27. ->with(['areas'])
  28. ->orderByDesc('id');
  29. //
  30. if (!Admin::isAdministrator() && !Admin::isNormalAdministrator()) {
  31. $area_ids = AdminUser::getAreaIdsByAdminId(Admin::user()->id);
  32. $data = $data->whereIn('area_id', $area_ids);
  33. }
  34. $data = $request->get('all') ? $data->get() : $data->paginate();
  35. return $this->ok(RechargeConfigurationResource::collection($data));
  36. }
  37. /**
  38. * Show the form for creating a new resource.
  39. *
  40. * @return \Illuminate\Http\Response
  41. */
  42. public function create()
  43. {
  44. //
  45. }
  46. /**
  47. * store
  48. *
  49. * @param RechargeConfigurationRequest $rechargeConfigurationRequest
  50. * @param RechargeConfiguration $rechargeConfiguration
  51. * @return \Illuminate\Http\JsonResponse
  52. * @author Fx
  53. *
  54. */
  55. public function store(RechargeConfigurationRequest $rechargeConfigurationRequest, RechargeConfiguration $rechargeConfiguration)
  56. {
  57. //
  58. $admin_id = Admin::user()->id;
  59. $inputs = $rechargeConfigurationRequest->validated();
  60. $inputs['admin_id'] = $admin_id;
  61. $inputs['start_at'] = date('Y-m-d H:i:s', strtotime($inputs['start_at']));
  62. $inputs['end_at'] = date('Y-m-d H:i:s', strtotime($inputs['end_at']));
  63. $rechargeConfiguration = $rechargeConfiguration->create($inputs);
  64. return $this->created(RechargeConfigurationResource::make($rechargeConfiguration));
  65. }
  66. /**
  67. * Display the specified resource.
  68. *
  69. * @param int $id
  70. * @return \Illuminate\Http\Response
  71. */
  72. public function show($id)
  73. {
  74. //
  75. }
  76. /**
  77. * edit
  78. *
  79. * @param RechargeConfiguration $rechargeConfiguration
  80. * @return \Illuminate\Http\JsonResponse
  81. * @author Fx
  82. *
  83. */
  84. public function edit(RechargeConfiguration $rechargeConfiguration)
  85. {
  86. //
  87. return $this->ok(RechargeConfigurationResource::make($rechargeConfiguration));
  88. }
  89. /**
  90. * Update the specified resource in storage.
  91. *
  92. * @param \Illuminate\Http\Request $request
  93. * @param int $id
  94. * @return \Illuminate\Http\Response
  95. */
  96. public function update(RechargeConfigurationRequest $rechargeConfigurationRequest, RechargeConfiguration $rechargeConfiguration)
  97. {
  98. //
  99. $inputs = $rechargeConfigurationRequest->validated();
  100. $inputs['start_at'] = date('Y-m-d H:i:s', strtotime($inputs['start_at']));
  101. $inputs['end_at'] = date('Y-m-d H:i:s', strtotime($inputs['end_at']));
  102. $rechargeConfiguration->update($inputs);
  103. return $this->created(RechargeConfigurationResource::make($rechargeConfiguration));
  104. }
  105. /**
  106. * Remove the specified resource from storage.
  107. *
  108. * @param int $id
  109. * @return \Illuminate\Http\Response
  110. */
  111. public function destroy(RechargeConfiguration $rechargeConfiguration)
  112. {
  113. //
  114. $rechargeConfiguration->delete();
  115. return $this->noContent();
  116. }
  117. }