Code Duplication    Length = 5-9 lines in 3 locations

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

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

src/Eccube/Service/OrderHelper.php 2 locations

@@ 447-451 (lines=5) @@
444
        $OrderItems = $Shipping->getOrderItems();
445
        $SaleTypes = [];
446
        /** @var OrderItem $OrderItem */
447
        foreach ($OrderItems as $OrderItem) {
448
            $ProductClass = $OrderItem->getProductClass();
449
            $SaleType = $ProductClass->getSaleType();
450
            $SaleTypes[$SaleType->getId()] = $SaleType;
451
        }
452
453
        // 販売種別に紐づく配送業者を取得.
454
        $Deliveries = $this->deliveryRepository->getDeliveries($SaleTypes);
@@ 472-480 (lines=9) @@
469
        // 受注明細に含まれる販売種別を抽出.
470
        $SaleTypes = [];
471
        /** @var OrderItem $OrderItem */
472
        foreach ($OrderItems as $OrderItem) {
473
            $ProductClass = $OrderItem->getProductClass();
474
            if (is_null($ProductClass)) {
475
                // 商品明細のみ対象とする. 送料明細等はスキップする.
476
                continue;
477
            }
478
            $SaleType = $ProductClass->getSaleType();
479
            $SaleTypes[$SaleType->getId()] = $SaleType;
480
        }
481
482
        // 販売種別に紐づく配送業者を抽出
483
        $Deliveries = $this->deliveryRepository->getDeliveries($SaleTypes);