WorkOrderImageService.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. namespace App\Services;
  3. use App\Traits\ServiceAppAop;
  4. use App\WorkOrderImage;
  5. use Illuminate\Http\UploadedFile;
  6. class WorkOrderImageService
  7. {
  8. use ServiceAppAop;
  9. protected $modelClass=WorkOrderImage::class;
  10. /**
  11. * 外包装
  12. * @param $workOrder
  13. * @param $images
  14. */
  15. public function createWorkOrderPackageImages($workOrder,$images)
  16. {
  17. foreach ($images as $image) {
  18. $this->createWorkOrderPackageImage($workOrder,$image);
  19. }
  20. }
  21. /**
  22. * @param $workOrder
  23. * @param $image
  24. */
  25. public function createWorkOrderPackageImage($workOrder,$image)
  26. {
  27. /** @var UploadedFile $image */
  28. $count = $workOrder->images()->where('type',1)->count();
  29. /** @var WorkOrderImage $workOrderImage */
  30. $workOrderImage = $workOrder->images()->create(['type' => 1, 'number' => ++$count]);
  31. $workOrderImage->saveFile($image);
  32. }
  33. /**
  34. * 工单商品
  35. * @param $workOrder
  36. * @param $images
  37. */
  38. public function createWorkOrderCommodityImages($workOrder,$images)
  39. {
  40. foreach ($images as $image) {
  41. $this->createWorkOrderCommodityImage($workOrder,$image);
  42. }
  43. }
  44. /**
  45. * @param $workOrder
  46. * @param $image
  47. */
  48. public function createWorkOrderCommodityImage($workOrder,$image)
  49. {
  50. /** @var UploadedFile $image */
  51. $count = $workOrder->images()->where('type',2)->count();
  52. /** @var WorkOrderImage $workOrderImage */
  53. $workOrderImage = $workOrder->images()->create(['type' => 2, 'number' => ++$count]);
  54. $workOrderImage->saveFile($image);
  55. }
  56. /**
  57. * 交易截图
  58. * @param $workOrder
  59. * @param $images
  60. */
  61. public function createWorkOrderDealImages($workOrder,$images)
  62. {
  63. foreach ($images as $image) {
  64. $this->createWorkOrderDealImage($workOrder,$image);
  65. }
  66. }
  67. public function createWorkOrderDealImage($workOrder,$image)
  68. {
  69. /** @var UploadedFile $image */
  70. $count = $workOrder->images()->where('type',3)->count();
  71. /** @var WorkOrderImage $workOrderImage */
  72. $workOrderImage = $workOrder->images()->create(['type' => 3, 'number' => ++$count]);
  73. $workOrderImage->saveFile($image);
  74. }
  75. /**
  76. * 退款截图
  77. * @param $workOrder
  78. * @param $images
  79. */
  80. public function createWorkOrderRefundImages($workOrder, $images)
  81. {
  82. foreach ($images as $image) {
  83. $this->createWorkOrderRefundImage($workOrder,$image);
  84. }
  85. }
  86. public function createWorkOrderRefundImage($workOrder,$image)
  87. {
  88. /** @var UploadedFile $image */
  89. $count = $workOrder->images()->where('type',4)->count();
  90. /** @var WorkOrderImage $workOrderImage */
  91. $workOrderImage = $workOrder->images()->create(['type' => 4, 'number' => ++$count]);
  92. $workOrderImage->saveFile($image);
  93. }
  94. public function createImages($workOrder,$package_images = null,$commodity_images = null,$deal_images = null,$refund_images = null)
  95. {
  96. if ($package_images) $this->createWorkOrderPackageImages($workOrder,$package_images);
  97. if ($commodity_images) $this->createWorkOrderCommodityImages($workOrder,$commodity_images);
  98. if ($deal_images) $this->createWorkOrderDealImages($workOrder,$deal_images);
  99. if ($refund_images) $this->createWorkOrderRefundImages($workOrder,$refund_images);
  100. }
  101. public function createWorkOrderImages($workOrder,$params)
  102. {
  103. $package_images= $params['packageImages'] ?? [];
  104. $commodity_images = $params['commodityImages'] ?? [];
  105. $deal_images = $params['dealImages'] ?? [];
  106. $refund_images = $params['refundImages'] ?? [];
  107. $this->createImages($workOrder,$package_images,$commodity_images,$deal_images,$refund_images);
  108. }
  109. }