Subversion Repositories SmartDukaan

Rev

Rev 27516 | Rev 29707 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.spice.profitmandi.service.order;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Service;

import com.spice.profitmandi.common.enumuration.SearchType;
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
import com.spice.profitmandi.common.model.CartFofo;
import com.spice.profitmandi.common.model.CreateOrderRequest;
import com.spice.profitmandi.common.model.CreditNotePdfModel;
import com.spice.profitmandi.common.model.CustomCustomer;
import com.spice.profitmandi.common.model.FoiBadReturnRequest;
import com.spice.profitmandi.common.model.PdfModel;
import com.spice.profitmandi.dao.entity.fofo.CustomerAddress;
import com.spice.profitmandi.dao.entity.fofo.CustomerCreditNote;
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;

@Service
public interface OrderService {
        public int createOrder(CreateOrderRequest createOrderRequest, int fofoId, boolean accessoriesDeals)
                        throws ProfitMandiBusinessException;

        public void updateCustomerDetails(CustomCustomer customCustomer, String invoiceNumber)
                        throws ProfitMandiBusinessException;

        public PdfModel getInvoicePdfModel(int fofoId, int orderId) throws ProfitMandiBusinessException;

        public PdfModel getInvoicePdfModel(int orderId) throws ProfitMandiBusinessException;

        public String getBillingAddress(CustomerAddress customerAddress);

        public List<CartFofo> cartCheckout(String cartJson) throws ProfitMandiBusinessException;

        public List<FofoOrderItem> getByOrderId(int orderId) throws ProfitMandiBusinessException;

        public Map<String, Object> getSaleHistory(int fofoId, SearchType searchType, String searchValue,
                        LocalDateTime startDate, LocalDateTime endDate, int offset, int limit) throws ProfitMandiBusinessException;

        public Map<String, Object> getSaleHistoryPaginated(int fofoId, SearchType searchType, String searchValue,
                        LocalDateTime startDate, LocalDateTime endDate, int offset, int limit) throws ProfitMandiBusinessException;

        public CustomerCreditNote badReturn(int fofoId, FoiBadReturnRequest foiBadReturnRequest)
                        throws ProfitMandiBusinessException;

        public CreditNotePdfModel getCreditNotePdfModel(int customerCreditNoteId) throws ProfitMandiBusinessException;

        public void cancelOrder(List<String> invoiceNumbers) throws Exception;

        public float getSales(int fofoId, LocalDateTime startDate, LocalDateTime endDate);

        public float getSales(int fofoId, LocalDate onDate);

        public float getSales(LocalDateTime onDate);

        public float getSales(LocalDateTime startDate, LocalDateTime endDate);

        String getInvoiceNumber(int fofoId, String fofoStoreCode);

        public boolean notifyColorChange(int orderId, int itemId) throws ProfitMandiBusinessException;

        public FofoOrder getOrderByInventoryItemId(int inventoryItemId) throws Exception;

        LocalDateTime getMaxSalesDate(int fofoId, LocalDateTime startDate, LocalDateTime endDate);

        PdfModel getDummyPdfModel(String serialNumber) throws ProfitMandiBusinessException;

        public Map<Integer, Long> carryBagCreditCount(int fofoId) throws ProfitMandiBusinessException;
}