get('enterprise_id') === null ? null : Fields::id($request->get(), 'enterprise_id'); $service = new EnterpriseQuery($this->access($request)); return $this->success($request, $service->profile($enterprise)); } public function addresses(Request $request): Response { return $this->success($request, (new EnterpriseQuery($this->access($request)))->addresses()); } public function enterprise(Request $request, string $enterprise, string $section): Response { $service = new EnterpriseQuery($this->access($request)); $id = $this->id($enterprise); $data = match($section) { 'home' => $service->home($id), 'rights' => $service->rights($id), 'ledger' => $service->ledger($id, $request->get()), 'orders' => $service->orders($id, $request->get()), 'devices' => $service->devices($id, $request->get()), 'rewards' => $service->rewards($id, $request->get()), default => throw new ApiException(40401, '接口不存在', 404) }; return $this->success($request, $data); } public function device(Request $request, string $enterprise, string $id): Response { return $this->success($request, (new EnterpriseQuery($this->access($request)))->deviceDetail($this->id($enterprise), $this->id($id))); } public function tracking(Request $request, string $enterprise, string $id): Response { return $this->success($request, (new EnterpriseQuery($this->access($request)))->tracking($this->id($enterprise), $this->id($id))); } public function address(Request $request, string $enterprise): Response { return $this->success($request, (new EnterpriseCommands($this->access($request)))->address($this->id($enterprise), Input::json($request))); } public function addressDetail(Request $request, string $enterprise): Response { return $this->success($request, (new EnterpriseQuery($this->access($request)))->addressDetail($this->id($enterprise))); } public function addressSiteDetail(Request $request, string $enterprise, string $address): Response { return $this->success($request, (new EnterpriseQuery($this->access($request)))->addressDetailById( $this->id($enterprise), $this->id($address), )); } public function createAddress(Request $request, string $enterprise): Response { return $this->success($request, (new EnterpriseCommands($this->access($request)))->createAddress( $this->id($enterprise), Input::json($request), )); } public function updateAddress(Request $request, string $enterprise, string $address): Response { return $this->success($request, (new EnterpriseCommands($this->access($request)))->updateAddress( $this->id($enterprise), $this->id($address), Input::json($request), )); } public function book(Request $request, string $enterprise): Response { return $this->success($request, (new EnterpriseCommands($this->access($request)))->book($this->id($enterprise), Input::json($request))); } public function cancelDelivery(Request $request, string $enterprise, string $id): Response { return $this->success($request, (new EnterpriseCommands($this->access($request)))->cancel($this->id($enterprise), $this->id($id), Input::json($request))); } }