RejectedBillItemService.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace App\Services;
  3. use App\RejectedBillItem;
  4. use App\Traits\ServiceAppAop;
  5. use App\UploadFile;
  6. use Intervention\Image\Facades\Image;
  7. use Ramsey\Uuid\Uuid;
  8. class RejectedBillItemService
  9. {
  10. use ServiceAppAop;
  11. protected $modelClass=RejectedBillItem::class;
  12. public function uploadImages($files,$id,$type): int
  13. {
  14. if (!$files) return 1; //无图片上传
  15. foreach ($files as $file) {
  16. if (!$file->isValid()) return 2;//找不到图片
  17. $tmpFile = $file->getRealPath();
  18. if (!is_uploaded_file($tmpFile)) return 3;//文件错误
  19. $fileExtension = $file->getClientOriginalExtension();
  20. $fileName = date('ymd').'-'.Uuid::uuid1();
  21. $thumbnailName=storage_path('app/public/files/'.$fileName.'-thumbnail.'.$fileExtension);
  22. $commonName=storage_path('app/public/files/'.$fileName.'-common.'.$fileExtension);
  23. if ($tmpFile){
  24. $img=Image::make(file_get_contents($tmpFile))->resize(300,400);
  25. $img->save($commonName);
  26. $img->widen(28)->heighten(28)->save($thumbnailName);
  27. /** @var UploadFile|\stdClass $uploadFile */
  28. $uploadFile = new UploadFile([
  29. "table_name" => "rejected_bill_items",
  30. "table_id" => $id,
  31. "url" => '/files/' . $fileName,
  32. "type" => $fileExtension,
  33. "file_name" => $type,
  34. ]);
  35. if ($uploadFile->save()) return 0;//上传成功
  36. }
  37. }
  38. }
  39. }