super_admin){ $company=Company::query()->filter($request->all())->get(); return CompanyResource::collection($company); }else{ $company=Auth::user()->company; return new CompanyResource($company); } } public function store(CreateOrUpdateRequest $request) { $company = new Company(); $company->fill([ ...$request->all(), ]); $company->save(); return $this->created(); } public function show(string $id) { $companyId=Auth::user()->company->id; if(empty(Auth::user()->super_admin)){ if($companyId!=$id){ return $this->forbidden("You are not a user under this company"); } } $field = Company::query()->findOrFail($id); return new CompanyResource($field); } public function update(Request $request,string $id){ $company = Company::findOrFail($id); $company->email =$request->email; $company->save(); return $this->noContent(); } public function destroy(string $id) { $company = Company::findOrFail($id); $company->delete(); return $this->noContent(); } //注册用户时注册公司 public function registerStore(FileAssociationService $service,CreateOrUpdateRequest $request) { $company = new Company(); $service->check( $request->get("file_ids",[]), FileObjectType::COMPANY, $request->get("file_uuid"), ); $company->fill([ ...$request->all(), ]); $company->save(); $service->association($company->id); return $this->created(); } //公司审核 public function action(ActionRequest $request, string $id){ $company = Company::findOrFail($id); $status=$request->status; match($status) { 1 => $company->review_status=CompanyReviewStatus::APPROVED, default => $company->review_status=CompanyReviewStatus::REJECTED, }; $company->save(); return $this->noContent(); } }