Subversion Repositories SmartDukaan

Rev

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

Rev 26566 Rev 26790
Line 94... Line 94...
94
import com.spice.profitmandi.dao.entity.transaction.UserWalletHistory;
94
import com.spice.profitmandi.dao.entity.transaction.UserWalletHistory;
95
import com.spice.profitmandi.dao.entity.user.Address;
95
import com.spice.profitmandi.dao.entity.user.Address;
96
import com.spice.profitmandi.dao.entity.user.Device;
96
import com.spice.profitmandi.dao.entity.user.Device;
97
import com.spice.profitmandi.dao.entity.user.FranchiseeVisit;
97
import com.spice.profitmandi.dao.entity.user.FranchiseeVisit;
98
import com.spice.profitmandi.dao.entity.user.Lead;
98
import com.spice.profitmandi.dao.entity.user.Lead;
-
 
99
import com.spice.profitmandi.dao.entity.user.Refferal;
99
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
100
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
100
import com.spice.profitmandi.dao.enumuration.cs.EscalationType;
101
import com.spice.profitmandi.dao.enumuration.cs.EscalationType;
-
 
102
import com.spice.profitmandi.dao.enumuration.dtr.RefferalStatus;
101
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
103
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
102
import com.spice.profitmandi.dao.enumuration.transaction.PriceDropImeiStatus;
104
import com.spice.profitmandi.dao.enumuration.transaction.PriceDropImeiStatus;
103
import com.spice.profitmandi.dao.model.AddPaymentRequest;
105
import com.spice.profitmandi.dao.model.AddPaymentRequest;
104
import com.spice.profitmandi.dao.model.AddPaymentResponse;
106
import com.spice.profitmandi.dao.model.AddPaymentResponse;
105
import com.spice.profitmandi.dao.model.SimpleCampaign;
107
import com.spice.profitmandi.dao.model.SimpleCampaign;
Line 122... Line 124...
122
import com.spice.profitmandi.dao.repository.dtr.NotificationCampaignRepository;
124
import com.spice.profitmandi.dao.repository.dtr.NotificationCampaignRepository;
123
import com.spice.profitmandi.dao.repository.dtr.PushNotificationRepository;
125
import com.spice.profitmandi.dao.repository.dtr.PushNotificationRepository;
124
import com.spice.profitmandi.dao.repository.dtr.RechargeProviderCreditWalletHistoryRepository;
126
import com.spice.profitmandi.dao.repository.dtr.RechargeProviderCreditWalletHistoryRepository;
125
import com.spice.profitmandi.dao.repository.dtr.RechargeProviderRepository;
127
import com.spice.profitmandi.dao.repository.dtr.RechargeProviderRepository;
126
import com.spice.profitmandi.dao.repository.dtr.RechargeTransactionRepository;
128
import com.spice.profitmandi.dao.repository.dtr.RechargeTransactionRepository;
-
 
129
import com.spice.profitmandi.dao.repository.dtr.RefferalRepository;
127
import com.spice.profitmandi.dao.repository.dtr.RetailerRegisteredAddressRepository;
130
import com.spice.profitmandi.dao.repository.dtr.RetailerRegisteredAddressRepository;
128
import com.spice.profitmandi.dao.repository.dtr.UserAccountRepository;
131
import com.spice.profitmandi.dao.repository.dtr.UserAccountRepository;
129
import com.spice.profitmandi.dao.repository.dtr.UserCampaignRepository;
132
import com.spice.profitmandi.dao.repository.dtr.UserCampaignRepository;
130
import com.spice.profitmandi.dao.repository.fofo.ActivatedImeiRepository;
133
import com.spice.profitmandi.dao.repository.fofo.ActivatedImeiRepository;
131
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
134
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
Line 190... Line 193...
190
	@Autowired
193
	@Autowired
191
	private PriceDropService priceDropService;
194
	private PriceDropService priceDropService;
192
 
195
 
193
	@Autowired
196
	@Autowired
194
	private FranchiseeVisitRepository franchiseeVisitRepository;
197
	private FranchiseeVisitRepository franchiseeVisitRepository;
195
	
198
 
196
	@Autowired
199
	@Autowired
197
	private FranchiseeActivityRepository franchiseeActivityRepository;
200
	private FranchiseeActivityRepository franchiseeActivityRepository;
198
	
201
 
199
	@Autowired
202
	@Autowired
200
	private HdfcPaymentRepository hdfcPaymentRepository;
203
	private HdfcPaymentRepository hdfcPaymentRepository;
201
	
204
 
202
	@Autowired
205
	@Autowired
203
	private CsService csService;
206
	private CsService csService;
204
 
207
 
205
	@Autowired
208
	@Autowired
206
	private InsurancePolicyRepository insurancePolicyRepository;
209
	private InsurancePolicyRepository insurancePolicyRepository;
Line 406... Line 409...
406
	private Gson gson;
409
	private Gson gson;
407
 
410
 
408
	@Autowired
411
	@Autowired
409
	private TicketRepository ticketRepository;
412
	private TicketRepository ticketRepository;
410
 
413
 
-
 
414
	@Autowired
-
 
415
	private RefferalRepository refferalRepository;
-
 
416
 
411
	private static final Logger LOGGER = LogManager.getLogger(ScheduledTasks.class);
417
	private static final Logger LOGGER = LogManager.getLogger(ScheduledTasks.class);
412
 
418
 
413
	private String FCM_URL = "https://fcm.googleapis.com/fcm/send";
419
	private String FCM_URL = "https://fcm.googleapis.com/fcm/send";
414
	private String FCM_API_KEY = "AAAASAjNcn4:APA91bG6fWRIgYJI0L9gCjP5ynaXz2hJHYKtD9dfH7Depdv31Nd9APJwhx-OPkAJ1WSz4BGNYG8lHThLFSjDGFxIwUZv241YcAJEGDLgt86mxq9FXJe-yBRu-S0_ZwHqmX-QaVKl5F_A";
420
	private String FCM_API_KEY = "AAAASAjNcn4:APA91bG6fWRIgYJI0L9gCjP5ynaXz2hJHYKtD9dfH7Depdv31Nd9APJwhx-OPkAJ1WSz4BGNYG8lHThLFSjDGFxIwUZv241YcAJEGDLgt86mxq9FXJe-yBRu-S0_ZwHqmX-QaVKl5F_A";
415
 
421
 
Line 708... Line 714...
708
		List<FofoStore> fofoStores = fofoStoreRepository.selectActiveStores();
714
		List<FofoStore> fofoStores = fofoStoreRepository.selectActiveStores();
709
		Map<Integer, CustomRetailer> customRetailerMap = retailerService
715
		Map<Integer, CustomRetailer> customRetailerMap = retailerService
710
				.getFofoRetailers(fofoStores.stream().map(x -> x.getId()).collect(Collectors.toList()));
716
				.getFofoRetailers(fofoStores.stream().map(x -> x.getId()).collect(Collectors.toList()));
711
 
717
 
712
		List<String> headers = Arrays.asList("Code", "Firm Name", "Store Name", "State Manager", "Teritory/Team Lead",
718
		List<String> headers = Arrays.asList("Code", "Firm Name", "Store Name", "State Manager", "Teritory/Team Lead",
713
				"Wallet Amount", "In Stock Amount", "Activated Stock", "Return In Transit Stock", "Unbilled Amount", "Grn Pending Amount",
719
				"Wallet Amount", "In Stock Amount", "Activated Stock", "Return In Transit Stock", "Unbilled Amount",
714
				"Min Investment", "Investment Amount", "Investment Short", "Unbilled Qty", "Short Days");
720
				"Grn Pending Amount", "Min Investment", "Investment Amount", "Investment Short", "Unbilled Qty",
-
 
721
				"Short Days");
715
		List<List<?>> rows = new ArrayList<>();
722
		List<List<?>> rows = new ArrayList<>();
716
		Map<Integer, List<?>> partnerRowsMap = new HashMap<>();
723
		Map<Integer, List<?>> partnerRowsMap = new HashMap<>();
717
 
724
 
718
		Map<Integer, List<Serializable>> partnerIdSalesHeaderMap = this.getPartnerIdSalesHeaders();
725
		Map<Integer, List<Serializable>> partnerIdSalesHeaderMap = this.getPartnerIdSalesHeaders();
719
		
726
 
720
		Map<Integer, Integer> shortDaysMap = partnerDailyInvestmentRepository.selectAll(LocalDate.now().withDayOfMonth(1), LocalDate.now())
727
		Map<Integer, Integer> shortDaysMap = partnerDailyInvestmentRepository
721
		.stream().collect(Collectors.groupingBy(x->x.getFofoId(), 
728
				.selectAll(LocalDate.now().withDayOfMonth(1), LocalDate.now()).stream().collect(Collectors.groupingBy(
722
				Collectors.summingInt(x-> x.getShortPercentage() > 10 ? 1 : 0)));
729
						x -> x.getFofoId(), Collectors.summingInt(x -> x.getShortPercentage() > 10 ? 1 : 0)));
723
 
730
 
724
		for (FofoStore fofoStore : fofoStores) {
731
		for (FofoStore fofoStore : fofoStores) {
725
			int fofoId = fofoStore.getId();
732
			int fofoId = fofoStore.getId();
726
			PartnerDailyInvestment partnerDailyInvestment = partnerInvestmentService.getInvestment(fofoId,1);
733
			PartnerDailyInvestment partnerDailyInvestment = partnerInvestmentService.getInvestment(fofoId, 1);
727
			partnerDailyInvestment.setDate(yesterDay);
734
			partnerDailyInvestment.setDate(yesterDay);
728
			
735
 
729
			try {
736
			try {
730
				partnerDailyInvestmentRepository.persist(partnerDailyInvestment);
737
				partnerDailyInvestmentRepository.persist(partnerDailyInvestment);
-
 
738
				shortDaysMap.put(fofoId,
731
				shortDaysMap.put(fofoId, shortDaysMap.get(fofoId) + (partnerDailyInvestment.getShortPercentage() > 10 ? 1 : 0));
739
						shortDaysMap.get(fofoId) + (partnerDailyInvestment.getShortPercentage() > 10 ? 1 : 0));
732
			} catch (Exception e) {
740
			} catch (Exception e) {
733
				// ignore the exceptions during persist
741
				// ignore the exceptions during persist
734
			}
742
			}
735
 
743
 
736
			CustomRetailer retailer = customRetailerMap.get(fofoStore.getId());
744
			CustomRetailer retailer = customRetailerMap.get(fofoStore.getId());
Line 739... Line 747...
739
				continue;
747
				continue;
740
			}
748
			}
741
			List<Serializable> row = partnerIdSalesHeaderMap.get(fofoStore.getId());
749
			List<Serializable> row = partnerIdSalesHeaderMap.get(fofoStore.getId());
742
			row.addAll(
750
			row.addAll(
743
					Arrays.asList(partnerDailyInvestment.getWalletAmount(), partnerDailyInvestment.getInStockAmount(),
751
					Arrays.asList(partnerDailyInvestment.getWalletAmount(), partnerDailyInvestment.getInStockAmount(),
744
							partnerDailyInvestment.getActivatedStockAmount() == 0 ? "-":"("+partnerDailyInvestment.getActivatedStockAmount()+")",
752
							partnerDailyInvestment.getActivatedStockAmount() == 0 ? "-"
-
 
753
									: "(" + partnerDailyInvestment.getActivatedStockAmount() + ")",
745
							0, partnerDailyInvestment.getUnbilledAmount(), partnerDailyInvestment.getGrnPendingAmount(),
754
							0, partnerDailyInvestment.getUnbilledAmount(), partnerDailyInvestment.getGrnPendingAmount(),
746
							partnerDailyInvestment.getMinInvestment(), partnerDailyInvestment.getTotalInvestment(),
755
							partnerDailyInvestment.getMinInvestment(), partnerDailyInvestment.getTotalInvestment(),
747
							partnerDailyInvestment.getShortInvestment(), partnerDailyInvestment.getUnbilledQty(),shortDaysMap.get(fofoId)));
756
							partnerDailyInvestment.getShortInvestment(), partnerDailyInvestment.getUnbilledQty(),
-
 
757
							shortDaysMap.get(fofoId)));
748
			partnerRowsMap.put(fofoStore.getId(), row);
758
			partnerRowsMap.put(fofoStore.getId(), row);
749
			rows.add(row);
759
			rows.add(row);
750
 
760
 
751
		}
761
		}
752
 
762
 
Line 788... Line 798...
788
				if (!partnerEmailSalesMap.containsKey(cr.getEmail())) {
798
				if (!partnerEmailSalesMap.containsKey(cr.getEmail())) {
789
					partnerEmailSalesMap.put(cr.getEmail(), new SaleRoles());
799
					partnerEmailSalesMap.put(cr.getEmail(), new SaleRoles());
790
				}
800
				}
791
				SaleRoles saleRoles = partnerEmailSalesMap.get(cr.getEmail());
801
				SaleRoles saleRoles = partnerEmailSalesMap.get(cr.getEmail());
792
				AuthUser authUser = authUsersMap.get(position.getAuthUserId());
802
				AuthUser authUser = authUsersMap.get(position.getAuthUserId());
793
				if(authUser==null) {
803
				if (authUser == null) {
794
					continue;
804
					continue;
795
				}
805
				}
796
				String name = authUser.getFirstName() + " " + authUser.getLastName();
806
				String name = authUser.getFirstName() + " " + authUser.getLastName();
797
				if (position.getEscalationType().equals(EscalationType.L1)) {
807
				if (position.getEscalationType().equals(EscalationType.L1)) {
798
					saleRoles.getL1().add(name);
808
					saleRoles.getL1().add(name);
Line 1676... Line 1686...
1676
				// check if pricedrop has been rolled out
1686
				// check if pricedrop has been rolled out
1677
				List<UserWalletHistory> uwh = walletService.getAllByReference(inventoryItem.getFofoId(),
1687
				List<UserWalletHistory> uwh = walletService.getAllByReference(inventoryItem.getFofoId(),
1678
						priceDropIMEI.getPriceDropId(), WalletReferenceType.PRICE_DROP);
1688
						priceDropIMEI.getPriceDropId(), WalletReferenceType.PRICE_DROP);
1679
				if (uwh.size() > 0) {
1689
				if (uwh.size() > 0) {
1680
					Item item = itemRepository.selectById(inventoryItem.getItemId());
1690
					Item item = itemRepository.selectById(inventoryItem.getItemId());
1681
					System.out.println(String.join("\t",
1691
					System.out.println(String.join("\t", Arrays.asList(priceDropIMEI.getImei(),
1682
							Arrays.asList(priceDropIMEI.getImei(), inventoryItem.getItemId() + "", item.getBrand(),
-
 
1683
									item.getModelName(), item.getModelNumber(), inventoryItem.getFofoId() + "",
1692
							inventoryItem.getItemId() + "", item.getBrand(), item.getModelName(), item.getModelNumber(),
1684
									customRetailer.getBusinessName(), inventoryItem.getCreateTimestamp().format(dtf),
1693
							inventoryItem.getFofoId() + "", customRetailer.getBusinessName(),
1685
									priceDrop.getAffectedOn().format(dtf),
1694
							inventoryItem.getCreateTimestamp().format(dtf), priceDrop.getAffectedOn().format(dtf),
1686
									priceDropIMEI.getUpdateTimestamp().format(dtf),
1695
							priceDropIMEI.getUpdateTimestamp().format(dtf),
1687
									inventoryItem.getUpdateTimestamp().format(dtf), priceDrop.getAutoPartnerPayout() + "",
1696
							inventoryItem.getUpdateTimestamp().format(dtf), priceDrop.getAutoPartnerPayout() + "",
1688
									inventoryItem.getLastScanType().equals(ScanType.DOA_OUT) + "")));
1697
							inventoryItem.getLastScanType().equals(ScanType.DOA_OUT) + "")));
1689
				}
1698
				}
1690
			}
1699
			}
1691
		}
1700
		}
1692
	}
1701
	}
1693
 
1702
 
Line 1732... Line 1741...
1732
					FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(scanRecord.getOrderId());
1741
					FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(scanRecord.getOrderId());
1733
					String rollbackReason = "Scheme reversed for "
1742
					String rollbackReason = "Scheme reversed for "
1734
							+ itemRepository.selectById(inventoryItem.getItemId()).getItemDescription() + "/Inv - "
1743
							+ itemRepository.selectById(inventoryItem.getItemId()).getItemDescription() + "/Inv - "
1735
							+ fofoOrder.getInvoiceNumber();
1744
							+ fofoOrder.getInvoiceNumber();
1736
					walletService.rollbackAmountFromWallet(scanRecord.getFofoId(), sio.getAmount(),
1745
					walletService.rollbackAmountFromWallet(scanRecord.getFofoId(), sio.getAmount(),
1737
							scanRecord.getOrderId(), WalletReferenceType.SCHEME_OUT, rollbackReason, LocalDateTime.now());
1746
							scanRecord.getOrderId(), WalletReferenceType.SCHEME_OUT, rollbackReason,
-
 
1747
							LocalDateTime.now());
1738
					System.out.printf("Amount %f,SchemeId %d,Reason %s\n", sio.getAmount(), sio.getSchemeId(),
1748
					System.out.printf("Amount %f,SchemeId %d,Reason %s\n", sio.getAmount(), sio.getSchemeId(),
1739
							rollbackReason);
1749
							rollbackReason);
1740
				}
1750
				}
1741
			}
1751
			}
1742
		}
1752
		}
Line 1985... Line 1995...
1985
		Map<String, Integer> dtrEmailMap = dtrUserRepository
1995
		Map<String, Integer> dtrEmailMap = dtrUserRepository
1986
				.selectAllByEmailIds(new ArrayList<>(authUserEmailMap.values())).stream()
1996
				.selectAllByEmailIds(new ArrayList<>(authUserEmailMap.values())).stream()
1987
				.collect(Collectors.toMap(x -> x.getEmailId(), x -> x.getId()));
1997
				.collect(Collectors.toMap(x -> x.getEmailId(), x -> x.getId()));
1988
 
1998
 
1989
		System.out.printf("dtrEmailMap - %s", dtrEmailMap);
1999
		System.out.printf("dtrEmailMap - %s", dtrEmailMap);
1990
		
2000
 
1991
		Map<Integer, Integer> authUserKeyMap = new HashMap<>();
2001
		Map<Integer, Integer> authUserKeyMap = new HashMap<>();
1992
 
2002
 
1993
		for (Map.Entry<Integer, String> authUserEmail : authUserEmailMap.entrySet()) {
2003
		for (Map.Entry<Integer, String> authUserEmail : authUserEmailMap.entrySet()) {
1994
			int authId = authUserEmail.getKey();
2004
			int authId = authUserEmail.getKey();
1995
			String email = authUserEmail.getValue();
2005
			String email = authUserEmail.getValue();
1996
			authUserKeyMap.put(authId, dtrEmailMap.get(email));
2006
			authUserKeyMap.put(authId, dtrEmailMap.get(email));
1997
		}
2007
		}
1998
		System.out.println(authUserKeyMap);
2008
		System.out.println(authUserKeyMap);
1999
		System.out.println(leadsToNotify);
2009
		System.out.println(leadsToNotify);
2000
		
2010
 
2001
		String templateMessage = "Lead followup for %s %s, %s is due by %s";
2011
		String templateMessage = "Lead followup for %s %s, %s is due by %s";
2002
		DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("h:m a");
2012
		DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("h:m a");
2003
		for (Lead lead : leadsToNotify) {
2013
		for (Lead lead : leadsToNotify) {
2004
			if (authUserKeyMap.get(lead.getAuthId()) == null) {
2014
			if (authUserKeyMap.get(lead.getAuthId()) == null) {
2005
				continue;
2015
				continue;
Line 2017... Line 2027...
2017
			sendNotificationModel.setUserIds(Arrays.asList(authUserKeyMap.get(lead.getAssignTo())));
2027
			sendNotificationModel.setUserIds(Arrays.asList(authUserKeyMap.get(lead.getAssignTo())));
2018
			System.out.println(sendNotificationModel);
2028
			System.out.println(sendNotificationModel);
2019
			notificationService.sendNotification(sendNotificationModel);
2029
			notificationService.sendNotification(sendNotificationModel);
2020
		}
2030
		}
2021
	}
2031
	}
-
 
2032
 
2022
	public void notifyVisits() throws Exception {
2033
	public void notifyVisits() throws Exception {
2023
		List<FranchiseeVisit> franchiseeVisits = franchiseeVisitRepository.selectVisitsScheduledBetweenDate(LocalDateTime.now().minusDays(15), 
2034
		List<FranchiseeVisit> franchiseeVisits = franchiseeVisitRepository
2024
				LocalDateTime.now().plusHours(4));
2035
				.selectVisitsScheduledBetweenDate(LocalDateTime.now().minusDays(15), LocalDateTime.now().plusHours(4));
2025
		Map<Integer, String> authUserEmailMap = authRepository.selectAllActiveUser().stream()
2036
		Map<Integer, String> authUserEmailMap = authRepository.selectAllActiveUser().stream()
2026
				.collect(Collectors.toMap(x -> x.getId(), x -> x.getEmailId()));
2037
				.collect(Collectors.toMap(x -> x.getId(), x -> x.getEmailId()));
2027
		Map<String, Integer> dtrEmailMap = dtrUserRepository
2038
		Map<String, Integer> dtrEmailMap = dtrUserRepository
2028
				.selectAllByEmailIds(new ArrayList<>(authUserEmailMap.values())).stream()
2039
				.selectAllByEmailIds(new ArrayList<>(authUserEmailMap.values())).stream()
2029
				.collect(Collectors.toMap(x -> x.getEmailId(), x -> x.getId()));
2040
				.collect(Collectors.toMap(x -> x.getEmailId(), x -> x.getId()));
2030
		Map<Integer, Integer> authUserKeyMap = new HashMap<>();
2041
		Map<Integer, Integer> authUserKeyMap = new HashMap<>();
2031
		
2042
 
2032
		for (Map.Entry<Integer, String> authUserEmail : authUserEmailMap.entrySet()) {
2043
		for (Map.Entry<Integer, String> authUserEmail : authUserEmailMap.entrySet()) {
2033
			int authId = authUserEmail.getKey();
2044
			int authId = authUserEmail.getKey();
2034
			String email = authUserEmail.getValue();
2045
			String email = authUserEmail.getValue();
2035
			authUserKeyMap.put(authId, dtrEmailMap.get(email));
2046
			authUserKeyMap.put(authId, dtrEmailMap.get(email));
2036
		}
2047
		}
Line 2041... Line 2052...
2041
			if (authUserKeyMap.containsKey(visit.getAuthId())) {
2052
			if (authUserKeyMap.containsKey(visit.getAuthId())) {
2042
				continue;
2053
				continue;
2043
			}
2054
			}
2044
			SendNotificationModel sendNotificationModel = new SendNotificationModel();
2055
			SendNotificationModel sendNotificationModel = new SendNotificationModel();
2045
			String message = null;
2056
			String message = null;
2046
			if(visit.getFranchiseActivityId()==0) {
2057
			if (visit.getFranchiseActivityId() == 0) {
2047
				 message = String.format(visitTemplate, visit.getPartnerName(), timeFormatter.format(visit.getSchelduleTimestamp()));
2058
				message = String.format(visitTemplate, visit.getPartnerName(),
-
 
2059
						timeFormatter.format(visit.getSchelduleTimestamp()));
2048
				 sendNotificationModel.setCampaignName("Franchisee visit Reminder");
2060
				sendNotificationModel.setCampaignName("Franchisee visit Reminder");
2049
			} else {
2061
			} else {
2050
				message = String.format(followupTemplate, visit.getPartnerName(), timeFormatter.format(visit.getSchelduleTimestamp()));
2062
				message = String.format(followupTemplate, visit.getPartnerName(),
-
 
2063
						timeFormatter.format(visit.getSchelduleTimestamp()));
2051
				sendNotificationModel.setCampaignName("Franchisee followup Reminder");
2064
				sendNotificationModel.setCampaignName("Franchisee followup Reminder");
2052
			}
2065
			}
2053
			sendNotificationModel.setMessage(message);
2066
			sendNotificationModel.setMessage(message);
2054
			sendNotificationModel.setType("url");
2067
			sendNotificationModel.setType("url");
2055
			sendNotificationModel.setUrl("https://app.smartdukaan.com/pages/home/notifications");
2068
			sendNotificationModel.setUrl("https://app.smartdukaan.com/pages/home/notifications");
Line 2072... Line 2085...
2072
			}
2085
			}
2073
		}
2086
		}
2074
 
2087
 
2075
	}
2088
	}
2076
 
2089
 
-
 
2090
	public void checkValidateReferral() throws Exception {
-
 
2091
 
-
 
2092
		List<Refferal> referrals = refferalRepository.selectByStatus(RefferalStatus.pending);
-
 
2093
		if (!referrals.isEmpty()) {
-
 
2094
			String subject = "Referral Request";
-
 
2095
			String messageText = this.getMessageForReferral(referrals);
-
 
2096
			this.sendMailWithAttachments(subject, messageText, "tejbeer.kaur@shop2020.in");
-
 
2097
 
-
 
2098
		}
-
 
2099
	}
-
 
2100
 
-
 
2101
	private String getMessageForReferral(List<Refferal> referrals) {
-
 
2102
		StringBuilder sb = new StringBuilder();
-
 
2103
		sb.append("<html><body><p>Alert</p><p>Pending Referrals:-</p>"
-
 
2104
				+ "<br/><table style='border:1px solid black ;padding: 5px';>");
-
 
2105
		sb.append("<tbody>\n" + "	    				<tr>\n"
-
 
2106
				+ "	    					<th style='border:1px solid black;padding: 5px'>RefereeName</th>\n"
-
 
2107
				+ "	    					<th style='border:1px solid black;padding: 5px'>Referee Email</th>\n"
-
 
2108
				+ "	    					<th style='border:1px solid black;padding: 5px'>Referral Name</th>\n"
-
 
2109
				+ "	    					<th style='border:1px solid black;padding: 5px'>Refferal Mobile</th>\n"
-
 
2110
				+ "	    					<th style='border:1px solid black;padding: 5px'>city</th>\n"
-
 
2111
				+ "	    					<th style='border:1px solid black;padding: 5px'>state</th>\n"
-
 
2112
				+ "	    				</tr>");
-
 
2113
		for (Refferal entry : referrals) {
-
 
2114
 
-
 
2115
			sb.append("<tr>");
-
 
2116
			sb.append("<td style='border:1px solid black;padding: 5px'>" + entry.getRefereeName() + "</td>");
-
 
2117
 
-
 
2118
			sb.append("<td style='border:1px solid black;padding: 5px'>" + entry.getRefereeEmail() + "</td>");
-
 
2119
			sb.append("<td style='border:1px solid black;padding: 5px'>" + entry.getFirstName() + "</td>");
-
 
2120
			sb.append("<td style='border:1px solid black;padding: 5px'>" + entry.getMobile() + "</td>");
-
 
2121
			sb.append("<td style='border:1px solid black;padding: 5px'>" + entry.getCity() + "</td>");
-
 
2122
			sb.append("<td style='border:1px solid black;padding: 5px'>" + entry.getState() + "</td>");
-
 
2123
 
-
 
2124
			sb.append("</tr>");
-
 
2125
 
-
 
2126
		}
-
 
2127
 
-
 
2128
		sb.append("</tbody></table></body></html>");
-
 
2129
 
-
 
2130
		return sb.toString();
-
 
2131
	}
-
 
2132
 
2077
}
2133
}