| Code Coverage | ||||||||||
| Classes and Traits | Functions and Methods | Lines | ||||||||
| Total |  | 100.00% | 1 / 1 |  | 100.00% | 30 / 30 | CRAP |  | 100.00% | 49 / 49 | 
| OrderDetail |  | 100.00% | 1 / 1 |  | 100.00% | 34 / 34 | 46 |  | 100.00% | 49 / 49 | 
| isPriceChange |  | 100.00% | 1 / 1 | 3 |  | 100.00% | 0 / 0 | |||
| isEnable |  | 100.00% | 1 / 1 | 3 |  | 100.00% | 2 / 2 | |||
| isEffective |  | 100.00% | 1 / 1 | 5 |  | 100.00% | 0 / 0 | |||
| isDownloadable |  | 100.00% | 1 / 1 | 3 |  | 100.00% | 0 / 0 | |||
| setPriceIncTax |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| getPriceIncTax |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1 | |||
| getTotalPrice |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1 | |||
| getId |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1 | |||
| setProductName |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| getProductName |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1 | |||
| setProductCode |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| getProductCode |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1 | |||
| setClassCategoryName1 |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| getClassCategoryName1 |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1 | |||
| setClassCategoryName2 |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| getClassCategoryName2 |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1 | |||
| setPrice |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| getPrice |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1 | |||
| setQuantity |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| getQuantity |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1 | |||
| setTaxRate |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| getTaxRate |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1 | |||
| setTaxRule |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| getTaxRule |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1 | |||
| setOrder |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| getOrder |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 0 / 0 | |||
| setProduct |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| getProduct |  | 100.00% | 1 / 1 | 2 |  | 100.00% | 3 / 3 | |||
| setProductClass |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| getProductClass |  | 100.00% | 1 / 1 | 2 |  | 100.00% | 3 / 3 | |||
| setClassName1 |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| getClassName1 |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1 | |||
| setClassName2 |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| getClassName2 |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1 | |||
| <?php | |
| /* | |
| * This file is part of EC-CUBE | |
| * | |
| * Copyright(c) 2000-2015 LOCKON CO.,LTD. All Rights Reserved. | |
| * | |
| * http://www.lockon.co.jp/ | |
| * | |
| * This program is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU General Public License | |
| * as published by the Free Software Foundation; either version 2 | |
| * of the License, or (at your option) any later version. | |
| * | |
| * This program is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU General Public License | |
| * along with this program; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
| */ | |
| namespace Eccube\Entity; | |
| use Eccube\Util\EntityUtil; | |
| /** | |
| * OrderDetail | |
| */ | |
| class OrderDetail extends \Eccube\Entity\AbstractEntity | |
| { | |
| private $price_inc_tax = null; | |
| public function isPriceChange() | |
| { | |
| if (!$this->getProductClass()) { | |
| return true; | |
| } elseif ($this->getProductClass()->getPrice02IncTax() === $this->getPriceIncTax()) { | |
| return false; | |
| } else { | |
| return true; | |
| } | |
| } | |
| public function isEnable() | |
| { | |
| if ($this->getProductClass() && $this->getProductClass()->isEnable()) { | |
| return true; | |
| } else { | |
| return false; | |
| } | |
| } | |
| /** | |
| * @param \Eccube\Entity\BaseInfo | |
| * @return bool | |
| */ | |
| public function isEffective(\Eccube\Entity\BaseInfo $BaseInfo) | |
| { | |
| $downloable = clone $this->getOrder()->getPaymentDate(); | |
| if ($BaseInfo->getDownloadableDays()) { | |
| $downloable->add(new \DateInterval("P" . $BaseInfo->getDownloadableDays() . "D")); | |
| } | |
| if ($BaseInfo->getDownloadableDaysUnlimited() === 1 && $this->getOrder()->getPaymentDate()) { | |
| return true; | |
| } elseif (new \DateTime() <= $downloable) { | |
| return true; | |
| } else { | |
| return false; | |
| } | |
| } | |
| /** | |
| * @return bool | |
| */ | |
| public function isDownloadable() | |
| { | |
| // 販売価格が 0 円 | |
| if ($this->getPrice() === 0) { | |
| return true; | |
| } | |
| // ダウンロード期限内かつ, 入金日あり | |
| elseif ($this->isEffective()) { | |
| return true; | |
| } else { | |
| return false; | |
| } | |
| } | |
| /** | |
| * Set price IncTax | |
| * | |
| * @param string $price_inc_tax | |
| * @return ProductClass | |
| */ | |
| public function setPriceIncTax($price_inc_tax) | |
| { | |
| $this->price_inc_tax = $price_inc_tax; | |
| return $this; | |
| } | |
| /** | |
| * Get price IncTax | |
| * | |
| * @return string | |
| */ | |
| public function getPriceIncTax() | |
| { | |
| return $this->price_inc_tax; | |
| } | |
| /** | |
| * @return integer | |
| */ | |
| public function getTotalPrice() | |
| { | |
| return $this->getPriceIncTax() * $this->getQuantity(); | |
| } | |
| /** | |
| * @var integer | |
| */ | |
| private $id; | |
| /** | |
| * @var string | |
| */ | |
| private $product_name; | |
| /** | |
| * @var string | |
| */ | |
| private $product_code; | |
| /** | |
| * @var string | |
| */ | |
| private $class_category_name1; | |
| /** | |
| * @var string | |
| */ | |
| private $class_category_name2; | |
| /** | |
| * @var string | |
| */ | |
| private $price; | |
| /** | |
| * @var string | |
| */ | |
| private $quantity; | |
| /** | |
| * @var string | |
| */ | |
| private $tax_rate; | |
| /** | |
| * @var integer | |
| */ | |
| private $tax_rule; | |
| /** | |
| * @var \Eccube\Entity\Order | |
| */ | |
| private $Order; | |
| /** | |
| * @var \Eccube\Entity\Product | |
| */ | |
| private $Product; | |
| /** | |
| * @var \Eccube\Entity\ProductClass | |
| */ | |
| private $ProductClass; | |
| /** | |
| * Get id | |
| * | |
| * @return integer | |
| */ | |
| public function getId() | |
| { | |
| return $this->id; | |
| } | |
| /** | |
| * Set product_name | |
| * | |
| * @param string $productName | |
| * @return OrderDetail | |
| */ | |
| public function setProductName($productName) | |
| { | |
| $this->product_name = $productName; | |
| return $this; | |
| } | |
| /** | |
| * Get product_name | |
| * | |
| * @return string | |
| */ | |
| public function getProductName() | |
| { | |
| return $this->product_name; | |
| } | |
| /** | |
| * Set product_code | |
| * | |
| * @param string $productCode | |
| * @return OrderDetail | |
| */ | |
| public function setProductCode($productCode) | |
| { | |
| $this->product_code = $productCode; | |
| return $this; | |
| } | |
| /** | |
| * Get product_code | |
| * | |
| * @return string | |
| */ | |
| public function getProductCode() | |
| { | |
| return $this->product_code; | |
| } | |
| /** | |
| * Set class_category_name1 | |
| * | |
| * @param string $classCategoryName1 | |
| * @return OrderDetail | |
| */ | |
| public function setClassCategoryName1($classCategoryName1) | |
| { | |
| $this->class_category_name1 = $classCategoryName1; | |
| return $this; | |
| } | |
| /** | |
| * Get class_category_name1 | |
| * | |
| * @return string | |
| */ | |
| public function getClassCategoryName1() | |
| { | |
| return $this->class_category_name1; | |
| } | |
| /** | |
| * Set class_category_name2 | |
| * | |
| * @param string $classCategoryName2 | |
| * @return OrderDetail | |
| */ | |
| public function setClassCategoryName2($classCategoryName2) | |
| { | |
| $this->class_category_name2 = $classCategoryName2; | |
| return $this; | |
| } | |
| /** | |
| * Get classcategory_name2 | |
| * | |
| * @return string | |
| */ | |
| public function getClassCategoryName2() | |
| { | |
| return $this->class_category_name2; | |
| } | |
| /** | |
| * Set price | |
| * | |
| * @param string $price | |
| * @return OrderDetail | |
| */ | |
| public function setPrice($price) | |
| { | |
| $this->price = $price; | |
| return $this; | |
| } | |
| /** | |
| * Get price | |
| * | |
| * @return string | |
| */ | |
| public function getPrice() | |
| { | |
| return $this->price; | |
| } | |
| /** | |
| * Set quantity | |
| * | |
| * @param string $quantity | |
| * @return OrderDetail | |
| */ | |
| public function setQuantity($quantity) | |
| { | |
| $this->quantity = $quantity; | |
| return $this; | |
| } | |
| /** | |
| * Get quantity | |
| * | |
| * @return string | |
| */ | |
| public function getQuantity() | |
| { | |
| return $this->quantity; | |
| } | |
| /** | |
| * Set tax_rate | |
| * | |
| * @param string $taxRate | |
| * @return OrderDetail | |
| */ | |
| public function setTaxRate($taxRate) | |
| { | |
| $this->tax_rate = $taxRate; | |
| return $this; | |
| } | |
| /** | |
| * Get tax_rate | |
| * | |
| * @return string | |
| */ | |
| public function getTaxRate() | |
| { | |
| return $this->tax_rate; | |
| } | |
| /** | |
| * Set tax_rule | |
| * | |
| * @param integer $taxRule | |
| * @return OrderDetail | |
| */ | |
| public function setTaxRule($taxRule) | |
| { | |
| $this->tax_rule = $taxRule; | |
| return $this; | |
| } | |
| /** | |
| * Get tax_rule | |
| * | |
| * @return integer | |
| */ | |
| public function getTaxRule() | |
| { | |
| return $this->tax_rule; | |
| } | |
| /** | |
| * Set Order | |
| * | |
| * @param \Eccube\Entity\Order $order | |
| * @return OrderDetail | |
| */ | |
| public function setOrder(\Eccube\Entity\Order $order) | |
| { | |
| $this->Order = $order; | |
| return $this; | |
| } | |
| /** | |
| * Get Order | |
| * | |
| * @return \Eccube\Entity\Order | |
| */ | |
| public function getOrder() | |
| { | |
| return $this->Order; | |
| } | |
| /** | |
| * Set Product | |
| * | |
| * @param \Eccube\Entity\Product $product | |
| * @return OrderDetail | |
| */ | |
| public function setProduct(\Eccube\Entity\Product $product) | |
| { | |
| $this->Product = $product; | |
| return $this; | |
| } | |
| /** | |
| * Get Product | |
| * | |
| * @return \Eccube\Entity\Product | |
| */ | |
| public function getProduct() | |
| { | |
| if (EntityUtil::isEmpty($this->Product)) { | |
| return null; | |
| } | |
| return $this->Product; | |
| } | |
| /** | |
| * Set ProductClass | |
| * | |
| * @param \Eccube\Entity\ProductClass $productClass | |
| * @return OrderDetail | |
| */ | |
| public function setProductClass(\Eccube\Entity\ProductClass $productClass) | |
| { | |
| $this->ProductClass = $productClass; | |
| return $this; | |
| } | |
| /** | |
| * Get ProductClass | |
| * | |
| * @return \Eccube\Entity\ProductClass | |
| */ | |
| public function getProductClass() | |
| { | |
| if (EntityUtil::isEmpty($this->ProductClass)) { | |
| return null; | |
| } | |
| return $this->ProductClass; | |
| } | |
| /** | |
| * @var string | |
| */ | |
| private $class_name1; | |
| /** | |
| * @var string | |
| */ | |
| private $class_name2; | |
| /** | |
| * Set class_name1 | |
| * | |
| * @param string $className1 | |
| * @return OrderDetail | |
| */ | |
| public function setClassName1($className1) | |
| { | |
| $this->class_name1 = $className1; | |
| return $this; | |
| } | |
| /** | |
| * Get class_name1 | |
| * | |
| * @return string | |
| */ | |
| public function getClassName1() | |
| { | |
| return $this->class_name1; | |
| } | |
| /** | |
| * Set class_name2 | |
| * | |
| * @param string $className2 | |
| * @return OrderDetail | |
| */ | |
| public function setClassName2($className2) | |
| { | |
| $this->class_name2 = $className2; | |
| return $this; | |
| } | |
| /** | |
| * Get class_name2 | |
| * | |
| * @return string | |
| */ | |
| public function getClassName2() | |
| { | |
| return $this->class_name2; | |
| } | |
| } |