| @@ 120-134 (lines=15) @@ | ||
| 117 | } |
|
| 118 | } |
|
| 119 | ||
| 120 | protected function calculateSubTotal(ItemHolderInterface $itemHolder) |
|
| 121 | { |
|
| 122 | $total = $itemHolder->getItems() |
|
| 123 | ->getProductClasses() |
|
| 124 | ->reduce(function ($sum, ItemInterface $item) { |
|
| 125 | $sum += $item->getPriceIncTax() * $item->getQuantity(); |
|
| 126 | ||
| 127 | return $sum; |
|
| 128 | }, 0); |
|
| 129 | // TODO |
|
| 130 | if ($itemHolder instanceof \Eccube\Entity\Order) { |
|
| 131 | // Order の場合は SubTotal をセットする |
|
| 132 | $itemHolder->setSubTotal($total); |
|
| 133 | } |
|
| 134 | } |
|
| 135 | ||
| 136 | /** |
|
| 137 | * @param ItemHolderInterface $itemHolder |
|
| @@ 139-149 (lines=11) @@ | ||
| 136 | /** |
|
| 137 | * @param ItemHolderInterface $itemHolder |
|
| 138 | */ |
|
| 139 | protected function calculateDeliveryFeeTotal(ItemHolderInterface $itemHolder) |
|
| 140 | { |
|
| 141 | $total = $itemHolder->getItems() |
|
| 142 | ->getDeliveryFees() |
|
| 143 | ->reduce(function ($sum, ItemInterface $item) { |
|
| 144 | $sum += $item->getPriceIncTax() * $item->getQuantity(); |
|
| 145 | ||
| 146 | return $sum; |
|
| 147 | }, 0); |
|
| 148 | $itemHolder->setDeliveryFeeTotal($total); |
|
| 149 | } |
|
| 150 | ||
| 151 | /** |
|
| 152 | * @param ItemHolderInterface $itemHolder |
|
| @@ 154-165 (lines=12) @@ | ||
| 151 | /** |
|
| 152 | * @param ItemHolderInterface $itemHolder |
|
| 153 | */ |
|
| 154 | protected function calculateDiscount(ItemHolderInterface $itemHolder) |
|
| 155 | { |
|
| 156 | $total = $itemHolder->getItems() |
|
| 157 | ->getDiscounts() |
|
| 158 | ->reduce(function ($sum, ItemInterface $item) { |
|
| 159 | $sum += $item->getPriceIncTax() * $item->getQuantity(); |
|
| 160 | ||
| 161 | return $sum; |
|
| 162 | }, 0); |
|
| 163 | // TODO 後方互換のため discount には正の整数を代入する |
|
| 164 | $itemHolder->setDiscount($total * -1); |
|
| 165 | } |
|
| 166 | ||
| 167 | /** |
|
| 168 | * @param ItemHolderInterface $itemHolder |
|
| @@ 170-180 (lines=11) @@ | ||
| 167 | /** |
|
| 168 | * @param ItemHolderInterface $itemHolder |
|
| 169 | */ |
|
| 170 | protected function calculateCharge(ItemHolderInterface $itemHolder) |
|
| 171 | { |
|
| 172 | $total = $itemHolder->getItems() |
|
| 173 | ->getCharges() |
|
| 174 | ->reduce(function ($sum, ItemInterface $item) { |
|
| 175 | $sum += $item->getPriceIncTax() * $item->getQuantity(); |
|
| 176 | ||
| 177 | return $sum; |
|
| 178 | }, 0); |
|
| 179 | $itemHolder->setCharge($total); |
|
| 180 | } |
|
| 181 | ||
| 182 | /** |
|
| 183 | * @param ItemHolderInterface $itemHolder |
|
| @@ 185-194 (lines=10) @@ | ||
| 182 | /** |
|
| 183 | * @param ItemHolderInterface $itemHolder |
|
| 184 | */ |
|
| 185 | protected function calculateTax(ItemHolderInterface $itemHolder) |
|
| 186 | { |
|
| 187 | $total = $itemHolder->getItems() |
|
| 188 | ->reduce(function ($sum, ItemInterface $item) { |
|
| 189 | $sum += ($item->getPriceIncTax() - $item->getPrice()) * $item->getQuantity(); |
|
| 190 | ||
| 191 | return $sum; |
|
| 192 | }, 0); |
|
| 193 | $itemHolder->setTax($total); |
|
| 194 | } |
|
| 195 | } |
|
| 196 | ||