Class EshopService

java.lang.Object
sk.iway.iwcm.components.basket.rest.EshopService

@Service public class EshopService extends Object
  • Constructor Details

  • Method Details

    • getInstance

      public static EshopService getInstance()
      INSTANCE METHOD
    • getInvoiceById

      public BasketInvoiceEntity getInvoiceById(int invoiceId)
      GETTER METHODS
    • getBasketItemById

      public BasketInvoiceItemEntity getBasketItemById(int basketItemId)
    • getBasketItems

      public List<BasketInvoiceItemEntity> getBasketItems(javax.servlet.http.HttpServletRequest request)
      Vrati zoznam poloziek nakupneho kosika
      Parameters:
      request -
      Returns:
    • getBasketInvoicePaymentByInvoiceId

      public List<BasketInvoicePaymentEntity> getBasketInvoicePaymentByInvoiceId(int invoiceId, Boolean typ)
      ziska zaznamy pre objednavku (invoiceId)
      Parameters:
      invoiceId -
      typ - -> true/false - vrati uspesne/neuspesne platby, null - vrati vsetky
      Returns:
    • getPaymentsSum

      public BigDecimal getPaymentsSum(int invoiceId)
      vracia vyslednu sumu zaplatenu ciastkovymi platbami na zaklade invoiceId
      Parameters:
      invoiceId -
      Returns:
    • getBasketItem

      public BasketInvoiceItemEntity getBasketItem(long browserId, int invoiceId, int itemId)
      Vrati polozku z kosika (ak existuje) pre zadane browserId, invoiceId a itemId. Ak neexistuje, vrati null
      Parameters:
      browserId - identifikator podla browsera
      invoiceId - identifikator faktury
      itemId - identifikator polozky v kosiku
      Returns:
    • getBasketItem

      public BasketInvoiceItemEntity getBasketItem(long browserId, int invoiceId, int itemId, String itemNote)
      Vrati polozku z kosika (ak existuje) pre zadane browserId, userId a itemId a itemNote alebo null
      Parameters:
      browserId -
      invoiceId -
      itemId -
      itemNote -
      Returns:
    • saveBasketItem

      public boolean saveBasketItem(BasketInvoiceItemEntity basketItem)
      Ulozi polozku kosika do tabulky basket_item
      Parameters:
      basketItem - instancia objektu polozky v kosiku
      Returns:
      true, ak sa ulozenie vydarilo, inak false
    • saveInvoice

      public BasketInvoiceEntity saveInvoice(BasketInvoiceEntity basketInvoice)
    • saveOrder

      public BasketInvoiceEntity saveOrder(javax.servlet.http.HttpServletRequest request)
    • deleteBasketItem

      public void deleteBasketItem(int invoiceItemId)
      Vymaze polozku v kosiku
      Parameters:
      invoiceItemId - identifikator polozky v kosiku
    • deleteAll

      public boolean deleteAll(javax.servlet.http.HttpServletRequest request)
      Vymazanie celeho nakupneho kosika - vsetkych poloziek ulozenych v session
      Parameters:
      request -
      Returns:
    • bindItemsToInvoice

      public void bindItemsToInvoice(Long invoiceId, Long browserId)
      SUPPORT METHODS
    • sendInvoiceEmail

      public boolean sendInvoiceEmail(javax.servlet.http.HttpServletRequest request, int invoiceId, String fromEmail, String toEmail, String subject)
    • sendInvoiceEmail

      public boolean sendInvoiceEmail(javax.servlet.http.HttpServletRequest request, int invoiceId, String fromEmail, String toEmail, String subject, String attachements)
    • decreaseCountOfProductFromStock

      public void decreaseCountOfProductFromStock(int basketInvoiceId)
    • setItemFromDoc

      public boolean setItemFromDoc(javax.servlet.http.HttpServletRequest request)
      Prida (nastavi QTY) polozku do nakupneho kosika, v requeste ocakava nasledovne parametre:
      - basketItemId = docId stranky s polozkou
      - basketQty = pocet kusov (ak je null pouzije sa 1)
      - basketUserNote = poznamka k polozke
      Parameters:
      request -
      Returns:
    • setItemFromDoc

      public boolean setItemFromDoc(javax.servlet.http.HttpServletRequest request, int basketItemId, int basketQty, String basketUserNote)
      Prida (nastavi QTY) polozku do nakupneho kosika
      Parameters:
      basketItemId - = docId stranky s polozkou
      basketQty - = pocet kusov (ak je null pouzije sa 1)
      basketUserNote - = poznamka k polozke
      request -
      Returns:
    • canAddItem

      public boolean canAddItem(javax.servlet.http.HttpServletRequest req)
      Ak je dost produktov na sklade tak vrati true (mozeme vlozit do kosiku)
      Parameters:
      req - - HttpServletRequest
      Returns:
    • getModeOfTransports

      public List<DocDetails> getModeOfTransports(String... lng)
      Vrati aktualne moznosti dopravy. Ak doprava neexistuje, vrati prazdny list MBO: moze sa poslat parameter lng, vtedy hlada [nazov][lng], ak nenajde, hlada [nazov]
      Returns:
    • getModeOfTransports

      public List<DocDetails> getModeOfTransports(javax.servlet.http.HttpServletRequest request, String... lng)
      Vrati moznosti len osobneho vyzdvihnutia tovaru, ak je v kosiku polozka, ktora sa da vyzdvihnut len osobne. Definovanie cez konf. premennu basketTransportInStorePickupFieldName, pokial nie je zadana, vrati vsetky moznosti dopravy
      Parameters:
      request -
      lng -
      Returns:
    • getTotalLocalPrice

      public static BigDecimal getTotalLocalPrice(List<BasketInvoiceItemEntity> items, javax.servlet.http.HttpServletRequest request)
      STATIC METHODS
    • getTotalItems

      public static int getTotalItems(List<BasketInvoiceItemEntity> items)
    • getTotalLocalPriceVat

      public static BigDecimal getTotalLocalPriceVat(List<BasketInvoiceItemEntity> items, javax.servlet.http.HttpServletRequest request)
    • getBrowserId

      public static long getBrowserId(javax.servlet.http.HttpServletRequest request)
    • getDisplayCurrency

      public static String getDisplayCurrency(javax.servlet.http.HttpServletRequest request)
      Funkcia vrati z requestu zobrazovanu menu, ak sa v requeste nenachadza, vrati default z Constants.getString("basketDisplayCurrency") v pripade cloudu kontroluje nastavenia root grupy fieldC az potom berie basketDisplayCurrency
      Parameters:
      request -
      Returns:
    • canAddItem

      public static boolean canAddItem(DocDetails doc, BasketInvoiceItemEntity basketInvoiceItemEntity, int newQty)
      Ak je dost produktov na sklade tak vrati true (mozeme vlozit do kosiku)
      Parameters:
      doc -
      basketInvoiceItemEntity -
      newQty - - pocet produktov ktore pridavame
      Returns: