Class BillingServiceImpl
- java.lang.Object
-
- co.mastermindcms.modules.services.BillingServiceImpl
-
- All Implemented Interfaces:
BillingService
@Service public class BillingServiceImpl extends java.lang.Object implements BillingService
-
-
Field Summary
Fields Modifier and Type Field Description private CommerceItemServicecommerceItemServiceprivate CommercePropertiescommercePropertiesprivate LogisticsProviderServicelogisticsProviderService
-
Constructor Summary
Constructors Constructor Description BillingServiceImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.math.BigDecimalcalculateBruttoAmount(java.util.List<CommerceItem> items, Order.Tax tax)Calculates gross amount in cents for order.java.math.BigDecimalcalculateDeliveryAmount(Order order)Calculates delivery amount for order.java.math.BigDecimalcalculateItemsTotalAmount(java.util.Collection<CommerceItem> items)Sums prices of commerce items.java.math.BigDecimalcalculateItemsTotalBruttoAmount(java.math.BigDecimal amount, java.math.BigDecimal taxAmount)Calculates gross amount for order.java.math.BigDecimalcalculateNettoAmount(java.util.List<CommerceItem> items)Calculates net amount in cents for order.java.math.BigDecimalcalculatePayoutAmount(Order order)Calculates amount in cents for payout.java.math.BigDecimalcalculateServiceFee(java.math.BigDecimal amount)Calculates service fee for given amount.java.math.BigDecimalcalculateServiceFeeBruttoAmount(Order order)Calculates amount in cents for service fee.java.math.BigDecimalcalculateServiceFeeNettoAmount(Order order)Calculates service fee for given amount.java.math.BigDecimalcalculateTaxAmount(java.math.BigDecimal amount, java.math.BigDecimal taxRate)Calculates tax amount for order.java.math.BigDecimalgetServiceFee()Service fee coefficient.
-
-
-
Field Detail
-
commerceItemService
@Autowired private CommerceItemService commerceItemService
-
logisticsProviderService
@Autowired private LogisticsProviderService logisticsProviderService
-
commerceProperties
@Autowired private CommerceProperties commerceProperties
-
-
Method Detail
-
getServiceFee
public java.math.BigDecimal getServiceFee()
Description copied from interface:BillingServiceService fee coefficient.- Specified by:
getServiceFeein interfaceBillingService- Returns:
- coefficient
-
calculateServiceFee
public java.math.BigDecimal calculateServiceFee(java.math.BigDecimal amount)
Description copied from interface:BillingServiceCalculates service fee for given amount.- Specified by:
calculateServiceFeein interfaceBillingService- Parameters:
amount- amount- Returns:
- service fee
-
calculateServiceFeeNettoAmount
public java.math.BigDecimal calculateServiceFeeNettoAmount(Order order)
Description copied from interface:BillingServiceCalculates service fee for given amount.- Specified by:
calculateServiceFeeNettoAmountin interfaceBillingService- Parameters:
order- order- Returns:
- net service fee amount
-
calculateServiceFeeBruttoAmount
public java.math.BigDecimal calculateServiceFeeBruttoAmount(Order order)
Description copied from interface:BillingServiceCalculates amount in cents for service fee.- Specified by:
calculateServiceFeeBruttoAmountin interfaceBillingService- Parameters:
order- order- Returns:
- gross service fee amount
-
calculatePayoutAmount
public java.math.BigDecimal calculatePayoutAmount(Order order)
Description copied from interface:BillingServiceCalculates amount in cents for payout.- Specified by:
calculatePayoutAmountin interfaceBillingService- Parameters:
order- order- Returns:
- payout amount in coins/cents
-
calculateItemsTotalAmount
public java.math.BigDecimal calculateItemsTotalAmount(java.util.Collection<CommerceItem> items)
Description copied from interface:BillingServiceSums prices of commerce items.- Specified by:
calculateItemsTotalAmountin interfaceBillingService- Parameters:
items- items- Returns:
- items total amount
-
calculateItemsTotalBruttoAmount
public java.math.BigDecimal calculateItemsTotalBruttoAmount(java.math.BigDecimal amount, java.math.BigDecimal taxAmount)Description copied from interface:BillingServiceCalculates gross amount for order.- Specified by:
calculateItemsTotalBruttoAmountin interfaceBillingService- Parameters:
amount- net amounttaxAmount- tax amount- Returns:
- gross amount
-
calculateTaxAmount
public java.math.BigDecimal calculateTaxAmount(java.math.BigDecimal amount, java.math.BigDecimal taxRate)Description copied from interface:BillingServiceCalculates tax amount for order.- Specified by:
calculateTaxAmountin interfaceBillingService- Parameters:
amount- net amounttaxRate- tax rate in decimals- Returns:
- tax amount
-
calculateDeliveryAmount
public java.math.BigDecimal calculateDeliveryAmount(Order order)
Description copied from interface:BillingServiceCalculates delivery amount for order.- Specified by:
calculateDeliveryAmountin interfaceBillingService- Parameters:
order- order- Returns:
- delivery amount
-
calculateBruttoAmount
public java.math.BigDecimal calculateBruttoAmount(java.util.List<CommerceItem> items, Order.Tax tax)
Description copied from interface:BillingServiceCalculates gross amount in cents for order.- Specified by:
calculateBruttoAmountin interfaceBillingService- Parameters:
items- commerce itemstax- tax object- Returns:
- gross amount in coins/cents
-
calculateNettoAmount
public java.math.BigDecimal calculateNettoAmount(java.util.List<CommerceItem> items)
Description copied from interface:BillingServiceCalculates net amount in cents for order.- Specified by:
calculateNettoAmountin interfaceBillingService- Parameters:
items- commerce items- Returns:
- net amount in coins/cents
-
-