Subversion Repositories SmartDukaan

Rev

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

Rev 28623 Rev 28624
Line 16... Line 16...
16
import java.util.HashSet;
16
import java.util.HashSet;
17
import java.util.List;
17
import java.util.List;
18
import java.util.Map;
18
import java.util.Map;
19
import java.util.Set;
19
import java.util.Set;
20
import java.util.concurrent.TimeUnit;
20
import java.util.concurrent.TimeUnit;
21
import java.util.stream.Collector;
-
 
22
import java.util.stream.Collectors;
21
import java.util.stream.Collectors;
23
 
22
 
24
import org.apache.commons.io.output.ByteArrayOutputStream;
23
import org.apache.commons.io.output.ByteArrayOutputStream;
25
import org.apache.commons.lang.StringUtils;
24
import org.apache.commons.lang.StringUtils;
26
import org.apache.logging.log4j.LogManager;
25
import org.apache.logging.log4j.LogManager;
Line 69... Line 68...
69
import com.spice.profitmandi.dao.entity.fofo.SchemeItem;
68
import com.spice.profitmandi.dao.entity.fofo.SchemeItem;
70
import com.spice.profitmandi.dao.entity.inventory.SaholicInventorySnapshot;
69
import com.spice.profitmandi.dao.entity.inventory.SaholicInventorySnapshot;
71
import com.spice.profitmandi.dao.entity.transaction.HdfcPayment;
70
import com.spice.profitmandi.dao.entity.transaction.HdfcPayment;
72
import com.spice.profitmandi.dao.entity.transaction.LineItem;
71
import com.spice.profitmandi.dao.entity.transaction.LineItem;
73
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
72
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
-
 
73
import com.spice.profitmandi.dao.entity.transaction.ManualPaymentType;
74
import com.spice.profitmandi.dao.entity.transaction.Order;
74
import com.spice.profitmandi.dao.entity.transaction.Order;
75
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
75
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
76
import com.spice.profitmandi.dao.entity.transaction.UserWallet;
76
import com.spice.profitmandi.dao.entity.transaction.UserWallet;
77
import com.spice.profitmandi.dao.entity.transaction.UserWalletHistory;
77
import com.spice.profitmandi.dao.entity.transaction.UserWalletHistory;
78
import com.spice.profitmandi.dao.entity.user.Address;
78
import com.spice.profitmandi.dao.entity.user.Address;
Line 81... Line 81...
81
import com.spice.profitmandi.dao.entity.warehouse.WarehouseScan;
81
import com.spice.profitmandi.dao.entity.warehouse.WarehouseScan;
82
import com.spice.profitmandi.dao.enumuration.catalog.AmountType;
82
import com.spice.profitmandi.dao.enumuration.catalog.AmountType;
83
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
83
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
84
import com.spice.profitmandi.dao.enumuration.dtr.PaymentOptionReferenceType;
84
import com.spice.profitmandi.dao.enumuration.dtr.PaymentOptionReferenceType;
85
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
85
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
-
 
86
import com.spice.profitmandi.dao.enumuration.transaction.SchemePayoutStatus;
86
import com.spice.profitmandi.dao.model.ContentPojo;
87
import com.spice.profitmandi.dao.model.ContentPojo;
87
import com.spice.profitmandi.dao.model.CreateOfferRequest;
88
import com.spice.profitmandi.dao.model.CreateOfferRequest;
88
import com.spice.profitmandi.dao.model.MediaPojo;
89
import com.spice.profitmandi.dao.model.MediaPojo;
89
import com.spice.profitmandi.dao.repository.GenericRepository;
90
import com.spice.profitmandi.dao.repository.GenericRepository;
90
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
91
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
-
 
92
import com.spice.profitmandi.dao.repository.catalog.ManualPaymentRequestRepository;
91
import com.spice.profitmandi.dao.repository.catalog.OfferRepository;
93
import com.spice.profitmandi.dao.repository.catalog.OfferRepository;
92
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
94
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
93
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
95
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
94
import com.spice.profitmandi.dao.repository.cs.CsService;
96
import com.spice.profitmandi.dao.repository.cs.CsService;
95
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
97
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
Line 144... Line 146...
144
 
146
 
145
@Component
147
@Component
146
@Transactional(rollbackFor = Throwable.class)
148
@Transactional(rollbackFor = Throwable.class)
147
public class RunOnceTasks {
149
public class RunOnceTasks {
148
 
150
 
149
 
-
 
150
	private static final Logger LOGGER = LogManager.getLogger(RunOnceTasks.class);
151
	private static final Logger LOGGER = LogManager.getLogger(RunOnceTasks.class);
151
	@Autowired
152
	@Autowired
152
	private LineItemRepository lineItemRepository;
153
	private LineItemRepository lineItemRepository;
153
 
154
 
154
	@Autowired
155
	@Autowired
Line 162... Line 163...
162
 
163
 
163
	@Autowired
164
	@Autowired
164
	private CsService csService;
165
	private CsService csService;
165
	
166
	
166
	@Autowired
167
	@Autowired
-
 
168
	private ManualPaymentRequestRepository manualPaymentRequestRepository;
-
 
169
 
-
 
170
	@Autowired
167
	private OfferRepository offerRepository;
171
	private OfferRepository offerRepository;
168
 
172
 
169
	@Autowired
173
	@Autowired
170
	private Mongo mongoClient;
174
	private Mongo mongoClient;
171
 
175
 
172
	@Autowired
176
	@Autowired
173
	private Gson gson;
177
	private Gson gson;
174
	
178
 
175
	@Autowired
179
	@Autowired
176
	private PaymentOptionTransactionRepository paymentOptionTransactionRepository;
180
	private PaymentOptionTransactionRepository paymentOptionTransactionRepository;
177
 
181
 
178
	@Autowired
182
	@Autowired
179
	private SamsungIMEIActivationService samsungActivationService;
183
	private SamsungIMEIActivationService samsungActivationService;
Line 263... Line 267...
263
	@Autowired
267
	@Autowired
264
	private SchemeInOutRepository schemeInOutRepository;
268
	private SchemeInOutRepository schemeInOutRepository;
265
 
269
 
266
	@Autowired
270
	@Autowired
267
	private DebitNoteRepository debitNoteRepository;
271
	private DebitNoteRepository debitNoteRepository;
268
	
272
 
269
	@Autowired
273
	@Autowired
270
	private OfferService offerService;
274
	private OfferService offerService;
271
 
275
 
272
	@Autowired
276
	@Autowired
273
	private GenericRepository genericRepository;
277
	private GenericRepository genericRepository;
Line 1191... Line 1195...
1191
	public void createDummyInvoices() {
1195
	public void createDummyInvoices() {
1192
		List<WarehouseInventoryItem> lavaInventoryItems = warehouseInventoryItemRepository.getSerialNumbers("Lava",
1196
		List<WarehouseInventoryItem> lavaInventoryItems = warehouseInventoryItemRepository.getSerialNumbers("Lava",
1193
				LocalDate.of(2020, Month.SEPTEMBER, 1).atStartOfDay(), LocalDateTime.now());
1197
				LocalDate.of(2020, Month.SEPTEMBER, 1).atStartOfDay(), LocalDateTime.now());
1194
		LOGGER.info("Lava Inventory Size is {}", lavaInventoryItems.size());
1198
		LOGGER.info("Lava Inventory Size is {}", lavaInventoryItems.size());
1195
	}
1199
	}
1196
	
1200
 
1197
	public void createOffers(int offerId) throws Exception {
1201
	public void createOffers(int offerId) throws Exception {
1198
		Map<List<Integer>, List<Integer>> targetMap = new HashMap<>();
1202
		Map<List<Integer>, List<Integer>> targetMap = new HashMap<>();
1199
		targetMap.put(Arrays.asList(175138805,175138733,175138821,175138886,175138853,175138799),Arrays.asList(300000,330000,375000));
1203
		targetMap.put(Arrays.asList(175138805, 175138733, 175138821, 175138886, 175138853, 175138799),
-
 
1204
				Arrays.asList(300000, 330000, 375000));
1200
		targetMap.put(Arrays.asList(175138895,175138877,175138854,175138857,175138870,175138862,175138873),Arrays.asList(350000,400000,450000));
1205
		targetMap.put(Arrays.asList(175138895, 175138877, 175138854, 175138857, 175138870, 175138862, 175138873),
-
 
1206
				Arrays.asList(350000, 400000, 450000));
1201
		targetMap.put(Arrays.asList(175138878),Arrays.asList(380000,418000,475000));
1207
		targetMap.put(Arrays.asList(175138878), Arrays.asList(380000, 418000, 475000));
-
 
1208
		targetMap.put(Arrays.asList(175138922, 175138833, 175138893, 175138939, 175138832, 175138949, 175138882,
-
 
1209
				175138876, 175138834, 175138930, 175138911, 175138522, 175138871, 175138934, 175138900, 4149607,
-
 
1210
				175138835, 175138941, 175138917, 175138855, 175138825, 175138896, 175138866, 175138174, 175138887,
-
 
1211
				175138816, 175138892, 175135376, 175138918, 175138845, 175138946, 175138920, 175138903, 175138813,
-
 
1212
				175138901, 175138899, 175136389, 175138913, 175138919, 175138923, 175138926, 175138950, 175138953,
1202
		targetMap.put(Arrays.asList(175138922,175138833,175138893,175138939,175138832,175138949,175138882,175138876,175138834,175138930,175138911,175138522,175138871,175138934,175138900,4149607,175138835,175138941,175138917,175138855,175138825,175138896,175138866,175138174,175138887,175138816,175138892,175135376,175138918,175138845,175138946,175138920,175138903,175138813,175138901,175138899,175136389,175138913,175138919,175138923,175138926,175138950,175138953,175138954,175138955),Arrays.asList(400000,500000,600000));
1213
				175138954, 175138955), Arrays.asList(400000, 500000, 600000));
1203
		targetMap.put(Arrays.asList(175138839),Arrays.asList(412000,453200,515000));
1214
		targetMap.put(Arrays.asList(175138839), Arrays.asList(412000, 453200, 515000));
1204
		targetMap.put(Arrays.asList(175138716),Arrays.asList(450000,495000,562500));
1215
		targetMap.put(Arrays.asList(175138716), Arrays.asList(450000, 495000, 562500));
1205
		targetMap.put(Arrays.asList(175138812),Arrays.asList(465000,511500,581250));
1216
		targetMap.put(Arrays.asList(175138812), Arrays.asList(465000, 511500, 581250));
1206
		targetMap.put(Arrays.asList(175138859,175138906,175138874,175138940,175138916,175136207,175138851,175138844,175138929),Arrays.asList(500000,600000,700000));
1217
		targetMap.put(Arrays.asList(175138859, 175138906, 175138874, 175138940, 175138916, 175136207, 175138851,
-
 
1218
				175138844, 175138929), Arrays.asList(500000, 600000, 700000));
1207
		targetMap.put(Arrays.asList(175138804,175138910),Arrays.asList(550000,600000,650000));
1219
		targetMap.put(Arrays.asList(175138804, 175138910), Arrays.asList(550000, 600000, 650000));
1208
		targetMap.put(Arrays.asList(175127215,175138879),Arrays.asList(555000,610500,693750));
1220
		targetMap.put(Arrays.asList(175127215, 175138879), Arrays.asList(555000, 610500, 693750));
-
 
1221
		targetMap.put(
1209
		targetMap.put(Arrays.asList(175138869,175138902,175138909,175138914,175138824,157112773,175138897,175138801),Arrays.asList(600000,730000,840000));
1222
				Arrays.asList(175138869, 175138902, 175138909, 175138914, 175138824, 157112773, 175138897, 175138801),
-
 
1223
				Arrays.asList(600000, 730000, 840000));
1210
		targetMap.put(Arrays.asList(172157716),Arrays.asList(616000,677600,770000));
1224
		targetMap.put(Arrays.asList(172157716), Arrays.asList(616000, 677600, 770000));
1211
		targetMap.put(Arrays.asList(175138674,175138840),Arrays.asList(650000,715000,812500));
1225
		targetMap.put(Arrays.asList(175138674, 175138840), Arrays.asList(650000, 715000, 812500));
1212
		targetMap.put(Arrays.asList(175138936,175138952,175138907,156232687,175138856,175138836,175138942),Arrays.asList(700000,800000,900000));
1226
		targetMap.put(Arrays.asList(175138936, 175138952, 175138907, 156232687, 175138856, 175138836, 175138942),
-
 
1227
				Arrays.asList(700000, 800000, 900000));
1213
		targetMap.put(Arrays.asList(175138868),Arrays.asList(775000,852500,968750));
1228
		targetMap.put(Arrays.asList(175138868), Arrays.asList(775000, 852500, 968750));
1214
		targetMap.put(Arrays.asList(175138820),Arrays.asList(780000,850000,1050000));
1229
		targetMap.put(Arrays.asList(175138820), Arrays.asList(780000, 850000, 1050000));
1215
		targetMap.put(Arrays.asList(175138864,175138863,175138867,175138823,175135227),Arrays.asList(800000,900000,1000000));
1230
		targetMap.put(Arrays.asList(175138864, 175138863, 175138867, 175138823, 175135227),
-
 
1231
				Arrays.asList(800000, 900000, 1000000));
1216
		targetMap.put(Arrays.asList(175138408),Arrays.asList(850000,900000,950000));
1232
		targetMap.put(Arrays.asList(175138408), Arrays.asList(850000, 900000, 950000));
1217
		targetMap.put(Arrays.asList(175135923,175138888),Arrays.asList(900000,990000,1125000));
1233
		targetMap.put(Arrays.asList(175135923, 175138888), Arrays.asList(900000, 990000, 1125000));
1218
		targetMap.put(Arrays.asList(175138908),Arrays.asList(1000000,1200000,1350000));
1234
		targetMap.put(Arrays.asList(175138908), Arrays.asList(1000000, 1200000, 1350000));
1219
		targetMap.put(Arrays.asList(175138843),Arrays.asList(1100000,1200000,1350000));
1235
		targetMap.put(Arrays.asList(175138843), Arrays.asList(1100000, 1200000, 1350000));
1220
		targetMap.put(Arrays.asList(175138827),Arrays.asList(1150000,1265000,1437500));
1236
		targetMap.put(Arrays.asList(175138827), Arrays.asList(1150000, 1265000, 1437500));
1221
		targetMap.put(Arrays.asList(175138883,175135707),Arrays.asList(1200000,1300000,1400000));
1237
		targetMap.put(Arrays.asList(175138883, 175135707), Arrays.asList(1200000, 1300000, 1400000));
1222
		targetMap.put(Arrays.asList(175138814,175138829),Arrays.asList(1300000,1500000,1650000));
1238
		targetMap.put(Arrays.asList(175138814, 175138829), Arrays.asList(1300000, 1500000, 1650000));
1223
		targetMap.put(Arrays.asList(175138842,175138875),Arrays.asList(1500000,1650000,1800000));
1239
		targetMap.put(Arrays.asList(175138842, 175138875), Arrays.asList(1500000, 1650000, 1800000));
1224
		targetMap.put(Arrays.asList(175138541),Arrays.asList(1600000,1700000,1850000));
1240
		targetMap.put(Arrays.asList(175138541), Arrays.asList(1600000, 1700000, 1850000));
1225
		targetMap.put(Arrays.asList(175138372),Arrays.asList(1890000,2079000,2362500));
1241
		targetMap.put(Arrays.asList(175138372), Arrays.asList(1890000, 2079000, 2362500));
1226
		targetMap.put(Arrays.asList(175138885),Arrays.asList(2100000,2400000,2600000));
1242
		targetMap.put(Arrays.asList(175138885), Arrays.asList(2100000, 2400000, 2600000));
1227
	
1243
 
1228
		
-
 
1229
		CreateOfferRequest createOfferRequest = offerService.getOffer(offerId);
1244
		CreateOfferRequest createOfferRequest = offerService.getOffer(offerId);
1230
		for(Map.Entry<List<Integer>, List<Integer>> targetEntry : targetMap.entrySet()) {
1245
		for (Map.Entry<List<Integer>, List<Integer>> targetEntry : targetMap.entrySet()) {
1231
			List<Integer> targets = targetEntry.getValue();
1246
			List<Integer> targets = targetEntry.getValue();
1232
 
1247
 
1233
			createOfferRequest.getPartnerCriteria().setFofoIds(targetEntry.getKey());
1248
			createOfferRequest.getPartnerCriteria().setFofoIds(targetEntry.getKey());
1234
			int counter = 0;
1249
			int counter = 0;
1235
			for(com.spice.profitmandi.dao.model.TargetSlab targetSlab : createOfferRequest.getTargetSlabs()) {
1250
			for (com.spice.profitmandi.dao.model.TargetSlab targetSlab : createOfferRequest.getTargetSlabs()) {
1236
				targetSlab.setOnwardsAmount(targets.get(counter));
1251
				targetSlab.setOnwardsAmount(targets.get(counter));
1237
				counter++;
1252
				counter++;
1238
			}
1253
			}
1239
			offerService.addOfferService(createOfferRequest);
1254
			offerService.addOfferService(createOfferRequest);
1240
		}
1255
		}
1241
	}
1256
	}
1242
 
1257
 
1243
	
-
 
1244
	@Autowired
1258
	@Autowired
1245
	private WarehouseScanRepository warehouseScanRepository;
1259
	private WarehouseScanRepository warehouseScanRepository;
1246
 
1260
 
1247
	@Autowired
1261
	@Autowired
1248
	private WarehouseInventoryService warehouseInventoryService;
1262
	private WarehouseInventoryService warehouseInventoryService;
1249
	
1263
 
1250
	public void fixScans() {
1264
	public void fixScans() {
1251
		Map<Integer, Integer> inventoryOrderMap = new HashMap<>();
1265
		Map<Integer, Integer> inventoryOrderMap = new HashMap<>();
1252
		inventoryOrderMap.put(348795,1628598);
1266
		inventoryOrderMap.put(348795, 1628598);
1253
		inventoryOrderMap.put(348796,1628599);
1267
		inventoryOrderMap.put(348796, 1628599);
1254
		inventoryOrderMap.put(329854,1628600);
1268
		inventoryOrderMap.put(329854, 1628600);
1255
		inventoryOrderMap.put(334197,1628602);
1269
		inventoryOrderMap.put(334197, 1628602);
1256
		inventoryOrderMap.put(330110,1628603);
1270
		inventoryOrderMap.put(330110, 1628603);
1257
		inventoryOrderMap.put(330111,1628604);
1271
		inventoryOrderMap.put(330111, 1628604);
1258
		inventoryOrderMap.put(332843,1628605);
1272
		inventoryOrderMap.put(332843, 1628605);
1259
		inventoryOrderMap.put(338067,1628606);
1273
		inventoryOrderMap.put(338067, 1628606);
1260
		inventoryOrderMap.put(338974,1628609);
1274
		inventoryOrderMap.put(338974, 1628609);
1261
		inventoryOrderMap.put(338975,1628610);
1275
		inventoryOrderMap.put(338975, 1628610);
1262
		inventoryOrderMap.put(338971,1628612);
1276
		inventoryOrderMap.put(338971, 1628612);
1263
		inventoryOrderMap.put(338588,1628615);
1277
		inventoryOrderMap.put(338588, 1628615);
1264
		inventoryOrderMap.put(368205,1631619);
1278
		inventoryOrderMap.put(368205, 1631619);
1265
		inventoryOrderMap.put(368206,1631620);
1279
		inventoryOrderMap.put(368206, 1631620);
1266
		inventoryOrderMap.put(368207,1631621);
1280
		inventoryOrderMap.put(368207, 1631621);
1267
		inventoryOrderMap.put(368208,1631622);
1281
		inventoryOrderMap.put(368208, 1631622);
1268
		inventoryOrderMap.put(368209,1631623);
1282
		inventoryOrderMap.put(368209, 1631623);
1269
		inventoryOrderMap.put(368211,1631625);
1283
		inventoryOrderMap.put(368211, 1631625);
1270
		inventoryOrderMap.put(368213,1631627);
1284
		inventoryOrderMap.put(368213, 1631627);
1271
		inventoryOrderMap.put(368214,1631628);
1285
		inventoryOrderMap.put(368214, 1631628);
1272
		inventoryOrderMap.put(368203,1631629);
1286
		inventoryOrderMap.put(368203, 1631629);
1273
		inventoryOrderMap.put(368216,1631630);
1287
		inventoryOrderMap.put(368216, 1631630);
1274
		inventoryOrderMap.put(368217,1631631);
1288
		inventoryOrderMap.put(368217, 1631631);
1275
		inventoryOrderMap.put(368218,1631632);
1289
		inventoryOrderMap.put(368218, 1631632);
1276
		inventoryOrderMap.put(368219,1631633);
1290
		inventoryOrderMap.put(368219, 1631633);
1277
		inventoryOrderMap.put(368222,1631635);
1291
		inventoryOrderMap.put(368222, 1631635);
-
 
1292
		List<WarehouseScan> scans = warehouseScanRepository
1278
		List<WarehouseScan> scans = warehouseScanRepository.selectAllByInventoryItemIds(new ArrayList<>(inventoryOrderMap.keySet()));
1293
				.selectAllByInventoryItemIds(new ArrayList<>(inventoryOrderMap.keySet()));
1279
		Map<Integer, List<WarehouseScan>> inventoryScansMap = scans.stream().collect(Collectors.groupingBy(WarehouseScan::getInventoryItemId));
1294
		Map<Integer, List<WarehouseScan>> inventoryScansMap = scans.stream()
-
 
1295
				.collect(Collectors.groupingBy(WarehouseScan::getInventoryItemId));
1280
		
1296
 
1281
		for(Map.Entry<Integer, List<WarehouseScan>> mapEntry : inventoryScansMap.entrySet()) {
1297
		for (Map.Entry<Integer, List<WarehouseScan>> mapEntry : inventoryScansMap.entrySet()) {
1282
			int inventoryItemId = mapEntry.getKey();
1298
			int inventoryItemId = mapEntry.getKey();
-
 
1299
			List<WarehouseScan> duplicateScans = mapEntry.getValue().stream().filter(
1283
			List<WarehouseScan> duplicateScans = mapEntry.getValue().stream().filter(x->x.getOrderId() != null && x.getOrderId().equals(inventoryOrderMap.get(inventoryItemId))).collect(Collectors.toList());
1300
					x -> x.getOrderId() != null && x.getOrderId().equals(inventoryOrderMap.get(inventoryItemId)))
-
 
1301
					.collect(Collectors.toList());
1284
			WarehouseScan duplicateScan = duplicateScans.stream().skip(1).findFirst().get();
1302
			WarehouseScan duplicateScan = duplicateScans.stream().skip(1).findFirst().get();
1285
			warehouseScanRepository.delete(duplicateScan);
1303
			warehouseScanRepository.delete(duplicateScan);
1286
			warehouseInventoryService.addQuantity(duplicateScan.getInventoryItemId(), duplicateScan.getQuantity());
1304
			warehouseInventoryService.addQuantity(duplicateScan.getInventoryItemId(), duplicateScan.getQuantity());
1287
			
1305
 
1288
		}
1306
		}
1289
		
1307
 
1290
	}
1308
	}
1291
 
1309
 
1292
	public void fixOffer() throws Exception {
1310
	public void fixOffer() throws Exception {
1293
		List<Integer> offerIds = Arrays.asList(228, 241,242, 243,244, 253);
1311
		List<Integer> offerIds = Arrays.asList(228, 241, 242, 243, 244, 253);
1294
		List<Integer> fofoIds = fofoStoreRepository.selectAll().stream().filter(x->x.getWarehouseId()==7678).map(x->x.getId()).collect(Collectors.toList());
1312
		List<Integer> fofoIds = fofoStoreRepository.selectAll().stream().filter(x -> x.getWarehouseId() == 7678)
-
 
1313
				.map(x -> x.getId()).collect(Collectors.toList());
1295
		LOGGER.info("UP West Partner Ids - {}", fofoIds);
1314
		LOGGER.info("UP West Partner Ids - {}", fofoIds);
1296
		for(int offerId : offerIds) {
1315
		for (int offerId : offerIds) {
1297
			Offer offer =  offerRepository.selectById(offerId);
1316
			Offer offer = offerRepository.selectById(offerId);
1298
			
1317
 
1299
			PartnerCriteria partnerCriteria = gson.fromJson(offer.getPartnerCriteria(), PartnerCriteria.class);
1318
			PartnerCriteria partnerCriteria = gson.fromJson(offer.getPartnerCriteria(), PartnerCriteria.class);
1300
			LOGGER.info("Offer Partner Ids - {}", partnerCriteria.getFofoIds());
1319
			LOGGER.info("Offer Partner Ids - {}", partnerCriteria.getFofoIds());
1301
			for (Integer fofoId : fofoIds) {
1320
			for (Integer fofoId : fofoIds) {
1302
				if(partnerCriteria.getFofoIds().contains(fofoId)) {
1321
				if (partnerCriteria.getFofoIds().contains(fofoId)) {
1303
					//This shoud be removed
1322
					// This shoud be removed
-
 
1323
					LOGGER.info("This shoud be removed FofoStore Code - {}",
1304
					LOGGER.info("This shoud be removed FofoStore Code - {}", fofoStoreRepository.selectByRetailerId(fofoId).getCode());
1324
							fofoStoreRepository.selectByRetailerId(fofoId).getCode());
1305
					partnerCriteria.getFofoIds().remove(fofoId);
1325
					partnerCriteria.getFofoIds().remove(fofoId);
1306
				}
1326
				}
1307
			}
1327
			}
1308
			offer.setPartnerCriteria(gson.toJson(partnerCriteria));
1328
			offer.setPartnerCriteria(gson.toJson(partnerCriteria));
1309
		}
1329
		}
1310
	}
1330
	}
1311
	
1331
 
1312
	public void reverseMaa() throws Exception {
1332
	public void reverseMaa() throws Exception {
-
 
1333
		Purchase purchase = purchaseRepository.selectById(28877);
1313
		Set<Integer> inventoryItemIds = inventoryItemRepository.selectByPurchaseId(28877).stream().map(x->x.getId()).collect(Collectors.toSet());
1334
		Set<Integer> inventoryItemIds = inventoryItemRepository.selectByPurchaseId(28877).stream().map(x -> x.getId())
-
 
1335
				.collect(Collectors.toSet());
1314
			double totalAmount = schemeInOutRepository.selectByInventoryItemIds(inventoryItemIds).stream().filter(x->x.getRolledBackTimestamp()!=null || x.getStatusDescription().contains("investment"))
1336
		double totalAmount = schemeInOutRepository.selectByInventoryItemIds(inventoryItemIds).stream()
-
 
1337
				.filter(x -> x.getRolledBackTimestamp() == null || x.getStatusDescription().contains("investment"))
-
 
1338
				.map(x -> {
1315
					//.map(x->x.setRolledBackTimestamp(null))
1339
					x.setRolledBackTimestamp(LocalDateTime.now());
-
 
1340
					x.setStatus(SchemePayoutStatus.REJECTED);
-
 
1341
					x.setStatusDescription("Invoice-NSLCK3350 was cancelled, hence all schemes were rolled back");
-
 
1342
					return x;
-
 
1343
				})
1316
					.collect(Collectors.summingDouble(x->x.getAmount()));
1344
				.collect(Collectors.summingDouble(x -> x.getAmount()));
-
 
1345
		WalletReferenceType walletReferenceType = WalletReferenceType.OTHERS;
-
 
1346
		ManualPaymentType paymentType = manualPaymentRequestRepository.selectByReferenceType(walletReferenceType);
-
 
1347
		if (paymentType == null) {
-
 
1348
			paymentType = new ManualPaymentType();
-
 
1349
			paymentType.setReferenceType(walletReferenceType);
-
 
1350
			manualPaymentRequestRepository.persist(paymentType);
-
 
1351
		}
-
 
1352
		paymentType.setCounter(paymentType.getCounter() + 1);
-
 
1353
		int reference = paymentType.getCounter();
-
 
1354
		walletService.consumeAmountFromWallet(purchase.getFofoId(), (int)totalAmount, WalletReferenceType.OTHERS, ACCOUNT_ID, reference, LocalDateTime.now());
1317
			LOGGER.info("Total Deduction is around Rs. {}", totalAmount);
1355
		LOGGER.info("Total Deduction is around Rs. {}", totalAmount);
1318
	}
1356
	}
1319
 
1357
 
1320
}
1358
}
1321
 
1359
 
1322
//7015845171
1360
//7015845171
1323
1361