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