RejectedBillItemService.php 1.9 KB

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