Class OrderOwnedFulfillmentEndpoint


  • @FrameworkRestController
    @FrameworkMapping("/orders/{orderId}/fulfillments")
    @DataRouteByExample(com.broadleafcommerce.order.client.domain.OrderFulfillment.class)
    public class OrderOwnedFulfillmentEndpoint
    extends Object
    Endpoint for management of OrderFulfillments within an Order.
    • Constructor Detail

      • OrderOwnedFulfillmentEndpoint

        public OrderOwnedFulfillmentEndpoint​(OrderService<com.broadleafcommerce.order.client.domain.Order> orderService,
                                             OrderFulfillmentService<com.broadleafcommerce.order.client.domain.OrderFulfillment> orderFulfillmentService,
                                             OrderFulfillmentItemService<com.broadleafcommerce.order.client.domain.OrderFulfillmentItem> orderFulfillmentItemService)
    • Method Detail

      • readAllOrderFulfillmentsForOrder

        @Policy(permissionRoots="ORDER_FULFILLMENT")
        @FrameworkGetMapping
        public org.springframework.data.domain.Page<com.broadleafcommerce.order.client.domain.OrderFulfillment> readAllOrderFulfillmentsForOrder​(@ContextOperation
                                                                                                                                                 com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                                                                                                                                 @PathVariable("orderId")
                                                                                                                                                 String orderId,
                                                                                                                                                 cz.jirutka.rsql.parser.ast.Node filters,
                                                                                                                                                 @PageableDefault(size=50)
                                                                                                                                                 org.springframework.data.domain.Pageable page)
      • readOrderFulfillmentByIdForOrder

        @Policy(permissionRoots="ORDER_FULFILLMENT")
        @FrameworkGetMapping("/{id}")
        public com.broadleafcommerce.order.client.domain.OrderFulfillment readOrderFulfillmentByIdForOrder​(@ContextOperation
                                                                                                           com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                                                                                           @PathVariable("orderId")
                                                                                                           String orderId,
                                                                                                           @PathVariable("id")
                                                                                                           String orderFulfillmentId)
      • createOrderFulfillmentForOrder

        @Policy(permissionRoots="ORDER_FULFILLMENT")
        @FrameworkPostMapping
        public com.broadleafcommerce.order.client.domain.OrderFulfillment createOrderFulfillmentForOrder​(@PathVariable("orderId")
                                                                                                         String orderId,
                                                                                                         @RequestBody
                                                                                                         com.broadleafcommerce.order.client.domain.OrderFulfillment orderFulfillment,
                                                                                                         @ContextOperation(CREATE)
                                                                                                         com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
      • replaceOrderFulfillmentForOrder

        @Policy(permissionRoots="ORDER_FULFILLMENT")
        @FrameworkPutMapping("/{id}")
        public com.broadleafcommerce.order.client.domain.OrderFulfillment replaceOrderFulfillmentForOrder​(@PathVariable("orderId")
                                                                                                          String orderId,
                                                                                                          @PathVariable("id")
                                                                                                          String orderFulfillmentId,
                                                                                                          @RequestBody
                                                                                                          com.broadleafcommerce.order.client.domain.OrderFulfillment req,
                                                                                                          @ContextOperation(UPDATE)
                                                                                                          com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
      • deleteOrderFulfillmentForOrder

        @Policy(permissionRoots="ORDER_FULFILLMENT")
        @FrameworkDeleteMapping("/{id}")
        public void deleteOrderFulfillmentForOrder​(@PathVariable("orderId")
                                                   String orderId,
                                                   @ContextOperation(DELETE)
                                                   com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                                   @PathVariable("id")
                                                   String orderFulfillmentId)
      • getReturnableItems

        @Policy(permissionRoots={"ORDER_FULFILLMENT","RETURN_AUTHORIZATION"})
        @FrameworkGetMapping("/{id}/returnable-items")
        public List<com.broadleafcommerce.order.client.domain.OrderFulfillmentItem> getReturnableItems​(@ContextOperation
                                                                                                       com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                                                                                       @PathVariable("orderId")
                                                                                                       String orderId,
                                                                                                       @PathVariable("id")
                                                                                                       String fulfillmentId)
      • ensureOrderExists

        protected void ensureOrderExists​(@NonNull
                                         @NonNull String orderId,
                                         com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Ensures that the Order exists before we manage OrderFulfillments in that order.
        Parameters:
        orderId - ID of the order to check for existence
        contextInfo - context information around sandbox and multitenant state
      • ensureFulfillmentBelongsToOrderAndReturn

        protected com.broadleafcommerce.order.client.domain.OrderFulfillment ensureFulfillmentBelongsToOrderAndReturn​(@NonNull
                                                                                                                      @NonNull String orderId,
                                                                                                                      @NonNull
                                                                                                                      @NonNull String orderFulfillmentId,
                                                                                                                      com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Ensures that the OrderFulfillment is associated with the specified order ID. Also retrieves the order fulfillment.
        Parameters:
        orderId - ID of the order to check for association
        orderFulfillmentId - ID of the order fulfillment to check for association
        contextInfo - context information around sandbox and multitenant state
        Returns:
        the found order fulfillment
        Throws:
        com.broadleafcommerce.data.tracking.core.exception.EntityMissingException - if the order fulfillment is not associated to the order
      • getOrderService

        protected OrderService<com.broadleafcommerce.order.client.domain.Order> getOrderService()
      • getOrderFulfillmentService

        protected OrderFulfillmentService<com.broadleafcommerce.order.client.domain.OrderFulfillment> getOrderFulfillmentService()
      • getOrderFulfillmentItemService

        protected OrderFulfillmentItemService<com.broadleafcommerce.order.client.domain.OrderFulfillmentItem> getOrderFulfillmentItemService()