Subversion Repositories SmartDukaan

Rev

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

Rev 23970 Rev 23977
Line 196... Line 196...
196
		if (priceDrop.getProcessTimestamp() == null) {
196
		if (priceDrop.getProcessTimestamp() == null) {
197
			priceDrop.setPartnerPayout(priceDropProcess.getPartnerPayout());
197
			priceDrop.setPartnerPayout(priceDropProcess.getPartnerPayout());
198
			priceDrop.setPriceDropIn(priceDropProcess.getPriceDropIn());
198
			priceDrop.setPriceDropIn(priceDropProcess.getPriceDropIn());
199
			priceDrop.setProcessTimestamp(LocalDateTime.now());
199
			priceDrop.setProcessTimestamp(LocalDateTime.now());
200
			priceDropRepository.persist(priceDrop);
200
			priceDropRepository.persist(priceDrop);
-
 
201
			String description  = itemRepository.selectAllByCatalogItemId(priceDrop.getCatalogItemId()).get(0).getItemDescriptionNoColor();
201
			List<ImeiDropSummaryModel> partnerPendingImeis = getPartnerPendingImeis(priceDrop.getAffectedOn(),
202
			List<ImeiDropSummaryModel> partnerPendingImeis = getPartnerPendingImeis(priceDrop.getAffectedOn(),
202
					priceDrop.getCatalogItemId());
203
					priceDrop.getCatalogItemId());
203
			if (partnerPendingImeis.size() > 0) {
204
			if (partnerPendingImeis.size() > 0) {
204
				Map<Integer, List<ImeiDropSummaryModel>> partnerImeiMap = new HashMap<>();
205
				Map<Integer, List<ImeiDropSummaryModel>> partnerImeiMap = new HashMap<>();
205
				for (ImeiDropSummaryModel pendingImei : partnerPendingImeis) {
206
				for (ImeiDropSummaryModel pendingImei : partnerPendingImeis) {
Line 214... Line 215...
214
					int fofoId = pendingPartnerImei.getKey();
215
					int fofoId = pendingPartnerImei.getKey();
215
					List<InventoryItem> inventoryItems = inventoryItemRepository.selectByFofoIdSerialNumbers(fofoId,
216
					List<InventoryItem> inventoryItems = inventoryItemRepository.selectByFofoIdSerialNumbers(fofoId,
216
							retailerImeiList.stream().map(x -> x.getSerialNumber()).collect(Collectors.toSet()), false);
217
							retailerImeiList.stream().map(x -> x.getSerialNumber()).collect(Collectors.toSet()), false);
217
					String reversalReason = MessageFormat.format(
218
					String reversalReason = MessageFormat.format(
218
							"Scheme amount reversal due to Price Drop of Rs.{0} on {1}. Affected on {3}, Total {2} item(s)",
219
							"Scheme amount reversal due to Price Drop of Rs.{0} on {1}. Affected on {3}, Total {2} item(s)",
219
							priceDrop.getAmount(), priceDrop.getDescription(), pendingPartnerImei.getValue().size(),
220
							priceDrop.getAmount(), description, pendingPartnerImei.getValue().size(),
220
							FormattingUtils.formatDate(priceDrop.getAffectedOn()));
221
							FormattingUtils.formatDate(priceDrop.getAffectedOn()));
221
					String aReason = MessageFormat.format(
222
					String aReason = MessageFormat.format(
222
							"Per unit payout of Rs.{4} Price Drop of Rs.{0} on {1} affected on {3}. Total {2} item(s)",
223
							"Per unit payout of Rs.{4} Price Drop of Rs.{0} on {1} affected on {3}. Total {2} item(s)",
223
							priceDrop.getAmount(), priceDrop.getDescription(), pendingPartnerImei.getValue().size(),
224
							priceDrop.getAmount(), description, pendingPartnerImei.getValue().size(),
224
							FormattingUtils.formatDate(priceDrop.getAffectedOn()), priceDropProcess.getPartnerPayout());
225
							FormattingUtils.formatDate(priceDrop.getAffectedOn()), priceDropProcess.getPartnerPayout());
225
					schemeService.reverseSchemes(inventoryItems, priceDropProcess.getPriceDropId(), reversalReason);
-
 
226
					inventoryService.updatePriceDrop(inventoryItems, priceDrop.getAmount());
226
					inventoryService.updatePriceDrop(inventoryItems, priceDrop.getAmount());
-
 
227
					schemeService.reverseSchemes(inventoryItems, priceDropProcess.getPriceDropId(), reversalReason);
227
					walletService.addAmountToWallet(fofoId, priceDrop.getId(), WalletReferenceType.PRICE_DROP,
228
					walletService.addAmountToWallet(fofoId, priceDrop.getId(), WalletReferenceType.PRICE_DROP,
228
							aReason, priceDropProcess.getPartnerPayout()*pendingPartnerImei.getValue().size());
229
							aReason, priceDropProcess.getPartnerPayout()*pendingPartnerImei.getValue().size());
229
				}
230
				}
230
 
231
 
231
			}
232
			}