Subversion Repositories SmartDukaan

Rev

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

Rev 36362 Rev 36560
Line 265... Line 265...
265
 
265
 
266
    @Autowired
266
    @Autowired
267
    private SmartCartService smartCartService;
267
    private SmartCartService smartCartService;
268
 
268
 
269
    @Autowired
269
    @Autowired
-
 
270
    private com.spice.profitmandi.dao.repository.catalog.CatalogRepository catalogRepository;
-
 
271
 
-
 
272
    @Autowired
-
 
273
    private com.spice.profitmandi.service.transaction.SDCreditService sdCreditService;
-
 
274
 
-
 
275
    @Autowired
270
    private PartnerTypeChangeService partnerTypeChangeService;
276
    private PartnerTypeChangeService partnerTypeChangeService;
271
 
277
 
272
    @Value("${prod}")
278
    @Value("${prod}")
273
    private boolean prodEnv;
279
    private boolean prodEnv;
274
 
280
 
Line 822... Line 828...
822
                itemIdQuantityMap.merge(fofoOrderItem.getItemId(), fofoOrderItem.getQuantity(), Integer::sum);
828
                itemIdQuantityMap.merge(fofoOrderItem.getItemId(), fofoOrderItem.getQuantity(), Integer::sum);
823
            }
829
            }
824
            smartCartService.minusOpeningStockBatch(itemIdQuantityMap, fofoOrder.getFofoId());
830
            smartCartService.minusOpeningStockBatch(itemIdQuantityMap, fofoOrder.getFofoId());
825
        }
831
        }
826
 
832
 
-
 
833
        // Flagship credit conversion: only check catalogs if partner actually has active flagship limits
-
 
834
        try {
-
 
835
            if (sdCreditService.hasActiveFlagshipLimits(fofoId)) {
-
 
836
                Set<Integer> soldCatalogIds = fofoItems.stream()
-
 
837
                        .map(foi -> itemMap.get(foi.getItemId()))
-
 
838
                        .filter(Objects::nonNull)
-
 
839
                        .map(Item::getCatalogItemId)
-
 
840
                        .collect(Collectors.toSet());
-
 
841
 
-
 
842
                if (!soldCatalogIds.isEmpty()) {
-
 
843
                    List<com.spice.profitmandi.dao.entity.catalog.Catalog> catalogs = catalogRepository.selectAllByIds(new ArrayList<>(soldCatalogIds));
-
 
844
                    Set<Integer> flagshipCatalogIds = catalogs.stream()
-
 
845
                            .filter(com.spice.profitmandi.dao.entity.catalog.Catalog::isFlagship)
-
 
846
                            .map(com.spice.profitmandi.dao.entity.catalog.Catalog::getId)
-
 
847
                            .collect(Collectors.toSet());
-
 
848
 
-
 
849
                    if (!flagshipCatalogIds.isEmpty()) {
-
 
850
                        sdCreditService.convertFlagshipOnSale(fofoId, flagshipCatalogIds);
-
 
851
                    }
-
 
852
                }
-
 
853
            }
-
 
854
        } catch (Exception e) {
-
 
855
            LOGGER.error("Failed to convert flagship credits on sale for fofoId {}", fofoId, e);
-
 
856
        }
827
 
857
 
828
        return fofoOrder.getId();
858
        return fofoOrder.getId();
829
    }
859
    }
830
 
860
 
831
    @Override
861
    @Override