Subversion Repositories SmartDukaan

Rev

Rev 29883 | Rev 29926 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 29883 Rev 29899
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
	}