private function getCouponOrder(CouponCoupon $Coupon, $discount, $preOrderId)
 {
     $this->Customer = $this->createCustomer('*****@*****.**');
     $Order = $this->createOrder($this->Customer);
     $Order->setPreOrderId($preOrderId);
     $details = $Coupon->getCouponDetails();
     /** @var \Plugin\Coupon\Entity\CouponCouponDetail $CouponDetail */
     $CouponDetail = $details[0];
     $Product = $CouponDetail->getProduct();
     $ProductClasses = $Product->getProductClasses();
     $ProductClass = $ProductClasses[0];
     $orderDetails = $Order->getOrderDetails();
     foreach ($orderDetails as $OrderDetail) {
         $Order->removeOrderDetail($OrderDetail);
     }
     $OrderDetail = new OrderDetail();
     $TaxRule = $this->app['eccube.repository.tax_rule']->getByRule();
     // デフォルト課税規則
     $OrderDetail->setProduct($Product)->setProductClass($ProductClass)->setProductName($Product->getName())->setProductCode($ProductClass->getCode())->setPrice($ProductClass->getPrice02())->setQuantity(1)->setTaxRule($TaxRule->getCalcRule()->getId())->setTaxRate($TaxRule->getTaxRate());
     $this->app['orm.em']->persist($OrderDetail);
     $OrderDetail->setOrder($Order);
     $Order->addOrderDetail($OrderDetail);
     $CouponOrder = new CouponCouponOrder();
     $CouponOrder->setDelFlg(Constant::DISABLED);
     $CouponOrder->setDiscount($discount);
     $CouponOrder->setUserId($this->Customer->getId());
     $CouponOrder->setCouponId($Coupon->getId());
     $CouponOrder->setOrderId($Order->getId());
     $CouponOrder->setPreOrderId($Order->getPreOrderId());
     $CouponOrder->setCouponCd($Coupon->getCouponCd());
     return $CouponOrder;
 }