Rev 35252 | Rev 36103 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.service.scheme;import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;import com.spice.profitmandi.common.model.SchemeModel;import com.spice.profitmandi.dao.entity.catalog.Scheme;import com.spice.profitmandi.dao.entity.fofo.InventoryItem;import com.spice.profitmandi.dao.entity.fofo.PartnerType;import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;import com.spice.profitmandi.dao.model.CreateSchemeRequest;import org.springframework.stereotype.Service;import java.time.LocalDate;import java.time.LocalDateTime;import java.util.List;import java.util.Map;import java.util.Set;@Servicepublic interface SchemeService {List<String> getBlockedImeis();public void saveScheme(int creatorId, CreateSchemeRequest createSchemeRequest) throws ProfitMandiBusinessException;public Scheme getSchemeById(int schemeId) throws ProfitMandiBusinessException;public List<SchemeModel> getAllSchemeModels(LocalDateTime startDateTime, LocalDateTime endDateTime) throws ProfitMandiBusinessException;public void activeSchemeById(int schemeId) throws ProfitMandiBusinessException;public void activeSchemeByIds(List<Scheme> schemeIds) throws ProfitMandiBusinessException;public void expireSchemeByIds(List<Scheme> schemeIds) throws ProfitMandiBusinessException;public void expireSchemeById(int schemeId, LocalDateTime expiryDate) throws ProfitMandiBusinessException;void sendCombinedSchemesNotification(List<Scheme> schemes) throws ProfitMandiBusinessException;public void processSchemeIn(int purchaseId, int retailerId) throws ProfitMandiBusinessException;public float processSchemeOut(int fofoOrderId, int retailerId) throws ProfitMandiBusinessException;float getSpecialSupportAmount(float supportAmount, PartnerType partnerType, LocalDate onDate, int catalogId) throws ProfitMandiBusinessException;float getSpecialSupportAmount(float supportAmount, PartnerType partnerType, LocalDate onDate, int catalogId, float taxRate) throws ProfitMandiBusinessException;// public void rollbackSchemeForInventoryItemId(int inventoryItemId);public void rollbackSchemes(List<Integer> inventoryItemIds, String rollbackReason)throws Exception;public Map<String, Object> getSchemes(Set<Integer> roleIds, int offset, int limit)throws ProfitMandiBusinessException;public List<Scheme> getPaginatedSchemes(Set<Integer> roleIds, int offset, int limit)throws ProfitMandiBusinessException;void reverseSchemes(List<InventoryItem> inventoryItems, int reversalReference, String reversalReason)throws ProfitMandiBusinessException;void reverseSchemes(List<InventoryItem> inventoryItems, int reversalReference, String reversalReason,List<SchemeType> schemeTypes) throws ProfitMandiBusinessException;public double getTotalMargin(int itemId, PartnerType partnerType, LocalDateTime localDateTime);//void processPartialCD(String invoiceNumber) throws ProfitMandiBusinessException;//void processNoCD(String invoiceNumber) throws ProfitMandiBusinessException;Scheme getStaticScheme(int fofoId) throws ProfitMandiBusinessException;public List<Scheme> selectSchemeByPartnerType(PartnerType partnerType, LocalDate onDate, int itemId, boolean isAdmin, int offset,int limit) throws ProfitMandiBusinessException;List<Scheme> selectPercentageScheme(PartnerType partnerType, LocalDate onDate, int catalogId,boolean isAdmin, int offset, int limit) throws ProfitMandiBusinessException;void processActivation() throws ProfitMandiBusinessException;//public static List<SchemeType> OUT_SCHEME_TYPES = Arrays.asList(SchemeType.CATEGORY, SchemeType.HYGEINE, SchemeType.OUT, SchemeType.TERTIARY);void processActivatedImeisForSchemes() throws ProfitMandiBusinessException;void rejectActivatedSchemeIds(List<Integer> schemeIds) throws ProfitMandiBusinessException;Map<Integer, Float> getCatalogSchemeCashBack(int fofoId, List<Integer> catalogIds) throws ProfitMandiBusinessException;List<Scheme> selectSchemeByPartnerTypeFofoId(PartnerType partnerType, LocalDate onDate, int catalogId,int fofoId, int offset, int limit) throws ProfitMandiBusinessException;void processSchemeIn(List<InventoryItem> approvedList) throws ProfitMandiBusinessException;//void processFullCD(String invoiceNumber) throws ProfitMandiBusinessException;}