AreaSettingController.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Filters\AreaSettingFilter;
  4. use App\Http\Requests\AreaSettingRequest;
  5. use App\Http\Resources\AreaSettingResource;
  6. use App\Models\AdminMerchant;
  7. use App\Models\AdminUser;
  8. use App\Models\AdminUserArea;
  9. use App\Models\Area;
  10. use App\Models\AreaSetting;
  11. use App\Utils\Admin;
  12. use App\Utils\QiNiuUpload;
  13. use Illuminate\Http\Request;
  14. use App\Http\Controllers\Controller;
  15. use Illuminate\Support\Facades\Log;
  16. class AreaSettingController extends Controller
  17. {
  18. /**
  19. * index
  20. *
  21. * @param AreaSettingFilter $filter
  22. * @return \Illuminate\Http\JsonResponse
  23. * @author Fx
  24. *
  25. */
  26. public function index(AreaSettingFilter $filter)
  27. {
  28. //
  29. $admin_id = Admin::user()->id;
  30. $area = AreaSetting::query()
  31. ->filter($filter)
  32. ->orderByDesc('id');
  33. if (!Admin::isAdministrator()) {
  34. $area_ids = AdminUser::getAreaIdsByAdminId($admin_id);
  35. if (count($area_ids) !== 0) {
  36. $area = $area->whereIn('area_id', $area_ids);
  37. } else {
  38. $area_id = AdminUserArea::query()->where('admin_id', $admin_id)->first('area_id');
  39. $area_id = $area_id->area_id ?? 0;
  40. $area = $area->where('area_id', $area_id);
  41. }
  42. }
  43. $area = $area->get();
  44. return $this->ok(AreaSettingResource::collection($area));
  45. }
  46. /**
  47. * Show the form for creating a new resource.
  48. *
  49. * @return \Illuminate\Http\Response
  50. */
  51. public function create()
  52. {
  53. //
  54. }
  55. /**
  56. * Store a newly created resource in storage.
  57. *
  58. * @param \Illuminate\Http\Request $request
  59. * @return \Illuminate\Http\Response
  60. */
  61. public function store(AreaSettingRequest $request)
  62. {
  63. //
  64. }
  65. /**
  66. * Display the specified resource.
  67. *
  68. * @param int $id
  69. * @return \Illuminate\Http\Response
  70. */
  71. public function show($id)
  72. {
  73. //
  74. }
  75. /**
  76. * Show the form for editing the specified resource.
  77. *
  78. * @param int $id
  79. * @return \Illuminate\Http\Response
  80. */
  81. public function edit($id)
  82. {
  83. //
  84. }
  85. /**
  86. * update
  87. *
  88. * @param AreaSettingRequest $request
  89. * @param AreaSetting $areaSetting
  90. * @return \Illuminate\Http\JsonResponse
  91. * @author Fx
  92. *
  93. */
  94. public function update(AreaSettingRequest $request, AreaSetting $areaSetting)
  95. {
  96. //
  97. $inputs = $request->validated();
  98. $areaSetting->update($inputs);
  99. $merchant_id = AdminMerchant::getMchId() ?? Area::where('id', $inputs['id'])->value('merchant_id');
  100. Log::error($merchant_id);
  101. $url = config('systemConfig.api_url') . '/api/common/clear-cache?merchant_id=' . $merchant_id;
  102. $res = curl_request($url, 'get');
  103. $res = json_decode($res, true);
  104. if ($res['status_code']) {
  105. Log::error('清除缓存发生错误');
  106. Log::error($res);
  107. Log::error(json_decode($res, true));
  108. }
  109. return $this->ok(AreaSettingResource::make($areaSetting));
  110. }
  111. /**
  112. * destroy
  113. *
  114. * @param $id
  115. * @return void
  116. * @author Fx
  117. *
  118. */
  119. public function destroy($id)
  120. {
  121. //
  122. }
  123. /**
  124. * uploadImg
  125. *
  126. * @param Request $request
  127. * @return \Illuminate\Http\JsonResponse
  128. * @author Fx
  129. *
  130. */
  131. public function uploadImg(Request $request)
  132. {
  133. $file = $request->file('image');
  134. $qiNiuUpload = new QiNiuUpload();
  135. $path = $qiNiuUpload->upload_image('/areaSetting', $file);
  136. return $this->ok(['path' => $path]);
  137. }
  138. }