Class OrderProcessFlowService

java.lang.Object
com.skava.oms.flow.util.OrderProcessFlowUtil
com.skava.oms.flow.util.OrderProcessFlowService

@Component public class OrderProcessFlowService extends OrderProcessFlowUtil
This class contains the constants for the process of order
Since:
26-Jul-2018
Author:
Infosys Equinox
  • Field Details

  • Constructor Details

    • OrderProcessFlowService

      public OrderProcessFlowService()
  • Method Details

    • getLockOrder

      public Order getLockOrder(OrderMessageTracker<?> obj)
      The method locks the order for the given orderId
      Parameters:
      obj - - Contains the Order object to be locked
      Returns:
      order - order to be locked Debug logger has been added to this method.
    • releaseOrder

      public void releaseOrder(Order order)
      This method used for release the locked order
      Parameters:
      order - - order to be released
    • releaseOrder

      public void releaseOrder(Order order, boolean revert)
      This method release the locked order without changes any data
      Parameters:
      order - - order to be released
      revert - - boolean whether to revert the release
    • triggerEvent

      public <T> void triggerEvent(com.skava.core.event.Message<T> messagePayload, String topic, String queue, Order order, Map<String,Object> messageHeader)
      The method triggers the event for the given queue or topic
      Type Parameters:
      T - - To get the generic variable
      Parameters:
      messagePayload - contains the message payload
      topic - - contains the topic
      queue - - contains the queue
      order - - order for which the trigger event should be done
      messageHeader - - headers to be added to the sending message
    • triggerEvent

      public <T> void triggerEvent(com.skava.core.event.Message<T> messagePayload, String topic, Order order, Map<String,Object> messageHeader)
      The method triggers the event for the given topic and exchange key
      Type Parameters:
      T - - To get the generic variable
      Parameters:
      messagePayload - contains the message payload
      topic - - contains the topic
      order - - order for which the trigger event should be done
      messageHeader - - headers to be added to the sending message
    • triggerEvent

      public <T> void triggerEvent(com.skava.core.event.Message<T> messagePayload, Order order, Map<String,Object> messageHeader)
      The method triggers the event for the given topic and exchange key
      Type Parameters:
      T - - To get the generic variable
      Parameters:
      messagePayload - contains the message payload
      order - - order for which the trigger event should be done
      messageHeader - - headers to be added to the sending message
    • getBusinessKey

      public String getBusinessKey()
    • triggerExternalEvent

      public <T> void triggerExternalEvent(com.skava.core.event.Message<T> messagePayload, Order order, Map<String,Object> messageHeader)
      The method triggers the external event for the given topic and exchange key
      Type Parameters:
      T - - To get the generic variable
      Parameters:
      messagePayload - contains the message payload
      order - - order for which the trigger event should be done
      messageHeader - - headers to be added to the sending message
    • setBusinessKey

      public void setBusinessKey(String businessKey)
    • createTaskForNewItemForOrder

      public void createTaskForNewItemForOrder(Order order, String status, String startEventMsg, boolean override)
      This method creates new task for each item in the given order. Parameter Status should be matched with order item status.
      Parameters:
      order - - To get new line item
      status - - Identifying new line item
      startEventMsg - - start event message name
      override - - If want to override existing process or not
    • createTasksForNewItemForOrder

      public void createTasksForNewItemForOrder(Order order, String status, String startEventMsg, OrderItem orderItem)
      This method creates new task for each item in the given order. Parameter Status should be matched with order item status.
      Parameters:
      order - - To get new line item
      status - - Identifying new line item
      startEventMsg - - start event message name
      orderItem - - orderItem
    • processableSpecialItem

      public static boolean processableSpecialItem(OrderItem oi, String processStatus)
      Checks if the given order item contains special products and they matching with given processStatus
      Parameters:
      oi -
      processStatus -
      Returns:
    • createTaskForOrderItems

      public void createTaskForOrderItems(List<OrderItem> orderitems, Order order, String status, String startEventMsg, boolean override)
      This method creates new task for each item in the given list of order items.
      Parameters:
      orderitems - - contains the list of order items
      order - - To get new line item
      status - - Identifying new line item
      startEventMsg - - start event message name
      override - - If want to override existing process or not
    • createTaskForNewItemByItem

      public void createTaskForNewItemByItem(Order order, List<OrderItem> items, String startEventMsg, Map<String,Object> patchRequest)
      This method creates single task for the given bulk items.
      Parameters:
      order - - To get new line item
      items - - To get new items from the order
      startEventMsg - - start event message name
      patchRequest - - contains the patchrequest based on the orderitems.
    • updateStatus

      public void updateStatus(org.camunda.bpm.engine.delegate.DelegateExecution execution, OrderProcessData orderProcessData, Order order)
      Update status for order process form bpm input params
      Parameters:
      execution - - Execution used in current delegate
      orderProcessData - - contains the order data
      order - - order object in current process
    • createTaskForOrder

      public void createTaskForOrder(Order order, String status, String startEventMsg)
      This method creates new task for each item in the given order. Parameter Status should be matched with order item status.
      Parameters:
      order - - To get new line item
      status - - Identifying new line item
      startEventMsg - - start event message name
    • createTaskForOrderPlace

      public void createTaskForOrderPlace(Order order, String status, String startEventMsg, List<OrderItem> orderItem)
      createTaskForOrderPlace
      Parameters:
      order -
      status -
      startEventMsg -
      orderItem -