OrderDelivering.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace App\Http\Requests;
  3. use Illuminate\Database\Eloquent\Builder;
  4. use Illuminate\Support\Facades\Auth;
  5. class OrderDelivering extends GateRequest
  6. {
  7. public function __construct()
  8. {
  9. $this->paramHandle();
  10. parent::__construct();
  11. }
  12. public function paramHandle()
  13. {
  14. $exist = request("orderdate_start") || request("orderdate_end");
  15. if (!$exist && request("delayedDeliver")){
  16. request()->offsetSet("orderdate_start",date('Y-m-d H:i', strtotime("-15 day")));
  17. request()->offsetSet("orderdate_end",date('Y-m-d H:i'));
  18. }
  19. if ($exist && !request("restrict_time"))return;
  20. if ($exist && request("restrict_time")){
  21. request()->offsetUnset("orderdate_start");
  22. request()->offsetUnset("orderdate_end");
  23. }
  24. $isParam = request("c_contact") || request("c_tel2") || request("c_province") || request("c_city") || request("c_district");
  25. if (!request("restrict_time") && $isParam)request()->offsetSet("restrict_time",30);
  26. if (request("restrict_time")){
  27. request()->offsetSet("orderdate_end",date("Y-m-d H:i"));
  28. $increment = request()->offsetGet("restrict_time");
  29. $date = date('Y-m-d',strtotime("-{$increment} day"));
  30. request()->offsetSet("orderdate_start",$date." 00:00");
  31. }
  32. if (!app("UserService")->checkAdminIdentity(Auth::id())){
  33. /**
  34. * @var Builder $owners
  35. */
  36. $codes = app('OwnerService')->getQuery()->select("code")->pluck("code")->toArray();
  37. if (count($codes)==0)$codes = [""];
  38. if (request("customerid")) {
  39. $arr = explode(',', request("customerid"));
  40. $customer = [];
  41. foreach ($arr as $value) {
  42. if (in_array($value, $codes)) $customer[] = $value;
  43. }
  44. if (count($customer) < 1) $customer = [''];
  45. request()->offsetSet("customerid",$customer);
  46. } else request()->offsetSet("customerid",$codes);
  47. }else if (request("customerid")){
  48. $codes = explode(',', request("customerid"));
  49. if ($codes<0)request()->offsetUnset("customerid");
  50. }
  51. }
  52. }