U8Deal.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\Model\RecordTable;
  4. use Closure;
  5. use Illuminate\Http\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. class U8Deal
  8. {
  9. /**
  10. * Handle an incoming request.
  11. *
  12. * @param \Illuminate\Http\Request $request
  13. * @param \Closure $next
  14. * @return mixed
  15. */
  16. public function handle(Request $request, Closure $next)
  17. {
  18. // 在这里可以添加请求前的操作,但通常我们只关心请求后的操作。
  19. return $next($request);
  20. }
  21. /**
  22. * Handle the request termination.
  23. *
  24. * @param \Illuminate\Http\Request $request
  25. * @param \Illuminate\Http\Response $response
  26. * @return void
  27. */
  28. public function terminate(Request $request, Response $response)
  29. {
  30. $return = json_decode($response->content(),true);
  31. if(isset($return['code'])){
  32. $site = $request->header('Site');
  33. $path = $request->path();
  34. $type = 0;
  35. if($path == "api/materialAddU8"){
  36. $type = RecordTable::type_one;
  37. }elseif ($path == "api/productInAddU8"){
  38. $type = RecordTable::type_two;
  39. }elseif ($path == "api/dispatchAddU8"){
  40. $type = RecordTable::type_three;
  41. }
  42. $return_data = null;
  43. if (!empty($return['data']) && is_array($return['data'])) {
  44. $return_data = json_encode($return['data'], JSON_UNESCAPED_UNICODE);
  45. } else {
  46. $return_data = json_encode(new \stdClass()); // "{}"
  47. }
  48. RecordTable::insert([
  49. 'msg' => $return['msg'] ?? "",
  50. 'data' => json_encode($request->all()),
  51. 'crt_time' => time(),
  52. 'type' => $type,
  53. 'return_data' => $return_data,
  54. 'site' => $site,
  55. ]);
  56. }
  57. }
  58. }