ChannelOperateRecord.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. use DB;
  5. class ChannelOperateRecord
  6. {
  7. /**
  8. * Handle an incoming request.
  9. *
  10. * @param \Illuminate\Http\Request $request
  11. * @param \Closure $next
  12. * @return mixed
  13. */
  14. public function handle($request, Closure $next)
  15. {
  16. $param = '';
  17. $param_arr = $request->except('_url');
  18. if($param_arr){
  19. $param = http_build_query($param_arr);
  20. }
  21. $url = $request->url();
  22. try{
  23. $distribution_channel_id = $this->getChannelId();
  24. DB::table('channel_operate_record')->insert([
  25. 'distribution_channel_id'=>$distribution_channel_id,
  26. 'url'=>$url,
  27. 'param'=>$param,
  28. 'created_at'=>date('Y-m-d H:i:s'),
  29. 'updated_at'=>date('Y-m-d H:i:s'),
  30. ]);
  31. }catch (\Exception $e){
  32. }
  33. return $next($request);
  34. }
  35. //获取分销渠道ID
  36. function getChannelId() {
  37. if(empty(session('ydychannel'))) {
  38. if(env('APP_ENV') =='local')
  39. return 1;
  40. else
  41. return 0;
  42. }
  43. $distribution_channel = unserialize(session('ydychannel'));
  44. return $distribution_channel->id;
  45. }
  46. }