Class DefaultProductInterestService
- java.lang.Object
-
- de.hybris.platform.customerinterestsservices.productinterest.impl.DefaultProductInterestService
-
- All Implemented Interfaces:
ProductInterestService
public class DefaultProductInterestService extends java.lang.Object implements ProductInterestService
-
-
Constructor Summary
Constructors Constructor Description DefaultProductInterestService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.Map<NotificationType,java.util.Date>buildInterestMap(java.util.Map<java.lang.String,java.lang.String> interestCreationMap)build interest data as a linked mapprotected voidfillProductModelMap(java.util.Map<ProductModel,java.util.Map<NotificationType,java.util.Date>> productModelMap, java.lang.String productPk, java.util.Map<java.lang.String,java.lang.String> interestCreationMap)java.util.Map<ProductModel,java.util.Map<NotificationType,java.util.Date>>findProductInterestsByCustomer()Finds all interests watched by current customer.protected BaseSiteServicegetBaseSiteService()protected BaseStoreServicegetBaseStoreService()protected ModelServicegetModelService()java.util.Optional<ProductInterestModel>getProductInterest(ProductModel productModel, CustomerModel customerModel, NotificationType notificationType, BaseStoreModel baseStore, BaseSiteModel baseSite)This method is used to find the ProductInterestModel by productModel, customerModel, notificationType, baseStore,baseSite.protected ProductInterestDaogetProductInterestDao()java.util.List<ProductInterestModel>getProductInterests(CustomerModel customerModel, BaseStoreModel baseStore, BaseSiteModel baseSite)This method is used to find the expired and effective ProductInterestModels by productModel, customerModel, notificationType, baseStore,baseSite.java.util.Map<ProductModel,java.util.Map<NotificationType,java.util.Date>>getProductsByCustomerInterests(PageableData pageableData)Finds interests watched by current customer.intgetProductsCountByCustomerInterests(PageableData pageableData)Finds the total size of search result.protected UserServicegetUserService()voidremoveAllProductInterests(java.lang.String productCode)This method will remove the interest for the current customer by product.voidremoveProductInterest(ProductInterestModel productInterest)This method will remove the interest.voidsaveProductInterest(ProductInterestModel productInterest)This method will save the new or edited interest.voidsetBaseSiteService(BaseSiteService baseSiteService)voidsetBaseStoreService(BaseStoreService baseStoreService)voidsetModelService(ModelService modelService)voidsetProductInterestDao(ProductInterestDao productInterestDao)voidsetUserService(UserService userService)
-
-
-
Method Detail
-
saveProductInterest
public void saveProductInterest(ProductInterestModel productInterest)
Description copied from interface:ProductInterestServiceThis method will save the new or edited interest.- Specified by:
saveProductInterestin interfaceProductInterestService- Parameters:
productInterest- the ProductInterestModel to be saved
-
removeProductInterest
public void removeProductInterest(ProductInterestModel productInterest)
Description copied from interface:ProductInterestServiceThis method will remove the interest.- Specified by:
removeProductInterestin interfaceProductInterestService- Parameters:
productInterest- the ProductInterestModel to be removed
-
getProductInterest
public java.util.Optional<ProductInterestModel> getProductInterest(ProductModel productModel, CustomerModel customerModel, NotificationType notificationType, BaseStoreModel baseStore, BaseSiteModel baseSite)
Description copied from interface:ProductInterestServiceThis method is used to find the ProductInterestModel by productModel, customerModel, notificationType, baseStore,baseSite.- Specified by:
getProductInterestin interfaceProductInterestService- Parameters:
productModel- the product of the ProductInterestcustomerModel- the customer of the ProductInterestnotificationType- the notificationType of the ProductInterestbaseStore- the baseStore of the ProductInterestbaseSite- the baseSite of the ProductInterest- Returns:
- ProductInterestModel if found and an empty Optional otherwise
-
getProductInterests
public java.util.List<ProductInterestModel> getProductInterests(CustomerModel customerModel, BaseStoreModel baseStore, BaseSiteModel baseSite)
Description copied from interface:ProductInterestServiceThis method is used to find the expired and effective ProductInterestModels by productModel, customerModel, notificationType, baseStore,baseSite.- Specified by:
getProductInterestsin interfaceProductInterestService- Parameters:
customerModel- the customer of the ProductInterestbaseStore- the baseStore of the ProductInterestbaseSite- the baseSite of the ProductInterest- Returns:
- ProductInterestModel if found and an empty Optional otherwise
-
removeAllProductInterests
public void removeAllProductInterests(java.lang.String productCode)
Description copied from interface:ProductInterestServiceThis method will remove the interest for the current customer by product.- Specified by:
removeAllProductInterestsin interfaceProductInterestService- Parameters:
productCode- the code of the product
-
getProductsByCustomerInterests
public java.util.Map<ProductModel,java.util.Map<NotificationType,java.util.Date>> getProductsByCustomerInterests(PageableData pageableData)
Description copied from interface:ProductInterestServiceFinds interests watched by current customer.- Specified by:
getProductsByCustomerInterestsin interfaceProductInterestService- Parameters:
pageableData- the pagination data- Returns:
- Map whose key is ProductMode and value is the Map of NotificationType as key and creation time as value.
-
findProductInterestsByCustomer
public java.util.Map<ProductModel,java.util.Map<NotificationType,java.util.Date>> findProductInterestsByCustomer()
Description copied from interface:ProductInterestServiceFinds all interests watched by current customer.- Specified by:
findProductInterestsByCustomerin interfaceProductInterestService- Returns:
- Map whose key is ProductMode and value is the Map of NotificationType as key and creation time as value.
-
getProductsCountByCustomerInterests
public int getProductsCountByCustomerInterests(PageableData pageableData)
Description copied from interface:ProductInterestServiceFinds the total size of search result.- Specified by:
getProductsCountByCustomerInterestsin interfaceProductInterestService- Parameters:
pageableData- the pagination data- Returns:
- the total size of search result
-
fillProductModelMap
protected void fillProductModelMap(java.util.Map<ProductModel,java.util.Map<NotificationType,java.util.Date>> productModelMap, java.lang.String productPk, java.util.Map<java.lang.String,java.lang.String> interestCreationMap)
-
buildInterestMap
protected java.util.Map<NotificationType,java.util.Date> buildInterestMap(java.util.Map<java.lang.String,java.lang.String> interestCreationMap)
build interest data as a linked map- Parameters:
interestCreationMap-- Returns:
-
getModelService
protected ModelService getModelService()
-
setModelService
public void setModelService(ModelService modelService)
-
getProductInterestDao
protected ProductInterestDao getProductInterestDao()
-
setProductInterestDao
public void setProductInterestDao(ProductInterestDao productInterestDao)
-
getUserService
protected UserService getUserService()
-
setUserService
public void setUserService(UserService userService)
-
getBaseStoreService
protected BaseStoreService getBaseStoreService()
-
setBaseStoreService
public void setBaseStoreService(BaseStoreService baseStoreService)
-
getBaseSiteService
protected BaseSiteService getBaseSiteService()
-
setBaseSiteService
public void setBaseSiteService(BaseSiteService baseSiteService)
-
-