Class SKUServiceImpl

  • All Implemented Interfaces:
    SKUService

    @Service
    public class SKUServiceImpl
    extends java.lang.Object
    implements SKUService
    • Constructor Detail

      • SKUServiceImpl

        public SKUServiceImpl()
    • Method Detail

      • getPaginationFilter

        public java.util.Deque<java.util.Map<java.lang.String,​java.lang.Object>> getPaginationFilter​(java.lang.String requestJson)
        Description copied from interface: SKUService
        This method does calculation for a pages based on the request.
        Specified by:
        getPaginationFilter in interface SKUService
        Parameters:
        requestJson - JSON-object of request contains an instructions for search queries
        Returns:
        map-representation of data
      • searchSKUs

        public java.util.LinkedHashSet<SkuDTO> searchSKUs​(java.lang.String requestJson)
        Description copied from interface: SKUService
        This method does search requests and returns data as list.
        Specified by:
        searchSKUs in interface SKUService
        Parameters:
        requestJson - search request
        Returns:
        data transport entities as list
      • searchSkusPaged

        public org.springframework.data.domain.Page<SKU> searchSkusPaged​(java.lang.String requestJson)
        Description copied from interface: SKUService
        This method does search requests and returns data as pages.
        Specified by:
        searchSkusPaged in interface SKUService
        Parameters:
        requestJson - JSON-object of request contains an instructions for search queries
        Returns:
        database entities separated to pages
      • findById

        public SKU findById​(java.lang.String skuId)
        Description copied from interface: SKUService
        This method does search requests and returns data as list.
        Specified by:
        findById in interface SKUService
        Parameters:
        skuId - sku unique id
        Returns:
        database entity as object
      • searchSKUs

        @Deprecated
        public java.util.List<SkuDTO> searchSKUs​(java.lang.String query,
                                                 java.lang.String offset,
                                                 java.lang.String limit)
        Deprecated.
        Description copied from interface: SKUService
        This method does search requests and returns data as list.
        Specified by:
        searchSKUs in interface SKUService
        Parameters:
        query - search query
        offset - offset for returned items
        limit - limit for returned items
        Returns:
        database entities as list
      • searchWithProductFilter

        public java.util.List<SkuDTO> searchWithProductFilter​(java.lang.String query,
                                                              java.lang.String productId,
                                                              java.lang.String offset,
                                                              java.lang.String limit)
        Description copied from interface: SKUService
        This method does search requests and returns data as list.
        Specified by:
        searchWithProductFilter in interface SKUService
        Parameters:
        query - search query
        productId - field "_id" for filter and return items
        offset - offset for returned items
        limit - limit for returned items
        Returns:
        database entities as list
      • findSKUs

        public java.util.List<SKU> findSKUs()
        Description copied from interface: SKUService
        This method returns database entities as list.
        Specified by:
        findSKUs in interface SKUService
        Returns:
        database entities as list
      • getCategoriesBySkuId

        public java.util.List<Category> getCategoriesBySkuId​(java.lang.String skuId)
        Description copied from interface: SKUService
        This method retrieves a map, which can be processed in a templates.
        Specified by:
        getCategoriesBySkuId in interface SKUService
        Parameters:
        skuId - identification for database entity which will be retrieved
        Returns:
        map-representation of data
      • createSKU

        @Transactional
        public java.util.Optional<SKU> createSKU​(java.util.LinkedHashMap<java.lang.String,​java.lang.Object> skuAsMap)
        Description copied from interface: SKUService
        This method creates a database entity.
        Specified by:
        createSKU in interface SKUService
        Parameters:
        skuAsMap - map-representation of database entity
        Returns:
        database entity
      • createSKU

        public java.util.Optional<SKU> createSKU​(SKU sku)
        Description copied from interface: SKUService
        This method creates a database entity.
        Specified by:
        createSKU in interface SKUService
        Parameters:
        sku - map-representation of database entity
        Returns:
        database entity
      • addSKUToProduct

        @Transactional
        public SKU addSKUToProduct​(java.lang.String productId,
                                   java.util.LinkedHashMap<java.lang.String,​java.lang.Object> skuAsMap)
        Description copied from interface: SKUService
        This method does a relationship between entities.
        Specified by:
        addSKUToProduct in interface SKUService
        Parameters:
        productId - identification for database entity which will be updated
        skuAsMap - map-representation of database entity
        Returns:
        database entity
      • saveSKU

        @Transactional
        public SKU saveSKU​(java.util.LinkedHashMap<java.lang.String,​java.lang.Object> skuAsMap)
        Description copied from interface: SKUService
        This method save an updates of database entity.
        Specified by:
        saveSKU in interface SKUService
        Parameters:
        skuAsMap - map-representation of database entity
        Returns:
        saved instance of database entity
      • saveSKU

        @Transactional
        public SKU saveSKU​(SKU sku)
        Description copied from interface: SKUService
        This method saves a database entity.
        Specified by:
        saveSKU in interface SKUService
        Parameters:
        sku - database entity
        Returns:
        saved instance of database entity
      • prepareRelations

        private void prepareRelations​(SKU skuUI,
                                      SKU skuDB)
      • removeRelations

        private void removeRelations​(SKU skuUI,
                                     SKU skuDB)
      • addRelations

        private void addRelations​(SKU skuUI)
      • removeSKUFromAttribute

        @Transactional
        public void removeSKUFromAttribute​(java.lang.String skuId,
                                           java.lang.String attributeId)
        Description copied from interface: SKUService
        This method removes relationship between database entities.
        Specified by:
        removeSKUFromAttribute in interface SKUService
        Parameters:
        skuId - identification for database entity which will be removed
        attributeId - identification for database entity which will be updated
      • removeSKUFromAttributes

        @Transactional
        public void removeSKUFromAttributes​(java.lang.String skuId)
        Description copied from interface: SKUService
        This method removes relationship between database entities.
        Specified by:
        removeSKUFromAttributes in interface SKUService
        Parameters:
        skuId - identification for database entity which will be removed
      • removeSKUFromSellerSKU

        @Transactional
        public void removeSKUFromSellerSKU​(java.lang.String skuId,
                                           java.lang.String sellerSkuId)
        Description copied from interface: SKUService
        This method removes relationship between database entities.
        Specified by:
        removeSKUFromSellerSKU in interface SKUService
        Parameters:
        skuId - identification for database entity which will be removed
        sellerSkuId - identification for database entity which will be updated
      • removeSKUFromSellerSKUs

        @Transactional
        public void removeSKUFromSellerSKUs​(java.lang.String skuId)
        Description copied from interface: SKUService
        This method removes relationship between database entities.
        Specified by:
        removeSKUFromSellerSKUs in interface SKUService
        Parameters:
        skuId - identification for database entity which will be removed
      • removeSKUFromProduct

        @Transactional
        public void removeSKUFromProduct​(java.lang.String skuId,
                                         java.lang.String productId)
        Description copied from interface: SKUService
        This method removes relationship between database entities.
        Specified by:
        removeSKUFromProduct in interface SKUService
        Parameters:
        skuId - identification for database entity which will be removed
        productId - identification for database entity which will be updated
      • removeSKUFromProducts

        @Transactional
        public void removeSKUFromProducts​(java.lang.String skuId)
        Description copied from interface: SKUService
        This method removes relationship between database entities.
        Specified by:
        removeSKUFromProducts in interface SKUService
        Parameters:
        skuId - identification for database entity which will be removed
      • removeSKUFromTranslation

        @Transactional
        public void removeSKUFromTranslation​(java.lang.String skuId,
                                             java.lang.String translationId)
        Description copied from interface: SKUService
        This method removes relationship between database entities.
        Specified by:
        removeSKUFromTranslation in interface SKUService
        Parameters:
        skuId - identification for database entity which will be removed
        translationId - identification for database entity which will be updated
      • removeSKUFromTranslations

        @Transactional
        public void removeSKUFromTranslations​(java.lang.String skuId)
        Description copied from interface: SKUService
        This method removes relationship between database entities.
        Specified by:
        removeSKUFromTranslations in interface SKUService
        Parameters:
        skuId - identification for database entity which will be removed
      • removeSKUAndClean

        @Transactional
        public void removeSKUAndClean​(java.lang.String skuId)
        Description copied from interface: SKUService
        This method removes a database entity and clean all relationships from another entities.
        Specified by:
        removeSKUAndClean in interface SKUService
        Parameters:
        skuId - identification for database entity which will be removed
      • removeSkusByIds

        @Transactional
        public void removeSkusByIds​(java.util.ArrayList<java.lang.String> skusIds)
        Description copied from interface: SKUService
        This method removes a list of database entities.
        Specified by:
        removeSkusByIds in interface SKUService
        Parameters:
        skusIds - the list of database entities which will be removed
      • isSKUExists

        public boolean isSKUExists​(java.lang.String name)
        Description copied from interface: SKUService
        This method checks is exists database entity.
        Specified by:
        isSKUExists in interface SKUService
        Parameters:
        name - field "name" for database entity which will be checked
        Returns:
        value as boolean
      • getSortedProductSkus

        @Transactional
        public java.util.List<java.util.Map<java.lang.String,​java.lang.String>> getSortedProductSkus​(java.lang.String productId)
        Description copied from interface: SKUService
        This method sorted and retrieves a map, which can be processed in a templates.
        Specified by:
        getSortedProductSkus in interface SKUService
        Parameters:
        productId - identification for database entity which will be retrieved
        Returns:
        map-representation of data
      • getSkusByProductAndFirstLetter

        public java.util.List<java.util.Map<java.lang.String,​java.lang.Object>> getSkusByProductAndFirstLetter​(java.lang.String productId,
                                                                                                                     java.lang.String firstLetter)
        Description copied from interface: SKUService
        This method retrieves a map, which can be processed in a templates.
        Specified by:
        getSkusByProductAndFirstLetter in interface SKUService
        Parameters:
        productId - identification for database entity which will be retrieved
        firstLetter - first letter of the name for the sku
        Returns:
        map-representation of data
      • mapSkuToDto

        public SkuDTO mapSkuToDto​(SKU sku,
                                  boolean optimal)
        Description copied from interface: SKUService
        This method does map product entity to dto object
        Specified by:
        mapSkuToDto in interface SKUService
        Parameters:
        sku - database entity which be used to map to dto
        optimal - this pointer optimises the data transfer object
        Returns:
        data transport object