RechargeConfigurationController.php 3.9 KB

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