| 22608 |
ashik.ali |
1 |
package com.spice.profitmandi.service.scheme;
|
|
|
2 |
|
| 22653 |
ashik.ali |
3 |
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
|
| 23019 |
ashik.ali |
4 |
import com.spice.profitmandi.common.model.SchemeModel;
|
| 22653 |
ashik.ali |
5 |
import com.spice.profitmandi.dao.entity.catalog.Scheme;
|
| 23968 |
amit.gupta |
6 |
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
|
| 26332 |
amit.gupta |
7 |
import com.spice.profitmandi.dao.entity.fofo.PartnerType;
|
| 24264 |
amit.gupta |
8 |
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
|
| 25503 |
amit.gupta |
9 |
import com.spice.profitmandi.dao.model.CreateSchemeRequest;
|
| 30121 |
amit.gupta |
10 |
import org.springframework.stereotype.Service;
|
| 22653 |
ashik.ali |
11 |
|
| 30121 |
amit.gupta |
12 |
import java.time.LocalDate;
|
|
|
13 |
import java.time.LocalDateTime;
|
|
|
14 |
import java.util.Arrays;
|
|
|
15 |
import java.util.List;
|
|
|
16 |
import java.util.Map;
|
|
|
17 |
import java.util.Set;
|
|
|
18 |
|
| 22608 |
ashik.ali |
19 |
@Service
|
|
|
20 |
public interface SchemeService {
|
| 22859 |
ashik.ali |
21 |
public void saveScheme(int creatorId, CreateSchemeRequest createSchemeRequest) throws ProfitMandiBusinessException;
|
| 26802 |
tejbeer |
22 |
|
| 22859 |
ashik.ali |
23 |
public Scheme getSchemeById(int schemeId) throws ProfitMandiBusinessException;
|
| 26802 |
tejbeer |
24 |
|
| 33248 |
ranu |
25 |
public List<SchemeModel> getAllSchemeModels(LocalDateTime startDateTime, LocalDateTime endDateTime) throws ProfitMandiBusinessException;
|
| 26802 |
tejbeer |
26 |
|
| 22653 |
ashik.ali |
27 |
public void activeSchemeById(int schemeId) throws ProfitMandiBusinessException;
|
| 26802 |
tejbeer |
28 |
|
| 25071 |
amit.gupta |
29 |
public void expireSchemeById(int schemeId, LocalDateTime expiryDate) throws ProfitMandiBusinessException;
|
| 26802 |
tejbeer |
30 |
|
| 23365 |
ashik.ali |
31 |
public void processSchemeIn(int purchaseId, int retailerId) throws ProfitMandiBusinessException;
|
| 26802 |
tejbeer |
32 |
|
| 30454 |
amit.gupta |
33 |
public float processSchemeOut(int fofoOrderId, int retailerId) throws ProfitMandiBusinessException;
|
| 26802 |
tejbeer |
34 |
|
| 30463 |
amit.gupta |
35 |
float getSpecialSupportAmount(float supportAmount, PartnerType partnerType, LocalDate onDate, int catalogId) throws ProfitMandiBusinessException;
|
|
|
36 |
|
| 30572 |
amit.gupta |
37 |
float getSpecialSupportAmount(float supportAmount, PartnerType partnerType, LocalDate onDate, int catalogId, float taxRate) throws ProfitMandiBusinessException;
|
|
|
38 |
|
| 26802 |
tejbeer |
39 |
// public void rollbackSchemeForInventoryItemId(int inventoryItemId);
|
|
|
40 |
public void rollbackSchemes(List<Integer> inventoryItemIds, int rollbackReference, String rollbackReason)
|
|
|
41 |
throws Exception;
|
|
|
42 |
|
|
|
43 |
public Map<String, Object> getSchemes(Set<Integer> roleIds, int offset, int limit)
|
|
|
44 |
throws ProfitMandiBusinessException;
|
|
|
45 |
|
|
|
46 |
public List<Scheme> getPaginatedSchemes(Set<Integer> roleIds, int offset, int limit)
|
|
|
47 |
throws ProfitMandiBusinessException;
|
|
|
48 |
|
|
|
49 |
void reverseSchemes(List<InventoryItem> inventoryItems, int reversalReference, String reversalReason)
|
|
|
50 |
throws ProfitMandiBusinessException;
|
|
|
51 |
|
| 24264 |
amit.gupta |
52 |
void reverseSchemes(List<InventoryItem> inventoryItems, int reversalReference, String reversalReason,
|
| 30454 |
amit.gupta |
53 |
List<SchemeType> schemeTypes) throws ProfitMandiBusinessException;
|
| 26802 |
tejbeer |
54 |
|
| 26332 |
amit.gupta |
55 |
public double getTotalMargin(int itemId, PartnerType partnerType, LocalDateTime localDateTime);
|
| 26802 |
tejbeer |
56 |
|
|
|
57 |
|
| 32309 |
amit.gupta |
58 |
Scheme getStaticScheme(int fofoId) throws ProfitMandiBusinessException;
|
|
|
59 |
|
| 27877 |
amit.gupta |
60 |
public List<Scheme> selectSchemeByPartnerType(PartnerType partnerType, LocalDate onDate, int itemId, boolean isAdmin, int offset,
|
| 30454 |
amit.gupta |
61 |
int limit) throws ProfitMandiBusinessException;
|
| 26802 |
tejbeer |
62 |
|
| 30454 |
amit.gupta |
63 |
List<Scheme> selectPercentageScheme(PartnerType partnerType, LocalDate onDate, int catalogId,
|
|
|
64 |
boolean isAdmin, int offset, int limit) throws ProfitMandiBusinessException;
|
|
|
65 |
|
| 27395 |
amit.gupta |
66 |
void processActivation() throws ProfitMandiBusinessException;
|
| 30454 |
amit.gupta |
67 |
|
| 31410 |
amit.gupta |
68 |
public static List<SchemeType> OUT_SCHEME_TYPES = Arrays.asList(SchemeType.CATEGORY, SchemeType.HYGEINE, SchemeType.OUT, SchemeType.TERTIARY);
|
| 30897 |
amit.gupta |
69 |
|
|
|
70 |
void processActivatedImeisForSchemes() throws ProfitMandiBusinessException;
|
| 31170 |
amit.gupta |
71 |
|
| 33248 |
ranu |
72 |
Map<Integer, Float> getCatalogSchemeCashBack(int fofoId, List<Integer> catalogIds) throws ProfitMandiBusinessException;
|
| 32972 |
amit.gupta |
73 |
|
| 31170 |
amit.gupta |
74 |
List<Scheme> selectSchemeByPartnerTypeFofoId(PartnerType partnerType, LocalDate onDate, int catalogId,
|
|
|
75 |
int fofoId, int offset, int limit) throws ProfitMandiBusinessException;
|
| 32309 |
amit.gupta |
76 |
|
| 33432 |
amit.gupta |
77 |
void processSchemeIn(List<InventoryItem> approvedList) throws ProfitMandiBusinessException;
|
| 22608 |
ashik.ali |
78 |
}
|