Subversion Repositories SmartDukaan

Rev

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

Rev 33247 Rev 37283
Line 6... Line 6...
6
import com.spice.profitmandi.dao.entity.catalog.Item;
6
import com.spice.profitmandi.dao.entity.catalog.Item;
7
import com.spice.profitmandi.dao.entity.catalog.TagListing;
7
import com.spice.profitmandi.dao.entity.catalog.TagListing;
8
import com.spice.profitmandi.dao.entity.dtr.GadgetCopsInsuranceCalc;
8
import com.spice.profitmandi.dao.entity.dtr.GadgetCopsInsuranceCalc;
9
import com.spice.profitmandi.dao.entity.user.Address;
9
import com.spice.profitmandi.dao.entity.user.Address;
10
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
10
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
-
 
11
import com.spice.profitmandi.dao.repository.catalog.ModelHotDealRepository;
11
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
12
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
12
import com.spice.profitmandi.dao.repository.dtr.GadgetCopsInsuranceCalcRepository;
13
import com.spice.profitmandi.dao.repository.dtr.GadgetCopsInsuranceCalcRepository;
13
import com.spice.profitmandi.dao.repository.dtr.InsuranceProviderRepository;
14
import com.spice.profitmandi.dao.repository.dtr.InsuranceProviderRepository;
14
import com.spice.profitmandi.dao.repository.dtr.RetailerRegisteredAddressRepository;
15
import com.spice.profitmandi.dao.repository.dtr.RetailerRegisteredAddressRepository;
15
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
16
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
Line 22... Line 23...
22
import org.apache.logging.log4j.Logger;
23
import org.apache.logging.log4j.Logger;
23
import org.springframework.beans.factory.annotation.Autowired;
24
import org.springframework.beans.factory.annotation.Autowired;
24
import org.springframework.beans.factory.annotation.Qualifier;
25
import org.springframework.beans.factory.annotation.Qualifier;
25
import org.springframework.stereotype.Component;
26
import org.springframework.stereotype.Component;
26
 
27
 
-
 
28
import java.time.LocalDate;
27
import java.util.*;
29
import java.util.*;
28
 
30
 
29
@Component
31
@Component
30
public class PricingServiceImpl implements PricingService{
32
public class PricingServiceImpl implements PricingService{
31
 
33
 
Line 35... Line 37...
35
	@Autowired
37
	@Autowired
36
	private AddressRepository addressRepository;
38
	private AddressRepository addressRepository;
37
	
39
	
38
	@Autowired
40
	@Autowired
39
	private ItemRepository itemRepository;
41
	private ItemRepository itemRepository;
-
 
42
 
-
 
43
	@Autowired
-
 
44
	private ModelHotDealRepository modelHotDealRepository;
40
	
45
	
41
	@Autowired
46
	@Autowired
42
	private SchemeService schemeService;
47
	private SchemeService schemeService;
43
	
48
	
44
	@Autowired
49
	@Autowired
Line 153... Line 158...
153
	@Override
158
	@Override
154
    public Map<Integer, PriceModel> getMopPrices(Set<Integer> itemIds, int retailerId) throws ProfitMandiBusinessException {
159
    public Map<Integer, PriceModel> getMopPrices(Set<Integer> itemIds, int retailerId) throws ProfitMandiBusinessException {
155
		//Set Price with max value
160
		//Set Price with max value
156
		Map<Integer, PriceModel> itemPriceMap = this.preparePriceModelDefaultValues(itemIds);
161
		Map<Integer, PriceModel> itemPriceMap = this.preparePriceModelDefaultValues(itemIds);
157
		List<TagListing> tagListings = this.getTagListing(itemIds, retailerId);
162
		List<TagListing> tagListings = this.getTagListing(itemIds, retailerId);
-
 
163
		//Hot deals live in catalog.model_hot_deal (date-windowed), not tag_listing.hot_deals
-
 
164
		Set<Integer> hotDealCatalogIds = modelHotDealRepository.selectActiveCatalogIds(LocalDate.now());
158
		for(TagListing tagListing : tagListings){
165
		for(TagListing tagListing : tagListings){
159
			Item item = null;
166
			Item item = null;
160
			try {
167
			try {
161
				item = itemRepository.selectById(tagListing.getItemId());
168
				item = itemRepository.selectById(tagListing.getItemId());
162
			} catch (Exception e) {
169
			} catch (Exception e) {
Line 165... Line 172...
165
			}
172
			}
166
			PriceModel priceModel = itemPriceMap.get(tagListing.getItemId());
173
			PriceModel priceModel = itemPriceMap.get(tagListing.getItemId());
167
			//In case of hot deal mop is set to retailer buying price
174
			//In case of hot deal mop is set to retailer buying price
168
			priceModel.setPurchasePrice(tagListing.getSellingPrice());
175
			priceModel.setPurchasePrice(tagListing.getSellingPrice());
169
			priceModel.setMrp(tagListing.getMrp());
176
			priceModel.setMrp(tagListing.getMrp());
170
			if(tagListing.isHotDeals()) {
177
			if(hotDealCatalogIds.contains(item.getCatalogItemId())) {
171
				priceModel.setMop(true);
178
				priceModel.setMop(true);
172
				priceModel.setPrice(tagListing.getSellingPrice());
179
				priceModel.setPrice(tagListing.getSellingPrice());
173
			} else if (itemPriceMap.get(tagListing.getItemId()).getPrice() > tagListing.getMop()) {
180
			} else if (itemPriceMap.get(tagListing.getItemId()).getPrice() > tagListing.getMop()) {
174
				priceModel.setPrice(tagListing.getMop());
181
				priceModel.setPrice(tagListing.getMop());
175
				priceModel.setMop(true);
182
				priceModel.setMop(true);