海南旅游SAAS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
809 B

  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\Models\Agent;
  4. use App\Models\User;
  5. use Closure;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Cache;
  8. class ApiBase
  9. {
  10. public function handle(Request $request, Closure $next)
  11. {
  12. $appid = request()->header('appid');
  13. if (empty($appid)) {
  14. return response()->json([
  15. 'code' => -1,
  16. 'msg' => '商户信息缺失',
  17. 'data' => [],
  18. 'status' => 500,
  19. ]);
  20. }
  21. //检查代理商
  22. $agent_id = Cache::get($appid);
  23. if (empty($agent_id) || $agent_id != Agent::query()->where(['appid' => $appid, 'status' => 1])->value('id')) {
  24. return response()->json([
  25. 'code' => -1,
  26. 'msg' => '商户不存在或已被禁用',
  27. 'data' => [],
  28. 'status' => 403,
  29. ]);
  30. }
  31. Cache::put($appid, $agent_id);
  32. return $next($request);
  33. }
  34. }