public class SynchronizationServiceImpl extends java.lang.Object implements SynchronizationService
Modifier and Type | Field and Description |
---|---|
private SageoneConfig |
config |
private ConfigurationService |
configService |
private ContactsService |
contactsService |
private SalesInvoiceRequestBuilder |
invoiceRequestBuilder |
private SalesInvoiceService |
invoiceService |
private static org.slf4j.Logger |
log |
private OrderRepository |
orderRepository |
private EpagesOrderService |
orderService |
private OrderValidator |
orderValidator |
private SalesInvoiceService |
salesInvoiceService |
private StatusService |
statusService |
Constructor and Description |
---|
SynchronizationServiceImpl(SageoneConfig config,
ConfigurationService configService,
StatusService statusService,
ContactsService contactsService,
SalesInvoiceService invoiceService,
OrderValidator orderValidator,
EpagesOrderService orderService,
SalesInvoiceRequestBuilder builder,
OrderRepository orderRepository,
SalesInvoiceService salesInvoiceService) |
Modifier and Type | Method and Description |
---|---|
void |
deleteSalesInvoiceReference(GUID shopGuid,
GUID orderGuid)
Delete sage sales invoice to epages order association from database and
void sales invoice on sage side.
|
private java.util.List<Order> |
fetchOrdersForSynchronization(GUID shopGuid) |
private SageContactResponse |
getContact(GUID shopGuid,
DetailedOrder order) |
private org.joda.time.DateTime |
getStartDatetime(GUID shopGuid) |
private boolean |
isAlreadyPublished(GUID shopGuid,
GUID orderGuid) |
boolean |
isReadyForSynchronization(GUID shopGuid)
Checks if it is possible to start synchronization and if it is, sets the
synchronization status to busy
|
void |
synchronizeOrder(GUID shopGuid,
GUID orderGuid)
Synchronizes a specific order of the shop with the passed identifier.
|
private void |
synchronizeOrderWithSage(GUID shopGuid,
GUID orderGuid) |
void |
synchronizeShop(GUID shopGuid)
Synchronizes all orders of the shop with the passed identifier.
|
private static final org.slf4j.Logger log
private SageoneConfig config
private StatusService statusService
private ConfigurationService configService
private ContactsService contactsService
private SalesInvoiceService invoiceService
private OrderValidator orderValidator
private EpagesOrderService orderService
private SalesInvoiceRequestBuilder invoiceRequestBuilder
private OrderRepository orderRepository
private SalesInvoiceService salesInvoiceService
@Inject public SynchronizationServiceImpl(SageoneConfig config, ConfigurationService configService, StatusService statusService, ContactsService contactsService, SalesInvoiceService invoiceService, OrderValidator orderValidator, EpagesOrderService orderService, SalesInvoiceRequestBuilder builder, OrderRepository orderRepository, SalesInvoiceService salesInvoiceService)
public boolean isReadyForSynchronization(GUID shopGuid)
SynchronizationService
isReadyForSynchronization
in interface SynchronizationService
shopGuid
- GUID of the shop.Opublic void synchronizeShop(GUID shopGuid)
SynchronizationService
synchronizeShop
in interface SynchronizationService
shopGuid
- GUID of the shop to synchronize.public void synchronizeOrder(GUID shopGuid, GUID orderGuid)
SynchronizationService
synchronizeOrder
in interface SynchronizationService
shopGuid
- GUID of the shop containing the order.orderGuid
- GUID of the order to synchronize.public void deleteSalesInvoiceReference(GUID shopGuid, GUID orderGuid) throws javax.validation.ValidationException, WebserviceException, DeserializationException
SynchronizationService
deleteSalesInvoiceReference
in interface SynchronizationService
shopGuid
- GUID of the shop containing the order.orderGuid
- order GUID to deletejavax.validation.ValidationException
WebserviceException
DeserializationException
private java.util.List<Order> fetchOrdersForSynchronization(GUID shopGuid)
private SageContactResponse getContact(GUID shopGuid, DetailedOrder order) throws WebserviceException, javax.validation.ValidationException, DeserializationException
WebserviceException
javax.validation.ValidationException
DeserializationException
private org.joda.time.DateTime getStartDatetime(GUID shopGuid)