| @@ 282-296 (lines=15) @@ | ||
| 279 | } |
|
| 280 | } |
|
| 281 | ||
| 282 | protected function calculateSubTotal(ItemHolderInterface $itemHolder) |
|
| 283 | { |
|
| 284 | $total = $itemHolder->getItems() |
|
| 285 | ->getProductClasses() |
|
| 286 | ->reduce(function ($sum, ItemInterface $item) { |
|
| 287 | $sum += $item->getPriceIncTax() * $item->getQuantity(); |
|
| 288 | ||
| 289 | return $sum; |
|
| 290 | }, 0); |
|
| 291 | // TODO |
|
| 292 | if ($itemHolder instanceof Order) { |
|
| 293 | // Order の場合は SubTotal をセットする |
|
| 294 | $itemHolder->setSubTotal($total); |
|
| 295 | } |
|
| 296 | } |
|
| 297 | ||
| 298 | /** |
|
| 299 | * @param ItemHolderInterface $itemHolder |
|
| @@ 301-311 (lines=11) @@ | ||
| 298 | /** |
|
| 299 | * @param ItemHolderInterface $itemHolder |
|
| 300 | */ |
|
| 301 | protected function calculateDeliveryFeeTotal(ItemHolderInterface $itemHolder) |
|
| 302 | { |
|
| 303 | $total = $itemHolder->getItems() |
|
| 304 | ->getDeliveryFees() |
|
| 305 | ->reduce(function ($sum, ItemInterface $item) { |
|
| 306 | $sum += $item->getPriceIncTax() * $item->getQuantity(); |
|
| 307 | ||
| 308 | return $sum; |
|
| 309 | }, 0); |
|
| 310 | $itemHolder->setDeliveryFeeTotal($total); |
|
| 311 | } |
|
| 312 | ||
| 313 | /** |
|
| 314 | * @param ItemHolderInterface $itemHolder |
|
| @@ 316-327 (lines=12) @@ | ||
| 313 | /** |
|
| 314 | * @param ItemHolderInterface $itemHolder |
|
| 315 | */ |
|
| 316 | protected function calculateDiscount(ItemHolderInterface $itemHolder) |
|
| 317 | { |
|
| 318 | $total = $itemHolder->getItems() |
|
| 319 | ->getDiscounts() |
|
| 320 | ->reduce(function ($sum, ItemInterface $item) { |
|
| 321 | $sum += $item->getPriceIncTax() * $item->getQuantity(); |
|
| 322 | ||
| 323 | return $sum; |
|
| 324 | }, 0); |
|
| 325 | // TODO 後方互換のため discount には正の整数を代入する |
|
| 326 | $itemHolder->setDiscount($total * -1); |
|
| 327 | } |
|
| 328 | ||
| 329 | /** |
|
| 330 | * @param ItemHolderInterface $itemHolder |
|
| @@ 332-342 (lines=11) @@ | ||
| 329 | /** |
|
| 330 | * @param ItemHolderInterface $itemHolder |
|
| 331 | */ |
|
| 332 | protected function calculateCharge(ItemHolderInterface $itemHolder) |
|
| 333 | { |
|
| 334 | $total = $itemHolder->getItems() |
|
| 335 | ->getCharges() |
|
| 336 | ->reduce(function ($sum, ItemInterface $item) { |
|
| 337 | $sum += $item->getPriceIncTax() * $item->getQuantity(); |
|
| 338 | ||
| 339 | return $sum; |
|
| 340 | }, 0); |
|
| 341 | $itemHolder->setCharge($total); |
|
| 342 | } |
|
| 343 | ||
| 344 | /** |
|
| 345 | * @param ItemHolderInterface $itemHolder |
|