| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- <?php
- namespace App\Services;
- use App\Traits\ServiceAppAop;
- use App\WorkOrder;
- use App\WorkOrderDetail;
- use App\WorkOrderImage;
- use Illuminate\Http\UploadedFile;
- class WorkOrderImageService
- {
- use ServiceAppAop;
- protected $modelClass = WorkOrderImage::class;
- /**
- * 外包装
- * @param WorkOrderDetail $detail
- * @param $images
- */
- public function createWorkOrderPackageImages(WorkOrderDetail $detail, $images)
- {
- foreach ($images as $image) {
- $this->createWorkOrderPackageImage($detail, $image);
- }
- }
- /**
- * @param WorkOrderDetail $detail
- * @param $image
- */
- public function createWorkOrderPackageImage(WorkOrderDetail $detail, $image)
- {
- /** @var UploadedFile $image */
- $count = $detail->images()->where('type', 1)->count();
- /** @var WorkOrderImage $workOrderImage */
- $workOrderImage = $detail->images()->create(['type' => 1, 'number' => ++$count,'work_order_id'=> $detail->work_order_id]);
- $workOrderImage->saveFile($image);
- }
- /**
- * 工单商品
- * @param WorkOrderDetail $detail
- * @param $images
- */
- public function createWorkOrderCommodityImages(WorkOrderDetail $detail, $images)
- {
- foreach ($images as $image) {
- $this->createWorkOrderCommodityImage($detail, $image);
- }
- }
- /**
- * @param WorkOrderDetail $detail
- * @param $image
- */
- public function createWorkOrderCommodityImage(WorkOrderDetail $detail, $image)
- {
- /** @var UploadedFile $image */
- $count = $detail->images()->where('type', 2)->count();
- /** @var WorkOrderImage $workOrderImage */
- $workOrderImage = $detail->images()->create(['type' => 2, 'number' => ++$count,'work_order_id'=> $detail->work_order_id]);
- $workOrderImage->saveFile($image);
- }
- /**
- * 交易截图
- * @param WorkOrderDetail $detail
- * @param $images
- */
- public function createWorkOrderDealImages(WorkOrderDetail $detail, $images)
- {
- foreach ($images as $image) {
- $this->createWorkOrderDealImage($detail, $image);
- }
- }
- public function createWorkOrderDealImage(WorkOrderDetail $detail, $image)
- {
- /** @var UploadedFile $image */
- $count = $detail->images()->where('type', 3)->count();
- /** @var WorkOrderImage $workOrderImage */
- $workOrderImage = $detail->images()->create(['type' => 3, 'number' => ++$count,'work_order_id'=> $detail->work_order_id]);
- $workOrderImage->saveFile($image);
- }
- /**
- * 退款截图
- * @param WorkOrderDetail $detail
- * @param $images
- */
- public function createWorkOrderRefundImages(WorkOrderDetail $detail, $images)
- {
- foreach ($images as $image) {
- $this->createWorkOrderRefundImage($detail, $image);
- }
- }
- public function createWorkOrderRefundImage(WorkOrderDetail $detail, $image)
- {
- /** @var UploadedFile $image */
- $count = $detail->images()->where('type', 4)->count();
- /** @var WorkOrderImage $workOrderImage */
- $workOrderImage = $detail->images()->create(['type' => 4, 'number' => ++$count,'work_order_id'=> $detail->work_order_id]);
- $workOrderImage->saveFile($image);
- }
- public function createImages(WorkOrderDetail $detail, $package_images = null, $commodity_images = null, $deal_images = null, $refund_images = null)
- {
- if ($package_images) $this->createWorkOrderPackageImages($detail, $package_images);
- if ($commodity_images) $this->createWorkOrderCommodityImages($detail, $commodity_images);
- if ($deal_images) $this->createWorkOrderDealImages($detail, $deal_images);
- if ($refund_images) $this->createWorkOrderRefundImages($detail, $refund_images);
- }
- public function createWorkOrderImages(WorkOrderDetail $detail, $params)
- {
- $package_images = $params['packageImages'] ?? [];
- $commodity_images = $params['commodityImages'] ?? [];
- $deal_images = $params['dealImages'] ?? [];
- $refund_images = $params['refundImages'] ?? [];
- $delete_ids= $params['delete_image_ids'] ?? [];
- $this->createImages($detail, $package_images, $commodity_images, $deal_images, $refund_images);
- if ($delete_ids) $this->deleteImages($detail,$delete_ids);
- }
- public function deleteImages($detail,$delete_ids)
- {
- if (!$delete_ids)return;
- WorkOrderImage::query()->where('work_order_detail_id',$detail->id)->whereIn('id',$delete_ids)->delete();
- }
- /**
- * @param WorkOrderDetail $detail
- */
- public function undoneTag(WorkOrderDetail $detail)
- { // 标记为未完成历史标记
- $detail->images()->update(['tag' => 2]);
- }
- /**
- * @param WorkOrderDetail $detail
- */
- public function endDetail(WorkOrderDetail $detail)
- { // 标记为完成
- $detail->images()->update(['tag' => 1]);
- }
- }
|