Subversion Repositories SmartDukaan

Rev

Rev 35663 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 35663 Rev 35727
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