Subversion Repositories SmartDukaan

Rev

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

Rev 24587 Rev 24590
Line 45... Line 45...
45
import com.spice.profitmandi.common.model.GstRate;
45
import com.spice.profitmandi.common.model.GstRate;
46
import com.spice.profitmandi.common.model.RechargeCredential;
46
import com.spice.profitmandi.common.model.RechargeCredential;
47
import com.spice.profitmandi.common.util.FileUtil;
47
import com.spice.profitmandi.common.util.FileUtil;
48
import com.spice.profitmandi.common.util.FormattingUtils;
48
import com.spice.profitmandi.common.util.FormattingUtils;
49
import com.spice.profitmandi.common.util.Utils;
49
import com.spice.profitmandi.common.util.Utils;
-
 
50
import com.spice.profitmandi.dao.entity.catalog.Scheme;
50
import com.spice.profitmandi.dao.entity.cs.Ticket;
51
import com.spice.profitmandi.dao.entity.cs.Ticket;
51
import com.spice.profitmandi.dao.entity.cs.TicketAssigned;
52
import com.spice.profitmandi.dao.entity.cs.TicketAssigned;
52
import com.spice.profitmandi.dao.entity.dtr.DailyRecharge;
53
import com.spice.profitmandi.dao.entity.dtr.DailyRecharge;
53
import com.spice.profitmandi.dao.entity.dtr.RechargeProvider;
54
import com.spice.profitmandi.dao.entity.dtr.RechargeProvider;
54
import com.spice.profitmandi.dao.entity.dtr.RechargeProviderCreditWalletHistory;
55
import com.spice.profitmandi.dao.entity.dtr.RechargeProviderCreditWalletHistory;
55
import com.spice.profitmandi.dao.entity.dtr.RechargeTransaction;
56
import com.spice.profitmandi.dao.entity.dtr.RechargeTransaction;
56
import com.spice.profitmandi.dao.entity.fofo.CustomerAddress;
57
import com.spice.profitmandi.dao.entity.fofo.CustomerAddress;
-
 
58
import com.spice.profitmandi.dao.entity.fofo.FofoLineItem;
57
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
59
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
58
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
60
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
59
import com.spice.profitmandi.dao.entity.fofo.FofoStore;
61
import com.spice.profitmandi.dao.entity.fofo.FofoStore;
60
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
62
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
61
import com.spice.profitmandi.dao.entity.fofo.PartnerDailyInvestment;
63
import com.spice.profitmandi.dao.entity.fofo.PartnerDailyInvestment;
Line 80... Line 82...
80
import com.spice.profitmandi.dao.repository.dtr.RechargeProviderCreditWalletHistoryRepository;
82
import com.spice.profitmandi.dao.repository.dtr.RechargeProviderCreditWalletHistoryRepository;
81
import com.spice.profitmandi.dao.repository.dtr.RechargeProviderRepository;
83
import com.spice.profitmandi.dao.repository.dtr.RechargeProviderRepository;
82
import com.spice.profitmandi.dao.repository.dtr.RechargeTransactionRepository;
84
import com.spice.profitmandi.dao.repository.dtr.RechargeTransactionRepository;
83
import com.spice.profitmandi.dao.repository.dtr.RetailerRegisteredAddressRepository;
85
import com.spice.profitmandi.dao.repository.dtr.RetailerRegisteredAddressRepository;
84
import com.spice.profitmandi.dao.repository.fofo.CustomerAddressRepository;
86
import com.spice.profitmandi.dao.repository.fofo.CustomerAddressRepository;
-
 
87
import com.spice.profitmandi.dao.repository.fofo.FofoLineItemRepository;
85
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
88
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
86
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
89
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
87
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
90
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
88
import com.spice.profitmandi.dao.repository.fofo.PartnerDailyInvestmentRepository;
91
import com.spice.profitmandi.dao.repository.fofo.PartnerDailyInvestmentRepository;
89
import com.spice.profitmandi.dao.repository.fofo.PartnerTargetRepository;
92
import com.spice.profitmandi.dao.repository.fofo.PartnerTargetRepository;
Line 183... Line 186...
183
 
186
 
184
	@Autowired
187
	@Autowired
185
	private RechargeProviderCreditWalletHistoryRepository rechargeProviderCreditWalletHistoryRepository;
188
	private RechargeProviderCreditWalletHistoryRepository rechargeProviderCreditWalletHistoryRepository;
186
 
189
 
187
	@Autowired
190
	@Autowired
-
 
191
	private FofoLineItemRepository fofoLineItemRepository;
-
 
192
 
-
 
193
	@Autowired
188
	private FofoOrderRepository fofoOrderRepository;
194
	private FofoOrderRepository fofoOrderRepository;
189
 
195
 
190
	@Autowired
196
	@Autowired
191
	private UserWalletHistoryRepository userWalletHistoryRepository;
197
	private UserWalletHistoryRepository userWalletHistoryRepository;
192
 
198
 
Line 854... Line 860...
854
				} else {
860
				} else {
855
					finalUserSchemeAmountMap.put(schemeAmount.getKey(),
861
					finalUserSchemeAmountMap.put(schemeAmount.getKey(),
856
							finalUserSchemeAmountMap.get(schemeAmount.getKey()) + schemeAmount.getValue());
862
							finalUserSchemeAmountMap.get(schemeAmount.getKey()) + schemeAmount.getValue());
857
				}
863
				}
858
			}
864
			}
859
			Map<Integer, Integer> userWalletMap = userWalletRepository.selectByRetailerIds(finalUserSchemeAmountMap.keySet())
865
			Map<Integer, Integer> userWalletMap = userWalletRepository
-
 
866
					.selectByRetailerIds(finalUserSchemeAmountMap.keySet()).stream()
860
					.stream().collect(Collectors.toMap(UserWallet::getUserId, UserWallet::getId));
867
					.collect(Collectors.toMap(UserWallet::getUserId, UserWallet::getId));
861
			
868
 
862
			Map<Integer, Double> walletAmountMap = history.stream().collect(Collectors.groupingBy(
869
			Map<Integer, Double> walletAmountMap = history.stream().collect(Collectors.groupingBy(
863
					UserWalletHistory::getWalletId, Collectors.summingDouble((UserWalletHistory::getAmount))));
870
					UserWalletHistory::getWalletId, Collectors.summingDouble((UserWalletHistory::getAmount))));
864
			for (Map.Entry<Integer, Double> userAmount : walletAmountMap.entrySet()) {
871
			for (Map.Entry<Integer, Double> userAmount : walletAmountMap.entrySet()) {
865
				double diff = Math.abs(finalUserSchemeAmountMap.get(userAmount.getKey()) - userAmount.getValue());
872
				double diff = Math.abs(finalUserSchemeAmountMap.get(userAmount.getKey()) - userAmount.getValue());
866
				if (diff > 5) {
873
				if (diff > 5) {
Line 868... Line 875...
868
				}
875
				}
869
			}
876
			}
870
		}
877
		}
871
 
878
 
872
	}
879
	}
-
 
880
 
-
 
881
	public void dryRunSchemeReco() {
-
 
882
		Map<Integer, SchemeType> schemeTypeMap = schemeRepository.selectAll().stream()
-
 
883
				.collect(Collectors.toMap(Scheme::getId, Scheme::getType));
-
 
884
		LocalDateTime startDate = LocalDate.of(2018, 9, 4).atStartOfDay();
-
 
885
		LocalDateTime endDate = startDate.plusDays(1);
-
 
886
		List<FofoOrder> allOrders = fofoOrderRepository.selectBetweenSaleDate(startDate, endDate);
-
 
887
		allOrders.stream().forEach(fofoOrder -> {
-
 
888
			List<Integer> inventoryItemIds = new ArrayList<>();
-
 
889
			List<FofoOrderItem> orderItems = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
-
 
890
			orderItems.forEach(x -> {
-
 
891
				inventoryItemIds.addAll(x.getFofoLineItems().stream().map(FofoLineItem::getInventoryItemId)
-
 
892
						.collect(Collectors.toSet()));
-
 
893
			});
-
 
894
			List<SchemeType> sios = schemeInOutRepository.selectAllDuplicate(inventoryItemIds).stream()
-
 
895
					.map(x -> schemeTypeMap.get(x.getSchemeId()))
-
 
896
					.filter(schemeType -> schemeType.equals(SchemeType.OUT)).collect(Collectors.toList());
-
 
897
			if (sios.size() > 0) {
-
 
898
				LOGGER.info("Found {} duplicate scheme outs for Orderid {}", sios.size(), fofoOrder.getId());
-
 
899
			}
-
 
900
		});
-
 
901
	}
873
}
902
}
874
 
903
 
875
/*
904
/*
876
 * public void processSchemeForModel(String string) { pricingService
905
 * public void processSchemeForModel(String string) { pricingService
877
 * 
906
 *