Subversion Repositories SmartDukaan

Rev

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

Rev 29860 Rev 29863
Line 21... Line 21...
21
import java.util.concurrent.TimeUnit;
21
import java.util.concurrent.TimeUnit;
22
import java.util.stream.Collectors;
22
import java.util.stream.Collectors;
23
 
23
 
24
import org.apache.commons.io.output.ByteArrayOutputStream;
24
import org.apache.commons.io.output.ByteArrayOutputStream;
25
import org.apache.commons.lang.StringUtils;
25
import org.apache.commons.lang.StringUtils;
26
import org.apache.logging.log4j.LogManager;
-
 
27
import org.apache.logging.log4j.Logger;
-
 
28
import org.json.JSONArray;
26
import org.json.JSONArray;
29
import org.json.JSONObject;
27
import org.json.JSONObject;
30
import org.openqa.selenium.Dimension;
28
import org.openqa.selenium.Dimension;
31
import org.openqa.selenium.OutputType;
29
import org.openqa.selenium.OutputType;
32
import org.openqa.selenium.TakesScreenshot;
30
import org.openqa.selenium.TakesScreenshot;
Line 54... Line 52...
54
import com.spice.profitmandi.common.util.Utils;
52
import com.spice.profitmandi.common.util.Utils;
55
import com.spice.profitmandi.dao.entity.catalog.Item;
53
import com.spice.profitmandi.dao.entity.catalog.Item;
56
import com.spice.profitmandi.dao.entity.catalog.Offer;
54
import com.spice.profitmandi.dao.entity.catalog.Offer;
57
import com.spice.profitmandi.dao.entity.catalog.Scheme;
55
import com.spice.profitmandi.dao.entity.catalog.Scheme;
58
import com.spice.profitmandi.dao.entity.catalog.TagListing;
56
import com.spice.profitmandi.dao.entity.catalog.TagListing;
-
 
57
import com.spice.profitmandi.dao.entity.dtr.Document;
59
import com.spice.profitmandi.dao.entity.dtr.PaymentOptionTransaction;
58
import com.spice.profitmandi.dao.entity.dtr.PaymentOptionTransaction;
60
import com.spice.profitmandi.dao.entity.fofo.CurrentInventorySnapshot;
59
import com.spice.profitmandi.dao.entity.fofo.CurrentInventorySnapshot;
61
import com.spice.profitmandi.dao.entity.fofo.DebitNote;
60
import com.spice.profitmandi.dao.entity.fofo.DebitNote;
-
 
61
import com.spice.profitmandi.dao.entity.fofo.FofoKyc;
62
import com.spice.profitmandi.dao.entity.fofo.FofoLineItem;
62
import com.spice.profitmandi.dao.entity.fofo.FofoLineItem;
63
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
63
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
64
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
64
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
65
import com.spice.profitmandi.dao.entity.fofo.FofoStore;
65
import com.spice.profitmandi.dao.entity.fofo.FofoStore;
66
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
66
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
67
import com.spice.profitmandi.dao.entity.fofo.PartnerDailyInvestment;
67
import com.spice.profitmandi.dao.entity.fofo.PartnerDailyInvestment;
-
 
68
import com.spice.profitmandi.dao.entity.fofo.PartnerOnBoardingPanel;
68
import com.spice.profitmandi.dao.entity.fofo.PartnerType;
69
import com.spice.profitmandi.dao.entity.fofo.PartnerType;
69
import com.spice.profitmandi.dao.entity.fofo.PrebookingOrder;
70
import com.spice.profitmandi.dao.entity.fofo.PrebookingOrder;
70
import com.spice.profitmandi.dao.entity.fofo.Purchase;
71
import com.spice.profitmandi.dao.entity.fofo.Purchase;
71
import com.spice.profitmandi.dao.entity.fofo.PurchaseReturnItem;
72
import com.spice.profitmandi.dao.entity.fofo.PurchaseReturnItem;
72
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
73
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
Line 100... Line 101...
100
import com.spice.profitmandi.dao.repository.catalog.ManualPaymentRequestRepository;
101
import com.spice.profitmandi.dao.repository.catalog.ManualPaymentRequestRepository;
101
import com.spice.profitmandi.dao.repository.catalog.OfferRepository;
102
import com.spice.profitmandi.dao.repository.catalog.OfferRepository;
102
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
103
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
103
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
104
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
104
import com.spice.profitmandi.dao.repository.cs.CsService;
105
import com.spice.profitmandi.dao.repository.cs.CsService;
-
 
106
import com.spice.profitmandi.dao.repository.dtr.DocumentRepository;
105
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
107
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
106
import com.spice.profitmandi.dao.repository.dtr.LeadRepository;
108
import com.spice.profitmandi.dao.repository.dtr.LeadRepository;
107
import com.spice.profitmandi.dao.repository.dtr.Mongo;
109
import com.spice.profitmandi.dao.repository.dtr.Mongo;
-
 
110
import com.spice.profitmandi.dao.repository.dtr.PartnerOnBoardingPanelRepository;
108
import com.spice.profitmandi.dao.repository.dtr.PaymentOptionTransactionRepository;
111
import com.spice.profitmandi.dao.repository.dtr.PaymentOptionTransactionRepository;
109
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
112
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
110
import com.spice.profitmandi.dao.repository.fofo.DebitNoteRepository;
113
import com.spice.profitmandi.dao.repository.fofo.DebitNoteRepository;
111
import com.spice.profitmandi.dao.repository.fofo.FofoLineItemRepository;
114
import com.spice.profitmandi.dao.repository.fofo.FofoLineItemRepository;
112
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
115
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
Line 133... Line 136...
133
import com.spice.profitmandi.dao.repository.transaction.ReturnOrderRepository;
136
import com.spice.profitmandi.dao.repository.transaction.ReturnOrderRepository;
134
import com.spice.profitmandi.dao.repository.transaction.SellerWarehouseRepository;
137
import com.spice.profitmandi.dao.repository.transaction.SellerWarehouseRepository;
135
import com.spice.profitmandi.dao.repository.transaction.UserWalletHistoryRepository;
138
import com.spice.profitmandi.dao.repository.transaction.UserWalletHistoryRepository;
136
import com.spice.profitmandi.dao.repository.transaction.UserWalletRepository;
139
import com.spice.profitmandi.dao.repository.transaction.UserWalletRepository;
137
import com.spice.profitmandi.dao.repository.user.AddressRepository;
140
import com.spice.profitmandi.dao.repository.user.AddressRepository;
-
 
141
import com.spice.profitmandi.dao.repository.user.FofoKycRepository;
138
import com.spice.profitmandi.dao.repository.user.UserRepository;
142
import com.spice.profitmandi.dao.repository.user.UserRepository;
139
import com.spice.profitmandi.dao.repository.warehouse.BrandRegionMappingRepository;
143
import com.spice.profitmandi.dao.repository.warehouse.BrandRegionMappingRepository;
140
import com.spice.profitmandi.dao.repository.warehouse.WarehouseInventoryItemRepository;
144
import com.spice.profitmandi.dao.repository.warehouse.WarehouseInventoryItemRepository;
141
import com.spice.profitmandi.dao.repository.warehouse.WarehouseScanRepository;
145
import com.spice.profitmandi.dao.repository.warehouse.WarehouseScanRepository;
142
import com.spice.profitmandi.service.inventory.InventoryService;
146
import com.spice.profitmandi.service.inventory.InventoryService;
Line 412... Line 416...
412
					hdfcPayment.getTransferMode(), hdfcPayment.getUtr());
416
					hdfcPayment.getTransferMode(), hdfcPayment.getUtr());
413
			walletService.addAmountToWallet(retailerId, hdfcPayment.getId(), WalletReferenceType.AUTOMATED_ADVANCE,
417
			walletService.addAmountToWallet(retailerId, hdfcPayment.getId(), WalletReferenceType.AUTOMATED_ADVANCE,
414
					description, (float) hdfcPayment.getAmount(), hdfcPayment.getCreditTimestamp());
418
					description, (float) hdfcPayment.getAmount(), hdfcPayment.getCreditTimestamp());
415
		}
419
		}
416
	}
420
	}
-
 
421
 
417
	//Bug in original migrate purchase
422
	// Bug in original migrate purchase
418
	public void migratePurchase() throws Exception {
423
	public void migratePurchase() throws Exception {
419
		List<Purchase> purchases = purchaseRepository.selectPurchaseAllPurchasesLessThanZero();
424
		List<Purchase> purchases = purchaseRepository.selectPurchaseAllPurchasesLessThanZero();
420
		for (Purchase purchase : purchases) {
425
		for (Purchase purchase : purchases) {
421
			List<InventoryItem> inventoryItems = inventoryItemRepository.selectByPurchaseId(purchase.getId());
426
			List<InventoryItem> inventoryItems = inventoryItemRepository.selectByPurchaseId(purchase.getId());
422
			for(InventoryItem ii : inventoryItems) {
427
			for (InventoryItem ii : inventoryItems) {
423
				List<ScanRecord> scans = scanRecordRepository.selectByInventoryItemId(ii.getId());
428
				List<ScanRecord> scans = scanRecordRepository.selectByInventoryItemId(ii.getId());
424
				if(scans.size()==1 && scans.get(0).getQuantity()==0) {
429
				if (scans.size() == 1 && scans.get(0).getQuantity() == 0) {
425
					scanRecordRepository.delete(scans.get(0));
430
					scanRecordRepository.delete(scans.get(0));
426
					purchase.setNonSerializedQuantity(purchase.getNonSerializedQuantity()-ii.getInitialQuantity());
431
					purchase.setNonSerializedQuantity(purchase.getNonSerializedQuantity() - ii.getInitialQuantity());
427
					inventoryItemRepository.delete(ii);
432
					inventoryItemRepository.delete(ii);
428
				}
433
				}
429
				
434
 
430
			}
435
			}
431
			
436
 
432
		}
437
		}
433
	}
438
	}
434
 
439
 
435
	public void migratePurchaseFix() throws Exception {
440
	public void migratePurchaseFix() throws Exception {
436
		List<Purchase> purchases = purchaseRepository.selectPurchaseAllPurchasesLessThanZero();
441
		List<Purchase> purchases = purchaseRepository.selectPurchaseAllPurchasesLessThanZero();
Line 1035... Line 1040...
1035
		}
1040
		}
1036
 
1041
 
1037
	}
1042
	}
1038
 
1043
 
1039
	public void printPendingLeads() {
1044
	public void printPendingLeads() {
1040
		LOGGER.info("PENDING LEADES {}", leadRepository
1045
		LOGGER.info("PENDING LEADES {}", leadRepository.selectLeadsScheduledBetweenDate(null,
1041
				.selectLeadsScheduledBetweenDate(null, LocalDateTime.now().minusDays(15), LocalDateTime.now().plusHours(4)));
1046
				LocalDateTime.now().minusDays(15), LocalDateTime.now().plusHours(4)));
1042
	}
1047
	}
1043
 
1048
 
1044
	public void removeDuplicateOrders() throws Exception {
1049
	public void removeDuplicateOrders() throws Exception {
1045
		List<String> invoiceNumbers = Arrays.asList(/*
1050
		List<String> invoiceNumbers = Arrays.asList(/*
1046
													 * "DLWE066/1108", "DLWE066/299", "DLWE066/348", "HRFB004/242",
1051
													 * "DLWE066/1108", "DLWE066/299", "DLWE066/348", "HRFB004/242",
Line 1427... Line 1432...
1427
 
1432
 
1428
	@Autowired
1433
	@Autowired
1429
	PartnerDailyInvestmentRepository partnerDailyInvestmentRepository;
1434
	PartnerDailyInvestmentRepository partnerDailyInvestmentRepository;
1430
 
1435
 
1431
	public void addInvestment() {
1436
	public void addInvestment() {
1432
		List<LocalDate> dates = Arrays.asList(
1437
		List<LocalDate> dates = Arrays.asList(LocalDate.of(2021, 12, 19));
1433
				LocalDate.of(2021, 12, 19)
-
 
1434
				);
-
 
1435
		// List<Integer> fofoIds = Arrays.asList(175136207, 175138910, 175138967,
1438
		// List<Integer> fofoIds = Arrays.asList(175136207, 175138910, 175138967,
1436
		// 175138990, 175138999);
1439
		// 175138990, 175138999);
1437
		for (LocalDate date : dates) {
1440
		for (LocalDate date : dates) {
1438
			LOGGER.info("Date - {}", date);
1441
			LOGGER.info("Date - {}", date);
1439
			Map<Integer, PartnerDailyInvestment> investmentMap = partnerDailyInvestmentRepository
1442
			Map<Integer, PartnerDailyInvestment> investmentMap = partnerDailyInvestmentRepository
Line 1502... Line 1505...
1502
		}
1505
		}
1503
	}
1506
	}
1504
 
1507
 
1505
	public void reverseSchemes(String invoiceNumber) throws Exception {
1508
	public void reverseSchemes(String invoiceNumber) throws Exception {
1506
		FofoOrder fofoOrder = fofoOrderRepository.selectByInvoiceNumber(invoiceNumber);
1509
		FofoOrder fofoOrder = fofoOrderRepository.selectByInvoiceNumber(invoiceNumber);
1507
		if(fofoOrder.getCancelledTimestamp()!=null) {
1510
		if (fofoOrder.getCancelledTimestamp() != null) {
1508
			orderService.reverseScheme(fofoOrder);
1511
			orderService.reverseScheme(fofoOrder);
1509
		}
1512
		}
1510
	}
1513
	}
1511
 
1514
 
1512
	@Autowired
1515
	@Autowired
1513
	PartnerTypeChangeService partnerTypeChangeService;
1516
	PartnerTypeChangeService partnerTypeChangeService;
-
 
1517
 
1514
	public void runMe() {
1518
	public void runMe() {
-
 
1519
		System.out.println("runme ==== " + fofoOrderItemRepository.selectSumMopGroupByRetailer(
1515
		System.out.println("runme ==== " +   fofoOrderItemRepository.selectSumMopGroupByRetailer(LocalDate.of(2021, 11, 1).atStartOfDay(), LocalDate.of(2021, 12, 1).atStartOfDay(), 175138408, false));
1520
				LocalDate.of(2021, 11, 1).atStartOfDay(), LocalDate.of(2021, 12, 1).atStartOfDay(), 175138408, false));
1516
		System.out.println("change " +  partnerTypeChangeService.getTypeOnDate(175138408, LocalDate.now()));
1521
		System.out.println("change " + partnerTypeChangeService.getTypeOnDate(175138408, LocalDate.now()));
1517
	}
1522
	}
1518
 
1523
 
1519
	public void createOffers(FileInputStream stream) throws Exception {
1524
	public void createOffers(FileInputStream stream) throws Exception {
1520
		offerService.createOffers(stream);
1525
		offerService.createOffers(stream);
1521
	}
1526
	}
1522
 
1527
 
1523
	@Autowired
1528
	@Autowired
1524
	MandiiService mandiiService;
1529
	MandiiService mandiiService;
-
 
1530
 
-
 
1531
	@Autowired
-
 
1532
	FofoKycRepository fofoKycRepository;
1525
	
1533
 
-
 
1534
	@Autowired
-
 
1535
	PartnerOnBoardingPanelRepository partnerOnBoardingPanelRepository;
-
 
1536
 
-
 
1537
	@Autowired
-
 
1538
	DocumentRepository documentRepository;
-
 
1539
 
1526
	@Autowired
1540
	@Autowired
1527
	com.spice.profitmandi.dao.repository.dtr.UserRepository dtrUserRepository;
1541
	com.spice.profitmandi.dao.repository.dtr.UserRepository dtrUserRepository;
1528
	
1542
 
1529
	public void mandiiUser(String firstName, String lastName, String pan, String dob, String aadhaar, String gender, String father) throws Exception {
1543
	public void mandiiUser(String firstName, String lastName, String pan, String dob, String aadhaar, String gender,
-
 
1544
			String father) throws Exception {
1530
		FofoStore fs = fofoStoreRepository.selectByPan(pan);
1545
		FofoStore fs = fofoStoreRepository.selectByPan(pan);
1531
		CustomRetailer cr = retailerService.getFofoRetailer(fs.getId());
1546
		CustomRetailer cr = retailerService.getFofoRetailer(fs.getId());
1532
		com.spice.profitmandi.dao.entity.dtr.User dtrUser = dtrUserRepository.selectByEmailId(cr.getEmail());
1547
		com.spice.profitmandi.dao.entity.dtr.User dtrUser = dtrUserRepository.selectByEmailId(cr.getEmail());
1533
		MandiiUser mandiiUser = mandiiService.getUser(dtrUser.getFirstName(),dtrUser.getLastName(),cr.getEmail(),pan,cr.getMobileNumber(),  
1548
		MandiiUser mandiiUser = mandiiService.getUser(dtrUser.getFirstName(), dtrUser.getLastName(), father,
-
 
1549
				Gender.valueOf(gender), cr.getEmail(), pan, cr.getMobileNumber(), LocalDate.parse(dob),
1534
				LocalDate.parse(dob), cr.getAddress().getLine1() + " " + cr.getAddress().getLine2(),cr.getAddress().getCity(), cr.getAddress().getState(), cr.getAddress().getPinCode());
1550
				cr.getAddress().getLine1() + " " + cr.getAddress().getLine2(), cr.getAddress().getCity(),
-
 
1551
				cr.getAddress().getState(), cr.getAddress().getPinCode());
1535
		mandiiUser.setFatherName(father);
1552
		mandiiUser.setFatherName(father);
1536
		if(StringUtils.isNotEmpty(firstName)) {
1553
		if (StringUtils.isNotEmpty(firstName)) {
1537
			mandiiUser.setFirstName(firstName);
1554
			mandiiUser.setFirstName(firstName);
1538
			mandiiUser.setLastName(lastName);
1555
			mandiiUser.setLastName(lastName);
1539
		}
1556
		}
1540
		if(StringUtils.isNotEmpty(father)) {
1557
		if (StringUtils.isNotEmpty(father)) {
1541
			mandiiUser.setFatherName(father);
1558
			mandiiUser.setFatherName(father);
1542
		}
1559
		}
1543
		if(StringUtils.isNotEmpty(aadhaar)) {
1560
		if (StringUtils.isNotEmpty(aadhaar)) {
1544
			mandiiUser.setAadharNumber(aadhaar);
1561
			mandiiUser.setAadharNumber(aadhaar);
1545
		}
1562
		}
1546
		mandiiUser.setGender(Gender.valueOf(gender));
1563
		mandiiUser.setGender(Gender.valueOf(gender));
1547
		mandiiService.createAccount(cr.getBusinessName(), mandiiUser);
1564
		mandiiService.createAccount(cr.getBusinessName(), mandiiUser);
1548
	}
1565
	}
1549
 
1566
 
-
 
1567
	public void mandiiUsers(String pan) throws Exception {
-
 
1568
		FofoStore fs = fofoStoreRepository.selectByPan(pan);
-
 
1569
 
-
 
1570
		PartnerOnBoardingPanel pob = partnerOnBoardingPanelRepository.selectByCode(fs.getCode());
-
 
1571
		List<FofoKyc> fofoKycs = fofoKycRepository.selectByPartnerOnBoardingId(pob.getId());
-
 
1572
		CustomRetailer cr = retailerService.getFofoRetailer(fs.getId());
-
 
1573
		com.spice.profitmandi.dao.entity.dtr.User dtrUser = dtrUserRepository.selectByEmailId(cr.getEmail());
-
 
1574
 
-
 
1575
		for (FofoKyc fk : fofoKycs) {
-
 
1576
 
-
 
1577
			MandiiUser mandiiUser = mandiiService.getUser(fk.getFirstName(), fk.getLastName(), fk.getFatherName(),
-
 
1578
					fk.getGender(), fk.getEmail(), pan, fk.getMobile(), fk.getDob(),
-
 
1579
					fk.getAddress1() + " " + fk.getAddress2() + " " + fk.getAddress3(), fk.getCity(), fk.getState(),
-
 
1580
					fk.getPincode());
-
 
1581
 
-
 
1582
			LOGGER.info("mandiiUser" + mandiiUser);
-
 
1583
 
-
 
1584
			Document panDoc = documentRepository.selectById(fk.getPanDoc());
-
 
1585
			File fPan = new File(panDoc.getPath() + panDoc.getName());
-
 
1586
			String encodeString = encodeFileToBase64Binary(fPan);
-
 
1587
 
-
 
1588
			LOGGER.info("encodstring" + encodeString);
-
 
1589
 
-
 
1590
			mandiiService.documentUpload(pan, fk.getMobile(), "PAN", encodeString, null);
-
 
1591
 
-
 
1592
			Document adhaarF = documentRepository.selectById(fk.getPoaFront());
-
 
1593
			File adharf = new File(adhaarF.getPath() + adhaarF.getName());
-
 
1594
			String adhaarFEncodstring = encodeFileToBase64Binary(adharf);
-
 
1595
			mandiiService.documentUpload(pan, fk.getMobile(), "AADHAAR", adhaarFEncodstring, "FRONT");
-
 
1596
 
-
 
1597
			Document adhaarB = documentRepository.selectById(fk.getPoaBack());
-
 
1598
			File adharb = new File(adhaarB.getPath() + adhaarF.getName());
-
 
1599
			String adhaarBEncodstring = encodeFileToBase64Binary(adharb);
-
 
1600
			mandiiService.documentUpload(pan, fk.getMobile(), "AADHAAR", adhaarBEncodstring, "BACK");
-
 
1601
 
-
 
1602
			mandiiService.createAccount(cr.getBusinessName(), mandiiUser);
-
 
1603
 
-
 
1604
		}
-
 
1605
	}
-
 
1606
 
-
 
1607
	private static String encodeFileToBase64Binary(File file) throws Exception {
-
 
1608
		FileInputStream fileInputStreamReader = new FileInputStream(file);
-
 
1609
		byte[] bytes = new byte[(int) file.length()];
-
 
1610
		fileInputStreamReader.read(bytes);
-
 
1611
		return new String(Base64.getEncoder().encodeToString(bytes));
-
 
1612
	}
-
 
1613
 
1550
}
1614
}
1551
 
1615
 
1552
//7015845171
1616
//7015845171
1553
1617