@@ 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 |