Code Duplication    Length = 5-9 lines in 3 locations

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

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

src/Eccube/Service/OrderHelper.php 2 locations

@@ 316-320 (lines=5) @@
313
        $OrderItems = $Shipping->getOrderItems();
314
        $SaleTypes = [];
315
        /** @var OrderItem $OrderItem */
316
        foreach ($OrderItems as $OrderItem) {
317
            $ProductClass = $OrderItem->getProductClass();
318
            $SaleType = $ProductClass->getSaleType();
319
            $SaleTypes[$SaleType->getId()] = $SaleType;
320
        }
321
322
        // 販売種別に紐づく配送業者を取得.
323
        $Deliveries = $this->deliveryRepository->getDeliveries($SaleTypes);
@@ 338-346 (lines=9) @@
335
        // 受注明細に含まれる販売種別を抽出.
336
        $SaleTypes = [];
337
        /** @var OrderItem $OrderItem */
338
        foreach ($OrderItems as $OrderItem) {
339
            $ProductClass = $OrderItem->getProductClass();
340
            if (is_null($ProductClass)) {
341
                // 商品明細のみ対象とする. 送料明細等はスキップする.
342
                continue;
343
            }
344
            $SaleType = $ProductClass->getSaleType();
345
            $SaleTypes[$SaleType->getId()] = $SaleType;
346
        }
347
348
        // 販売種別に紐づく配送業者を抽出
349
        $Deliveries = $this->deliveryRepository->getDeliveries($SaleTypes);