| Line 39... |
Line 39... |
| 39 |
import com.spice.profitmandi.service.catalog.BrandsService;
|
39 |
import com.spice.profitmandi.service.catalog.BrandsService;
|
| 40 |
import com.spice.profitmandi.service.integrations.pinelabs.PinelabsAffordabilityService;
|
40 |
import com.spice.profitmandi.service.integrations.pinelabs.PinelabsAffordabilityService;
|
| 41 |
import com.spice.profitmandi.service.integrations.pinelabs.PinelabsOfferCacheService;
|
41 |
import com.spice.profitmandi.service.integrations.pinelabs.PinelabsOfferCacheService;
|
| 42 |
import com.spice.profitmandi.service.integrations.pinelabs.dto.OfferDiscoveryRequest;
|
42 |
import com.spice.profitmandi.service.integrations.pinelabs.dto.OfferDiscoveryRequest;
|
| 43 |
import com.spice.profitmandi.service.integrations.pinelabs.dto.OfferDiscoveryResponse;
|
43 |
import com.spice.profitmandi.service.integrations.pinelabs.dto.OfferDiscoveryResponse;
|
| - |
|
44 |
import com.spice.profitmandi.service.integrations.pinelabs.dto.Tenure;
|
| 44 |
import com.spice.profitmandi.service.inventory.*;
|
45 |
import com.spice.profitmandi.service.inventory.*;
|
| 45 |
import com.spice.profitmandi.service.pricecircular.PriceCircularItemModelNew;
|
46 |
import com.spice.profitmandi.service.pricecircular.PriceCircularItemModelNew;
|
| 46 |
import com.spice.profitmandi.service.pricecircular.PriceCircularModel;
|
47 |
import com.spice.profitmandi.service.pricecircular.PriceCircularModel;
|
| 47 |
import com.spice.profitmandi.service.pricecircular.PriceCircularService;
|
48 |
import com.spice.profitmandi.service.pricecircular.PriceCircularService;
|
| 48 |
import com.spice.profitmandi.service.pricing.PricingService;
|
49 |
import com.spice.profitmandi.service.pricing.PricingService;
|
| Line 70... |
Line 71... |
| 70 |
|
71 |
|
| 71 |
import javax.servlet.http.HttpServletRequest;
|
72 |
import javax.servlet.http.HttpServletRequest;
|
| 72 |
import java.time.LocalDate;
|
73 |
import java.time.LocalDate;
|
| 73 |
import java.time.LocalDateTime;
|
74 |
import java.time.LocalDateTime;
|
| 74 |
import java.util.*;
|
75 |
import java.util.*;
|
| 75 |
import java.util.concurrent.CompletableFuture;
|
- |
|
| 76 |
import java.util.concurrent.atomic.AtomicInteger;
|
76 |
import java.util.concurrent.atomic.AtomicInteger;
|
| 77 |
import java.util.stream.Collectors;
|
77 |
import java.util.stream.Collectors;
|
| 78 |
|
78 |
|
| 79 |
@Controller
|
79 |
@Controller
|
| 80 |
@Transactional(rollbackFor = Throwable.class)
|
80 |
@Transactional(rollbackFor = Throwable.class)
|
| Line 976... |
Line 976... |
| 976 |
float sellingPrice = (float) childItem.getDouble("sellingPrice_f");
|
976 |
float sellingPrice = (float) childItem.getDouble("sellingPrice_f");
|
| 977 |
int partnerAvailability = partnerStockAvailabilityMap.get(itemId) == null ? 0 : partnerStockAvailabilityMap.get(itemId);
|
977 |
int partnerAvailability = partnerStockAvailabilityMap.get(itemId) == null ? 0 : partnerStockAvailabilityMap.get(itemId);
|
| 978 |
if (!fofoAvailabilityInfoMap.containsKey(itemId)) {
|
978 |
if (!fofoAvailabilityInfoMap.containsKey(itemId)) {
|
| 979 |
OfferDiscoveryResponse offers = pinelabsOfferCacheService.getCachedOfferForItem(itemId);
|
979 |
OfferDiscoveryResponse offers = pinelabsOfferCacheService.getCachedOfferForItem(itemId);
|
| 980 |
FofoAvailabilityInfo fdi = new FofoAvailabilityInfo();
|
980 |
FofoAvailabilityInfo fdi = new FofoAvailabilityInfo();
|
| - |
|
981 |
logger.info("Pine Labs offers {}", offers);
|
| 981 |
fdi.setOffers(offers);
|
982 |
fdi.setOffers(offers);
|
| 982 |
List<SaholicCISTable> currentAvailability = cisDataByItemId.getOrDefault(itemId, new ArrayList<>());
|
983 |
List<SaholicCISTable> currentAvailability = cisDataByItemId.getOrDefault(itemId, new ArrayList<>());
|
| 983 |
List<SaholicPOItem> poItemAvailability = null;
|
984 |
List<SaholicPOItem> poItemAvailability = null;
|
| 984 |
if (poItemAvailabilityMap != null) {
|
985 |
if (poItemAvailabilityMap != null) {
|
| 985 |
poItemAvailability = poItemAvailabilityMap.get(itemId);
|
986 |
poItemAvailability = poItemAvailabilityMap.get(itemId);
|
| Line 1211... |
Line 1212... |
| 1211 |
OfferDiscoveryResponse pineLabsOffers = pinelabsAffordabilityService.discoverOffers(offerDiscoveryRequest);
|
1212 |
OfferDiscoveryResponse pineLabsOffers = pinelabsAffordabilityService.discoverOffers(offerDiscoveryRequest);
|
| 1212 |
logger.info("pinelabs offers response {}", pineLabsOffers);
|
1213 |
logger.info("pinelabs offers response {}", pineLabsOffers);
|
| 1213 |
return responseSender.ok(pineLabsOffers);
|
1214 |
return responseSender.ok(pineLabsOffers);
|
| 1214 |
}
|
1215 |
}
|
| 1215 |
|
1216 |
|
| - |
|
1217 |
@RequestMapping(value = "/pinelabs/offers/cache", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
| - |
|
1218 |
public ResponseEntity<?> cachePineLabsOffers() {
|
| - |
|
1219 |
pinelabsOfferCacheService.cacheAllItemOffers();
|
| - |
|
1220 |
return responseSender.ok("PineLabs offers cache initiated");
|
| - |
|
1221 |
}
|
| - |
|
1222 |
|
| - |
|
1223 |
@RequestMapping(value = "/pinelabs/offers/{itemId}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
| - |
|
1224 |
public ResponseEntity<?> pineLabsOfferById(@PathVariable int itemId) {
|
| - |
|
1225 |
List<Integer> itemIds = new ArrayList<>();
|
| - |
|
1226 |
itemIds.add(itemId);
|
| - |
|
1227 |
Map<Integer, Map<String, List<Tenure>>> pineLabsOffers = pinelabsOfferCacheService.getGroupedCachedOffersForItems(itemIds);
|
| - |
|
1228 |
return responseSender.ok(pineLabsOffers);
|
| - |
|
1229 |
}
|
| - |
|
1230 |
|
| 1216 |
}
|
1231 |
}
|
| 1217 |
|
1232 |
|