Subversion Repositories SmartDukaan

Rev

Rev 36049 | Rev 36305 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
27877 amit.gupta 1
package com.spice.profitmandi.service.offers;
2
 
30274 amit.gupta 3
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
4
import com.spice.profitmandi.dao.entity.catalog.Offer;
31205 amit.gupta 5
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
31903 amit.gupta 6
import com.spice.profitmandi.dao.model.AmountModel;
30274 amit.gupta 7
import com.spice.profitmandi.dao.model.CreateOfferRequest;
35394 amit 8
import com.spice.profitmandi.dao.model.QtyAmountModel;
33999 tejus.loha 9
import org.apache.commons.io.output.ByteArrayOutputStream;
30274 amit.gupta 10
import org.springframework.stereotype.Service;
11
 
29684 amit.gupta 12
import java.io.InputStream;
27877 amit.gupta 13
import java.time.LocalDate;
14
import java.time.YearMonth;
15
import java.util.List;
29785 amit.gupta 16
import java.util.Map;
27877 amit.gupta 17
 
18
@Service
19
public interface OfferService {
36049 amit 20
	void evictOfferCaches(int offerId);
21
 
27877 amit.gupta 22
	void addOfferService(CreateOfferRequest createOfferRequest) throws ProfitMandiBusinessException;
23
 
33247 ranu 24
    List<CreateOfferRequest> getPublishedOffers(int fofoId, YearMonth yearMonth) throws ProfitMandiBusinessException;
27877 amit.gupta 25
 
36049 amit 26
    List<CreateOfferRequest> getPublishedOffersCached(int fofoId, YearMonth yearMonth) throws ProfitMandiBusinessException;
27
 
33247 ranu 28
    Map<Integer, CreateOfferRequest> getAllOffers(YearMonth yearMonth) throws ProfitMandiBusinessException;
27877 amit.gupta 29
 
36049 amit 30
    CreateOfferRequest getOfferDefinition(int offerId) throws ProfitMandiBusinessException;
31
 
33247 ranu 32
    CreateOfferRequest getOffer(int fofoId, int offerId) throws ProfitMandiBusinessException;
27877 amit.gupta 33
 
33247 ranu 34
    List<CreateOfferRequest> getPublishedOffers(LocalDate date, int fofoId, int catalogId) throws ProfitMandiBusinessException;
29684 amit.gupta 35
 
31903 amit.gupta 36
    Map<Integer, CreateOfferRequest> getPublishedOffers(LocalDate date, int fofoId, String brand);
29785 amit.gupta 37
 
31903 amit.gupta 38
    void createOffers(InputStream inputStream) throws Exception;
29785 amit.gupta 39
 
33247 ranu 40
    Map<Integer, Map<Integer, Long>> getSlabPayoutMap(CreateOfferRequest createOfferRequest) throws ProfitMandiBusinessException;
29902 amit.gupta 41
 
31205 amit.gupta 42
 
31903 amit.gupta 43
    Map<Integer, Map<Integer, AmountModel>> getSlabPayoutMapNew(CreateOfferRequest createOfferRequest);
44
 
33247 ranu 45
    CreateOfferRequest getCreateOfferRequest(Offer fromOffer) throws ProfitMandiBusinessException;
31903 amit.gupta 46
 
33613 amit.gupta 47
    void reverseAdditionalSelloutSchemes(List<InventoryItem> inventoryItems, String reversalReason) throws ProfitMandiBusinessException;
31920 amit.gupta 48
 
36103 amit 49
    void restoreAdditionalSelloutSchemes(List<InventoryItem> inventoryItems, String restoreReason) throws ProfitMandiBusinessException;
50
 
31920 amit.gupta 51
    void processSellin(CreateOfferRequest createOfferRequest) throws Exception;
35394 amit 52
 
53
    Map<Integer, QtyAmountModel> getCriteriaQtyAmounModelMap(CreateOfferRequest createOfferRequest, int fofoId) throws ProfitMandiBusinessException;
54
 
31920 amit.gupta 55
    void processActivationtOffer(CreateOfferRequest createOfferRequest) throws ProfitMandiBusinessException;
33030 amit.gupta 56
 
33247 ranu 57
    String getPartnerCriteriaString(PartnerCriteria partnerCriteria) throws ProfitMandiBusinessException;
33999 tejus.loha 58
 
59
    ByteArrayOutputStream createCSVOfferReport(CreateOfferRequest createOfferRequest) throws Exception;
35205 amit 60
 
61
    void sendWhatsapp(Offer offer, List<Integer> fofoIds, String imageUrl) throws Exception;
35856 amit 62
 
63
    void deleteOffer(int offerId) throws ProfitMandiBusinessException;
64
 
65
    List<Offer> publishAllUnpublished(YearMonth yearMonth) throws ProfitMandiBusinessException;
35885 amit 66
 
67
    void removePartnersFromOffer(int offerId, List<Integer> fofoIds) throws ProfitMandiBusinessException;
68
 
69
    void addPartnersToOffer(int offerId, List<Integer> fofoIds) throws ProfitMandiBusinessException;
70
 
71
    int cloneOfferForPartners(int sourceOfferId, List<Integer> fofoIds, List<Integer> targets) throws ProfitMandiBusinessException;
72
 
73
    void updateOfferTargets(int offerId, List<Integer> newTargets) throws ProfitMandiBusinessException;
35924 amit 74
 
75
    void updateOfferSlabs(com.spice.profitmandi.dao.model.UpdateOfferSlabsRequest request) throws ProfitMandiBusinessException;
27877 amit.gupta 76
}