Code Duplication    Length = 5-9 lines in 3 locations

src/Eccube/Form/Type/Shopping/ShippingType.php 1 location

@@ 89-93 (lines=5) @@
86
                // 配送商品に含まれる販売種別を抽出.
87
                $OrderItems = $Shipping->getProductOrderItems();
88
                $SaleTypes = [];
89
                foreach ($OrderItems as $OrderItem) {
90
                    $ProductClass = $OrderItem->getProductClass();
91
                    $SaleType = $ProductClass->getSaleType();
92
                    $SaleTypes[$SaleType->getId()] = $SaleType;
93
                }
94
95
                // 販売種別に紐づく配送業者を取得.
96
                $Deliveries = $this->deliveryRepository->getDeliveries($SaleTypes);

src/Eccube/Service/OrderHelper.php 2 locations

@@ 400-404 (lines=5) @@
397
        $OrderItems = $Shipping->getOrderItems();
398
        $SaleTypes = [];
399
        /** @var OrderItem $OrderItem */
400
        foreach ($OrderItems as $OrderItem) {
401
            $ProductClass = $OrderItem->getProductClass();
402
            $SaleType = $ProductClass->getSaleType();
403
            $SaleTypes[$SaleType->getId()] = $SaleType;
404
        }
405
406
        // 販売種別に紐づく配送業者を取得.
407
        $Deliveries = $this->deliveryRepository->getDeliveries($SaleTypes);
@@ 425-433 (lines=9) @@
422
        // 受注明細に含まれる販売種別を抽出.
423
        $SaleTypes = [];
424
        /** @var OrderItem $OrderItem */
425
        foreach ($OrderItems as $OrderItem) {
426
            $ProductClass = $OrderItem->getProductClass();
427
            if (is_null($ProductClass)) {
428
                // 商品明細のみ対象とする. 送料明細等はスキップする.
429
                continue;
430
            }
431
            $SaleType = $ProductClass->getSaleType();
432
            $SaleTypes[$SaleType->getId()] = $SaleType;
433
        }
434
435
        // 販売種別に紐づく配送業者を抽出
436
        $Deliveries = $this->deliveryRepository->getDeliveries($SaleTypes);