| Interface | Description |
|---|---|
| InvoiceService<O extends Order<I>,I extends OrderItem,INVOICE> |
Generate Invoices from
Orders |
| OrderService<O extends Order<? extends I>,I extends OrderItem> |
Handle all requests related or
Order management
This class will also generate Events (See implementation for specifics) |
| PromotionService<T extends Promotion> |
Service layer for
Promotions and PromotionForUsers |
| RelatedOrderService<O extends Order<I>,I extends OrderItem> |
Additional Services for
RelatedOrder |
| SubOrderService<O extends SubOrder<O,I>,I extends OrderItem> |
Additional Services for
SubOrder |
| TransactionRequestHandler<T extends Transaction,O extends Order> |
A Service that will realize a
Transaction from an Order and also persist the Transaction
The service to implement this often will have to rely on Third party API depending on the Gateway needs and requirements. |
| TransactionResponseHandler<R> |
Handle the Response (incoming Request) from the Gateway after a request is initiated by the
TransactionRequestHandler to the Gateway. |
| TransactionService<T extends Transaction<O>,O extends Order> |
| Class | Description |
|---|---|
| AbstractOnlineTransactionRequestHandler<T extends Transaction,O extends Order> |
Implements some basic common
TransactionService aspects |
| DefaultOrderService<O extends Order<I>,I extends OrderItem> |
Default
Order service
SENSITIVE SERVICE. |
| DefaultPromotionService<T extends Promotion> |
Default impl for
PromotionService
This class will also generate Events of Type T or Object[]{I, causeSource as String} (after saving the Order)
Since this implements ChangeGenerator; it will also generate Events of TypeUpdate Promotion - new Object[]{ StandardOperation.#EDIT, Promotion}
Delete Promotion - new Object[]{StandardOperation.#DELETE, Promotion}
Update PromotionForUser - new Object[]{StandardOperation.#EDIT, PromotionForUser}
Delete PromotionForUser - new Object[]{StandardOperation.#DELETE, PromotionForUser}
Generate Coupons for Users - new Object[]{StandardOperation.#ADD, List of PromotionForUser, Object ...context}
Delete Coupons for Users - new Object[]{StandardOperation.#DELETE, List of PromotionForUser, Object ...context}
Notify Users - new Object[]{StandardOperation.#NOTIFY, List of PromotionForUser, Object ...context}
|
| DefaultSubOrderService<O extends SubOrder<O,I>,I extends OrderItem> | |
| DefaultTransactionService<T extends Transaction<O>,O extends Order> |
Default implementation for
TransactionService
Since this implements ChangeGenerator; it will also generate Events of Typesave - Transaction
|
| SpringTemplateInvoiceService<O extends Order<I>,I extends OrderItem,INVOICE> |
A
TemplateInvoiceService for Spring Beans
The stateful Publisher is derived from the Spring Context. |
| TemplateInvoiceService<O extends Order<I>,I extends OrderItem,INVOICE> |
Using a
Publisher publish an Invoice Format (Default @ HTML); where the Order is provided to the context with order + TemplateInvoiceService.processContext(Order, Map):
The order passed is expected to contain all the necessary details ready for Publishing/Printing to the invoice. |
Copyright © 2018. All rights reserved.