OrderFreezeController.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Components\AsyncResponse;
  4. use App\OrderFreeze;
  5. class OrderFreezeController extends Controller
  6. {
  7. use AsyncResponse;
  8. public function index()
  9. {
  10. $this->gate("订单管理-自动冻结");
  11. $freezes = OrderFreeze::query()->with(["logistic:id,name","province:id,name","city:id,name","district:id,name","town:id,name","street:id,name"])
  12. ->orderByDesc("id")->where("status",0)
  13. ->paginate(request("paginate") ?? 50);
  14. return view("order.index.freeze",compact("freezes"));
  15. }
  16. public function store()
  17. {
  18. $this->gate("订单管理-自动冻结");
  19. $freeze = OrderFreeze::query()->where("logistic_id",request("logistic_id"))->where("status",0);
  20. if (request("province_id"))$freeze->where("province_id",request("province_id"));
  21. else $freeze->whereNull("province_id");
  22. if (request("city_id"))$freeze->where("city_id",request("city_id"));
  23. else $freeze->whereNull("city_id");
  24. if (request("district_id"))$freeze->where("district_id",request("district_id"));
  25. else $freeze->whereNull("district_id");
  26. if (request("town_id"))$freeze->where("town_id",request("town_id"));
  27. else $freeze->whereNull("town_id");
  28. if (request("street_id"))$freeze->where("street_id",request("street_id"));
  29. else $freeze->whereNull("street_id");
  30. if (request("thawed_at"))$freeze->where("thawed_at",request("thawed_at"));
  31. else $freeze->whereNull("thawed_at");
  32. $freeze = $freeze->first();
  33. if ($freeze && $freeze->id!=request("id"))$this->error("已存在冻结选项,无需重复录入");
  34. $obj = [
  35. "logistic_id" => request("logistic_id"),
  36. "province_id" => request("province_id"),
  37. "city_id" => request("city_id"),
  38. "district_id" => request("district_id"),
  39. "town_id" => request("town_id"),
  40. "street_id" => request("street_id"),
  41. "thawed_at" => request("thawed_at"),
  42. ];
  43. if (request("id")){
  44. $freeze = OrderFreeze::query()->find(request("id"));
  45. $freeze->update($obj);
  46. }else $freeze = OrderFreeze::query()->create($obj);
  47. app("OrderFreezeService")->refreshFreezes();
  48. $freeze->load(["logistic:id,name","province:id,name","city:id,name","district:id,name","town:id,name","street:id,name"]);
  49. $this->success($freeze);
  50. }
  51. public function delFreeze()
  52. {
  53. $this->gate("订单管理-自动冻结");
  54. if (!request("id"))$this->error("非法参数");
  55. OrderFreeze::query()->where("id",request("id"))->update(["status"=>1]);
  56. app("OrderFreezeService")->refreshFreezes();
  57. $this->success();
  58. }
  59. }