Subversion Repositories SmartDukaan

Rev

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

Rev 26894 Rev 26897
Line 294... Line 294...
294
		}
294
		}
295
		String parentFilterString = "\"" + String.join(" AND ", parentFilter) + "\"";
295
		String parentFilterString = "\"" + String.join(" AND ", parentFilter) + "\"";
296
		String childFilterString = String.join(" AND ", childFilter);
296
		String childFilterString = String.join(" AND ", childFilter);
297
		logger.info(parentFilterString);
297
		logger.info(parentFilterString);
298
		params.put("q", String.format("%s{!parent which=%s}%s", queryTerm, parentFilterString, childFilterString));
298
		params.put("q", String.format("%s{!parent which=%s}%s", queryTerm, parentFilterString, childFilterString));
-
 
299
		params.put("fl",
299
		params.put("fl", String.format("*, [child parentFilter=id:catalog* childFilter=%s]",
300
				String.format("*, [child parentFilter=id:catalog* childFilter=%s]", "\"" + childFilterString + "\""));
300
				"\"" + childFilterString + "\""));
-
 
301
		if (queryTerm == "") {
301
		if (queryTerm == "") {
302
			params.put("sort", "create_s desc");
302
			params.put("sort", "create_s desc");
303
		}
303
		}
304
		params.put("start", String.valueOf(offset));
304
		params.put("start", String.valueOf(offset));
305
		params.put("rows", String.valueOf(limit));
305
		params.put("rows", String.valueOf(limit));
Line 606... Line 606...
606
			}
606
			}
607
			if (itemsSet.size() == 0) {
607
			if (itemsSet.size() == 0) {
608
				return dealResponse;
608
				return dealResponse;
609
			}
609
			}
610
			if (hotDeal) {
610
			if (hotDeal) {
-
 
611
				ourItemAvailabilityMap = saholicInventoryService
611
				ourItemAvailabilityMap = saholicInventoryService.getTotalAvailabilityByItemIds(new ArrayList<>(itemsSet));
612
						.getTotalAvailabilityByItemIds(new ArrayList<>(itemsSet));
612
			} else if (fofoId > 0) {
613
			} else if (fofoId > 0) {
613
				partnerStockAvailabilityMap = currentInventorySnapshotRepository.selectItemsStock().stream()
614
				partnerStockAvailabilityMap = currentInventorySnapshotRepository.selectItemsStock(fofoId).stream()
614
						.collect(Collectors.toMap(x -> x.getItemId(), x -> x.getAvailability()));
615
						.collect(Collectors.toMap(x -> x.getItemId(), x -> x.getAvailability()));
-
 
616
				ourItemAvailabilityMap = saholicInventoryService
615
				ourItemAvailabilityMap = saholicInventoryService.getTotalAvailabilityByItemIds(new ArrayList<>(itemsSet));
617
						.getTotalAvailabilityByItemIds(new ArrayList<>(itemsSet));
616
			}
618
			}
617
		}
619
		}
618
 
620
 
619
		List<FofoAvailabilityInfo> fdis = new ArrayList<>();
-
 
620
 
-
 
621
		for (int i = 0; i < docs.length(); i++) {
621
		for (int i = 0; i < docs.length(); i++) {
622
			Map<Integer, FofoAvailabilityInfo> fofoAvailabilityInfoMap = new HashMap<>();
622
			Map<Integer, FofoAvailabilityInfo> fofoAvailabilityInfoMap = new HashMap<>();
623
			JSONObject doc = docs.getJSONObject(i);
623
			JSONObject doc = docs.getJSONObject(i);
624
			FofoCatalogResponse ffdr = new FofoCatalogResponse();
624
			FofoCatalogResponse ffdr = new FofoCatalogResponse();
625
			ffdr.setCatalogId(doc.getInt("catalogId_i"));
625
			ffdr.setCatalogId(doc.getInt("catalogId_i"));
Line 652... Line 652...
652
						fdi.setTagId(childItem.getInt("tagId_i"));
652
						fdi.setTagId(childItem.getInt("tagId_i"));
653
						fdi.setItem_id(itemId);
653
						fdi.setItem_id(itemId);
654
						Float cashBack = schemeService.getItemSchemeCashBack().get(itemId);
654
						Float cashBack = schemeService.getItemSchemeCashBack().get(itemId);
655
						cashBack = cashBack == null ? 0 : cashBack;
655
						cashBack = cashBack == null ? 0 : cashBack;
656
						fdi.setCashback(cashBack);
656
						fdi.setCashback(cashBack);
657
						
657
						fdi.setMinBuyQuantity(1);
658
						if (hotDeal) {
658
						if (hotDeal) {
659
							try {
659
							try {
660
								int totalAvailability = ourItemAvailabilityMap.get(itemId);
660
								int totalAvailability = ourItemAvailabilityMap.get(itemId);
661
								if (totalAvailability <= 0) {
661
								if (totalAvailability <= 0) {
662
									continue;
662
									continue;
Line 670... Line 670...
670
							fdi.setAvailability(100);
670
							fdi.setAvailability(100);
671
							Item item = itemRepository.selectById(itemId);
671
							Item item = itemRepository.selectById(itemId);
672
							// In case its tampered glass moq should be 5
672
							// In case its tampered glass moq should be 5
673
							if (item.getCategoryId() == 10020) {
673
							if (item.getCategoryId() == 10020) {
674
								fdi.setMinBuyQuantity(5);
674
								fdi.setMinBuyQuantity(5);
675
							} else {
-
 
676
								fdi.setMinBuyQuantity(1);
-
 
677
							}
675
							}
678
						} else {
676
						} else {
679
							int ourStockAvailability = ourItemAvailabilityMap.get(itemId) == null ? 0 : ourItemAvailabilityMap.get(itemId);
677
							int ourStockAvailability = ourItemAvailabilityMap.get(itemId) == null ? 0
-
 
678
									: ourItemAvailabilityMap.get(itemId);
680
							int partnerAvailability = partnerStockAvailabilityMap.get(itemId) == null ? 0 : partnerStockAvailabilityMap.get(itemId);
679
							int partnerAvailability = partnerStockAvailabilityMap.get(itemId) == null ? 0
-
 
680
									: partnerStockAvailabilityMap.get(itemId);
681
							fdi.setAvailability(ourStockAvailability + partnerAvailability);
681
							fdi.setAvailability(ourStockAvailability + partnerAvailability);
682
						}
682
						}
683
						fdi.setQuantityStep(1);
683
						fdi.setQuantityStep(1);
684
						fdi.setMaxQuantity(Math.min(fdi.getAvailability(), 100));
684
						fdi.setMaxQuantity(Math.min(fdi.getAvailability(), 100));
685
						fofoAvailabilityInfoMap.put(itemId, fdi);
685
						fofoAvailabilityInfoMap.put(itemId, fdi);