| Line 59... |
Line 59... |
| 59 |
import com.spice.profitmandi.dao.entity.catalog.EvaluateSchemeInvestmentPayoutModel;
|
59 |
import com.spice.profitmandi.dao.entity.catalog.EvaluateSchemeInvestmentPayoutModel;
|
| 60 |
import com.spice.profitmandi.dao.entity.catalog.Item;
|
60 |
import com.spice.profitmandi.dao.entity.catalog.Item;
|
| 61 |
import com.spice.profitmandi.dao.entity.catalog.SamsungUpgradeOffer;
|
61 |
import com.spice.profitmandi.dao.entity.catalog.SamsungUpgradeOffer;
|
| 62 |
import com.spice.profitmandi.dao.entity.catalog.Scheme;
|
62 |
import com.spice.profitmandi.dao.entity.catalog.Scheme;
|
| 63 |
import com.spice.profitmandi.dao.entity.catalog.TagListing;
|
63 |
import com.spice.profitmandi.dao.entity.catalog.TagListing;
|
| 64 |
import com.spice.profitmandi.dao.entity.fofo.FofoLineItem;
|
- |
|
| 65 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
|
- |
|
| 66 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
|
- |
|
| 67 |
import com.spice.profitmandi.dao.entity.fofo.FofoStore;
|
64 |
import com.spice.profitmandi.dao.entity.fofo.FofoStore;
|
| 68 |
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
|
65 |
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
|
| 69 |
import com.spice.profitmandi.dao.entity.fofo.PartnerDailyInvestment;
|
66 |
import com.spice.profitmandi.dao.entity.fofo.PartnerDailyInvestment;
|
| 70 |
import com.spice.profitmandi.dao.entity.fofo.PartnerType;
|
67 |
import com.spice.profitmandi.dao.entity.fofo.PartnerType;
|
| 71 |
import com.spice.profitmandi.dao.entity.fofo.SchemeInOut;
|
68 |
import com.spice.profitmandi.dao.entity.fofo.SchemeInOut;
|
| Line 73... |
Line 70... |
| 73 |
import com.spice.profitmandi.dao.entity.transaction.PriceDrop;
|
70 |
import com.spice.profitmandi.dao.entity.transaction.PriceDrop;
|
| 74 |
import com.spice.profitmandi.dao.entity.transaction.PriceDropIMEI;
|
71 |
import com.spice.profitmandi.dao.entity.transaction.PriceDropIMEI;
|
| 75 |
import com.spice.profitmandi.dao.enumuration.catalog.AmountType;
|
72 |
import com.spice.profitmandi.dao.enumuration.catalog.AmountType;
|
| 76 |
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
|
73 |
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
|
| 77 |
import com.spice.profitmandi.dao.enumuration.catalog.UpgradeOfferStatus;
|
74 |
import com.spice.profitmandi.dao.enumuration.catalog.UpgradeOfferStatus;
|
| - |
|
75 |
import com.spice.profitmandi.dao.enumuration.cs.EscalationType;
|
| 78 |
import com.spice.profitmandi.dao.enumuration.transaction.SchemePayoutStatus;
|
76 |
import com.spice.profitmandi.dao.enumuration.transaction.SchemePayoutStatus;
|
| 79 |
import com.spice.profitmandi.dao.model.CreateOfferRequest;
|
77 |
import com.spice.profitmandi.dao.model.CreateOfferRequest;
|
| 80 |
import com.spice.profitmandi.dao.model.CreateSchemeRequest;
|
78 |
import com.spice.profitmandi.dao.model.CreateSchemeRequest;
|
| 81 |
import com.spice.profitmandi.dao.repository.catalog.CustomerOfferItemRepository;
|
79 |
import com.spice.profitmandi.dao.repository.catalog.CustomerOfferItemRepository;
|
| 82 |
import com.spice.profitmandi.dao.repository.catalog.CustomerOfferRepository;
|
80 |
import com.spice.profitmandi.dao.repository.catalog.CustomerOfferRepository;
|
| 83 |
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
|
81 |
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
|
| 84 |
import com.spice.profitmandi.dao.repository.catalog.SamsungUpgradeOfferRepository;
|
82 |
import com.spice.profitmandi.dao.repository.catalog.SamsungUpgradeOfferRepository;
|
| 85 |
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
|
83 |
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
|
| 86 |
import com.spice.profitmandi.dao.repository.catalog.StateGstRateRepository;
|
84 |
import com.spice.profitmandi.dao.repository.catalog.StateGstRateRepository;
|
| 87 |
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
|
85 |
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
|
| - |
|
86 |
import com.spice.profitmandi.dao.repository.cs.CsService;
|
| 88 |
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
|
87 |
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
|
| 89 |
import com.spice.profitmandi.dao.repository.dtr.Mongo;
|
88 |
import com.spice.profitmandi.dao.repository.dtr.Mongo;
|
| 90 |
import com.spice.profitmandi.dao.repository.fofo.FofoLineItemRepository;
|
- |
|
| 91 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
|
- |
|
| 92 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
|
- |
|
| 93 |
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
|
89 |
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
|
| 94 |
import com.spice.profitmandi.dao.repository.fofo.PartnerDailyInvestmentRepository;
|
90 |
import com.spice.profitmandi.dao.repository.fofo.PartnerDailyInvestmentRepository;
|
| 95 |
import com.spice.profitmandi.dao.repository.fofo.PartnerTypeChangeService;
|
91 |
import com.spice.profitmandi.dao.repository.fofo.PartnerTypeChangeService;
|
| 96 |
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
|
92 |
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
|
| 97 |
import com.spice.profitmandi.dao.repository.fofo.SchemeItemRepository;
|
93 |
import com.spice.profitmandi.dao.repository.fofo.SchemeItemRepository;
|
| Line 192... |
Line 188... |
| 192 |
private CustomerOfferItemRepository customerOfferItemRepository;
|
188 |
private CustomerOfferItemRepository customerOfferItemRepository;
|
| 193 |
|
189 |
|
| 194 |
@Autowired
|
190 |
@Autowired
|
| 195 |
private SamsungUpgradeOfferRepository samsungUpgradeOfferRepository;
|
191 |
private SamsungUpgradeOfferRepository samsungUpgradeOfferRepository;
|
| 196 |
|
192 |
|
| - |
|
193 |
@Autowired
|
| - |
|
194 |
private CsService csService;
|
| - |
|
195 |
|
| - |
|
196 |
List<String> adminEmail = Arrays.asList("tarun.verma@smartdukaan.com", "neeraj.gupta@smartdukaan.com",
|
| - |
|
197 |
"amit.gupta@shop2020.in", "manish.tiwari@smartdukaan.com", "tejbeer.kaur@shop2020.in");
|
| - |
|
198 |
|
| 197 |
@RequestMapping(value = "/createScheme", method = RequestMethod.GET)
|
199 |
@RequestMapping(value = "/createScheme", method = RequestMethod.GET)
|
| 198 |
public String createScheme(HttpServletRequest request, Model model) {
|
200 |
public String createScheme(HttpServletRequest request, Model model) throws ProfitMandiBusinessException {
|
| - |
|
201 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
|
| 199 |
|
202 |
|
| 200 |
LocalDate currentdate = LocalDate.now();
|
203 |
LocalDate currentdate = LocalDate.now();
|
| 201 |
Month month = currentdate.getMonth().minus(1);
|
204 |
Month month = currentdate.getMonth().minus(1);
|
| 202 |
model.addAttribute("month", month);
|
205 |
model.addAttribute("month", month);
|
| 203 |
|
206 |
|
| 204 |
// Map<Integer, String> itemIdItemDescriptionMap =
|
207 |
// Map<Integer, String> itemIdItemDescriptionMap =
|
| 205 |
// inventoryService.getAllItemIdItemDescriptionMap();
|
208 |
// inventoryService.getAllItemIdItemDescriptionMap();
|
| 206 |
// model.addAttribute("itemIdItemDescriptionMap", itemIdItemDescriptionMap);
|
209 |
// model.addAttribute("itemIdItemDescriptionMap", itemIdItemDescriptionMap);
|
| - |
|
210 |
|
| 207 |
Set<String> brands = inventoryService.getAllTagListingBrands(ProfitMandiConstants.MOBILE_CATEGORY_ID);
|
211 |
Set<String> brands = inventoryService.getAllTagListingBrands(ProfitMandiConstants.MOBILE_CATEGORY_ID);
|
| - |
|
212 |
|
| 208 |
brands.addAll(inventoryService.getAllTagListingBrands(14206));
|
213 |
brands.addAll(inventoryService.getAllTagListingBrands(14206));
|
| - |
|
214 |
|
| - |
|
215 |
boolean fullAccesss = this.getAccess(loginDetails.getEmailId());
|
| - |
|
216 |
|
| - |
|
217 |
model.addAttribute("fullAccesss", fullAccesss);
|
| - |
|
218 |
|
| 209 |
model.addAttribute("brands", brands);
|
219 |
model.addAttribute("brands", brands);
|
| 210 |
model.addAttribute("retailerTypes", PartnerType.values());
|
220 |
model.addAttribute("retailerTypes", PartnerType.values());
|
| 211 |
return "create-scheme";
|
221 |
return "create-scheme";
|
| 212 |
}
|
222 |
}
|
| 213 |
|
223 |
|
| - |
|
224 |
private boolean getAccess(String emailId) {
|
| - |
|
225 |
|
| - |
|
226 |
boolean fullAccesss = false;
|
| - |
|
227 |
List<String> emails = csService
|
| - |
|
228 |
.getAuthUserBycateggoryId(ProfitMandiConstants.TICKET_CATEGORY_CATEGORY, EscalationType.L3).stream()
|
| - |
|
229 |
.map(x -> x.getEmailId()).collect(Collectors.toList());
|
| - |
|
230 |
|
| - |
|
231 |
emails.addAll(
|
| - |
|
232 |
csService.getAuthUserBycateggoryId(ProfitMandiConstants.TICKET_CATEGORY_CATEGORY, EscalationType.L2)
|
| - |
|
233 |
.stream().map(x -> x.getEmailId()).collect(Collectors.toList()));
|
| - |
|
234 |
|
| - |
|
235 |
if (adminEmail.contains(emailId)) {
|
| - |
|
236 |
fullAccesss = true;
|
| - |
|
237 |
}
|
| - |
|
238 |
|
| - |
|
239 |
if (emails.contains(emailId)) {
|
| - |
|
240 |
fullAccesss = false;
|
| - |
|
241 |
}
|
| - |
|
242 |
|
| - |
|
243 |
return fullAccesss;
|
| - |
|
244 |
|
| - |
|
245 |
}
|
| - |
|
246 |
|
| 214 |
@RequestMapping(value = "/getTagListingItemsByBrand", method = RequestMethod.POST)
|
247 |
@RequestMapping(value = "/getTagListingItemsByBrand", method = RequestMethod.POST)
|
| 215 |
public String getTagListingItemsByBrand(HttpServletRequest request, @RequestBody List<String> brands, Model model) {
|
248 |
public String getTagListingItemsByBrand(HttpServletRequest request, @RequestBody List<String> brands, Model model) {
|
| 216 |
Map<Integer, String> itemIdItemDescriptionMap = new HashMap<>();
|
249 |
Map<Integer, String> itemIdItemDescriptionMap = new HashMap<>();
|
| 217 |
LOGGER.info("brands" + brands);
|
250 |
LOGGER.info("brands" + brands);
|
| 218 |
|
251 |
|
| Line 541... |
Line 574... |
| 541 |
LOGGER.info("CreateSchemeRequest {}", createSchemeRequest);
|
574 |
LOGGER.info("CreateSchemeRequest {}", createSchemeRequest);
|
| 542 |
schemeService.saveScheme(loginDetails.getFofoId(), createSchemeRequest);
|
575 |
schemeService.saveScheme(loginDetails.getFofoId(), createSchemeRequest);
|
| 543 |
LOGGER.info("Scheme saved successfully");
|
576 |
LOGGER.info("Scheme saved successfully");
|
| 544 |
long size = schemeRepository.selectAllCount();
|
577 |
long size = schemeRepository.selectAllCount();
|
| 545 |
List<Scheme> schemes = schemeRepository.selectAll(offset, limit);
|
578 |
List<Scheme> schemes = schemeRepository.selectAll(offset, limit);
|
| - |
|
579 |
|
| - |
|
580 |
if (!schemes.isEmpty()) {
|
| - |
|
581 |
for (Scheme scheme : schemes) {
|
| - |
|
582 |
if (scheme.getAmountType().equals(AmountType.PERCENTAGE)) {
|
| - |
|
583 |
scheme.setAmountModel(scheme.getAmount() + "%");
|
| - |
|
584 |
} else {
|
| - |
|
585 |
scheme.setAmountModel(scheme.getAmount() + "");
|
| - |
|
586 |
}
|
| - |
|
587 |
}
|
| - |
|
588 |
}
|
| 546 |
model.addAttribute("schemes", schemes);
|
589 |
model.addAttribute("schemes", schemes);
|
| 547 |
model.addAttribute("start", offset + 1);
|
590 |
model.addAttribute("start", offset + 1);
|
| 548 |
model.addAttribute("size", size);
|
591 |
model.addAttribute("size", size);
|
| 549 |
model.addAttribute("searchItem", searchItem);
|
592 |
model.addAttribute("searchItem", searchItem);
|
| 550 |
model.addAttribute("searchTerm", searchTerm);
|
593 |
model.addAttribute("searchTerm", searchTerm);
|
| Line 697... |
Line 740... |
| 697 |
model.addAttribute("schemes", schemes != null ? schemes.stream().filter(x -> {
|
740 |
model.addAttribute("schemes", schemes != null ? schemes.stream().filter(x -> {
|
| 698 |
return (x.getId() != 411 && x.getId() != 612) || date1.isBefore(LocalDate.of(2021, 12, 1));
|
741 |
return (x.getId() != 411 && x.getId() != 612) || date1.isBefore(LocalDate.of(2021, 12, 1));
|
| 699 |
}).collect(Collectors.toList()) : null);
|
742 |
}).collect(Collectors.toList()) : null);
|
| 700 |
LOGGER.info("schemes" + schemes);
|
743 |
LOGGER.info("schemes" + schemes);
|
| 701 |
// model.addAttribute("roleTypes", loginDetails.getRoleTypes());
|
744 |
// model.addAttribute("roleTypes", loginDetails.getRoleTypes());
|
| 702 |
if (isAdmin)
|
745 |
if (isAdmin) {
|
| - |
|
746 |
|
| - |
|
747 |
boolean fullAccess = this.getAccess(loginDetails.getEmailId());
|
| - |
|
748 |
|
| - |
|
749 |
model.addAttribute("fullAccess", fullAccess);
|
| - |
|
750 |
|
| 703 |
return "schemes";
|
751 |
return "schemes";
|
| 704 |
else {
|
752 |
} else {
|
| 705 |
List<CreateOfferRequest> offers = new ArrayList<>();
|
753 |
List<CreateOfferRequest> offers = new ArrayList<>();
|
| 706 |
Map<Integer, Map<Integer, Long>> offerSlabPayoutMap = new HashMap<>();
|
754 |
Map<Integer, Map<Integer, Long>> offerSlabPayoutMap = new HashMap<>();
|
| 707 |
List<PriceDropIMEI> priceDropImeis = new ArrayList<>();
|
755 |
List<PriceDropIMEI> priceDropImeis = new ArrayList<>();
|
| 708 |
if (searchItem > 0) {
|
756 |
if (searchItem > 0) {
|
| 709 |
offers = offerService.getPublishedOffers(date, loginDetails.getFofoId(), searchItem);
|
757 |
offers = offerService.getPublishedOffers(date, loginDetails.getFofoId(), searchItem);
|
| 710 |
for(CreateOfferRequest createOfferRequest : offers) {
|
758 |
for (CreateOfferRequest createOfferRequest : offers) {
|
| 711 |
Map<Integer, Map<Integer, Long>> itemSlabPayoutMap = offerService.getSlabPayoutMap(createOfferRequest);
|
759 |
Map<Integer, Map<Integer, Long>> itemSlabPayoutMap = offerService
|
| - |
|
760 |
.getSlabPayoutMap(createOfferRequest);
|
| 712 |
Map<Integer,Long> slabPayoutMap = itemSlabPayoutMap.get(searchItem);
|
761 |
Map<Integer, Long> slabPayoutMap = itemSlabPayoutMap.get(searchItem);
|
| 713 |
offerSlabPayoutMap.put(createOfferRequest.getId(), slabPayoutMap);
|
762 |
offerSlabPayoutMap.put(createOfferRequest.getId(), slabPayoutMap);
|
| 714 |
}
|
763 |
}
|
| 715 |
}
|
764 |
}
|
| 716 |
if (!(searchImei.equals(""))) {
|
765 |
if (!(searchImei.equals(""))) {
|
| 717 |
InventoryItem inventoryItem = inventoryItemRepository.selectBySerialNumberFofoId(searchImei,
|
766 |
InventoryItem inventoryItem = inventoryItemRepository.selectBySerialNumberFofoId(searchImei,
|
| Line 732... |
Line 781... |
| 732 |
model.addAttribute("partnerCode", fs.getCode());
|
781 |
model.addAttribute("partnerCode", fs.getCode());
|
| 733 |
model.addAttribute("fofoId", fs.getId());
|
782 |
model.addAttribute("fofoId", fs.getId());
|
| 734 |
model.addAttribute("priceDropImeis", priceDropImeis);
|
783 |
model.addAttribute("priceDropImeis", priceDropImeis);
|
| 735 |
return "schemes-partner";
|
784 |
return "schemes-partner";
|
| 736 |
}
|
785 |
}
|
| - |
|
786 |
|
| 737 |
}
|
787 |
}
|
| 738 |
|
788 |
|
| 739 |
private int getNlc(Item item, int fofoId, List<Scheme> schemes, TagListing tagListing, int itemId)
|
789 |
private int getNlc(Item item, int fofoId, List<Scheme> schemes, TagListing tagListing, int itemId)
|
| 740 |
throws ProfitMandiBusinessException {
|
790 |
throws ProfitMandiBusinessException {
|
| 741 |
|
791 |
|
| Line 839... |
Line 889... |
| 839 |
@RequestMapping(value = "/getSchemeById", method = RequestMethod.GET)
|
889 |
@RequestMapping(value = "/getSchemeById", method = RequestMethod.GET)
|
| 840 |
public String getSchemeById(HttpServletRequest request,
|
890 |
public String getSchemeById(HttpServletRequest request,
|
| 841 |
@RequestParam(name = ProfitMandiConstants.SCHEME_ID) int schemeId, Model model)
|
891 |
@RequestParam(name = ProfitMandiConstants.SCHEME_ID) int schemeId, Model model)
|
| 842 |
throws ProfitMandiBusinessException {
|
892 |
throws ProfitMandiBusinessException {
|
| 843 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
|
893 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
|
| - |
|
894 |
|
| - |
|
895 |
boolean fullAccess = this.getAccess(loginDetails.getEmailId());
|
| 844 |
Scheme scheme = schemeService.getSchemeById(schemeId);
|
896 |
Scheme scheme = schemeService.getSchemeById(schemeId);
|
| - |
|
897 |
model.addAttribute("fullAccess", fullAccess);
|
| 845 |
model.addAttribute("scheme", scheme);
|
898 |
model.addAttribute("scheme", scheme);
|
| 846 |
model.addAttribute("isAdmin", roleManager.isAdmin(loginDetails.getRoleIds()));
|
899 |
model.addAttribute("isAdmin", roleManager.isAdmin(loginDetails.getRoleIds()));
|
| 847 |
return "scheme-details";
|
900 |
return "scheme-details";
|
| 848 |
|
901 |
|
| 849 |
}
|
902 |
}
|