Subversion Repositories SmartDukaan

Rev

Rev 26498 | Rev 26792 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
25496 tejbeer 1
package com.spice.profitmandi.web.controller;
2
 
26766 tejbeer 3
import java.text.MessageFormat;
25496 tejbeer 4
import java.time.LocalDateTime;
5
import java.util.ArrayList;
6
import java.util.List;
7
import java.util.Map;
25587 tejbeer 8
import java.util.function.Function;
9
import java.util.stream.Collector;
25496 tejbeer 10
import java.util.stream.Collectors;
11
 
26766 tejbeer 12
import javax.mail.internet.InternetAddress;
13
import javax.mail.internet.MimeMessage;
25496 tejbeer 14
import javax.servlet.http.HttpServletRequest;
15
 
16
import org.apache.logging.log4j.LogManager;
17
import org.apache.logging.log4j.Logger;
18
import org.json.JSONObject;
19
import org.springframework.beans.factory.annotation.Autowired;
26766 tejbeer 20
import org.springframework.mail.javamail.JavaMailSender;
21
import org.springframework.mail.javamail.MimeMessageHelper;
25496 tejbeer 22
import org.springframework.stereotype.Controller;
23
import org.springframework.transaction.annotation.Transactional;
24
import org.springframework.ui.Model;
25
import org.springframework.web.bind.annotation.RequestMapping;
26
import org.springframework.web.bind.annotation.RequestMethod;
27
import org.springframework.web.bind.annotation.RequestParam;
28
 
29
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
30
import com.spice.profitmandi.common.model.CustomRetailer;
31
import com.spice.profitmandi.dao.entity.user.Refferal;
32
import com.spice.profitmandi.dao.entity.user.RefferalMonthlyAmount;
33
import com.spice.profitmandi.dao.entity.user.User;
34
import com.spice.profitmandi.dao.enumuration.dtr.RefferalStatus;
35
import com.spice.profitmandi.dao.model.DateRangeModel;
36
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
37
import com.spice.profitmandi.dao.repository.dtr.RefferalMonthlyAmountRepository;
38
import com.spice.profitmandi.dao.repository.dtr.RefferalRepository;
39
import com.spice.profitmandi.dao.repository.user.UserRepository;
40
import com.spice.profitmandi.service.user.RetailerService;
41
import com.spice.profitmandi.service.wallet.WalletService;
42
import com.spice.profitmandi.web.util.MVCResponseSender;
43
 
44
import in.shop2020.model.v1.order.WalletReferenceType;
45
 
46
@Controller
47
@Transactional(rollbackFor = Throwable.class)
48
public class RefferalController {
49
 
50
	@Autowired
51
	private RefferalRepository refferalRepository;
52
 
53
	@Autowired
54
	private MVCResponseSender mvcResponseSender;
55
 
56
	@Autowired
57
	private FofoStoreRepository fofoStoreRepository;
58
 
59
	@Autowired
60
	private RetailerService retailerService;
61
 
62
	@Autowired
63
	private WalletService walletService;
64
 
65
	@Autowired
66
	private RefferalMonthlyAmountRepository refferalMonthlyAmountRepository;
67
 
68
	@Autowired
69
	private UserRepository userRepository;
70
 
26766 tejbeer 71
	@Autowired
72
	JavaMailSender mailSender;
73
 
25496 tejbeer 74
	private static final Logger LOGGER = LogManager.getLogger(RefferalRepository.class);
75
 
76
	@RequestMapping(value = "/getRefferalsRequest", method = RequestMethod.GET)
77
	public String getRefferalsRequest(HttpServletRequest request,
78
			@RequestParam(name = "offset", defaultValue = "0") int offset,
79
			@RequestParam(name = "limit", defaultValue = "10") int limit, Model model)
80
			throws ProfitMandiBusinessException {
81
 
82
		List<Refferal> refferals = null;
83
		long size = 0;
84
		refferals = refferalRepository.selectAllRefferalByStatus(offset, limit, RefferalStatus.pending);
85
		LOGGER.info("refferals" + refferals);
86
		size = refferalRepository.selectCountByStatus(RefferalStatus.pending);
87
		if (!refferals.isEmpty()) {
88
 
89
			model.addAttribute("refferals", refferals);
90
			model.addAttribute("start", offset + 1);
91
			model.addAttribute("rStatus", "pending");
92
 
93
			model.addAttribute("size", size);
94
			model.addAttribute("url", "/getPaginatedRefferalsRequest");
95
 
96
			if (refferals.size() < limit) {
97
				model.addAttribute("end", offset + refferals.size());
98
			} else {
99
				model.addAttribute("end", offset + limit);
100
			}
101
 
102
		} else {
103
 
104
			model.addAttribute("refferals", refferals);
105
			model.addAttribute("size", size);
106
 
107
		}
108
 
109
		return "refferal";
110
	}
111
 
112
	@RequestMapping(value = "/getPaginatedRefferalsRequest", method = RequestMethod.GET)
113
	public String getPaginatedRefferalsRequest(HttpServletRequest request,
114
			@RequestParam(name = "offset", defaultValue = "0") int offset,
115
			@RequestParam(name = "limit", defaultValue = "10") int limit, Model model) throws Exception {
116
		LOGGER.info("requested offset=[{}], limit = [{}]", offset, limit);
117
		List<Refferal> refferals = null;
118
		refferals = refferalRepository.selectAllRefferalByStatus(offset, limit, RefferalStatus.pending);
119
		LOGGER.info("refferals" + refferals);
120
		if (!refferals.isEmpty()) {
121
 
122
			model.addAttribute("refferals", refferals);
123
			model.addAttribute("rStatus", "pending");
124
			model.addAttribute("url", "/getPaginatedRefferalsRequest");
125
 
126
		} else {
127
			model.addAttribute("refferals", refferals);
128
 
129
		}
130
 
131
		return "refferal-paginated";
132
	}
133
 
25587 tejbeer 134
	@RequestMapping(value = "/getValidateRefferals", method = RequestMethod.GET)
135
	public String getValidateRefferals(HttpServletRequest request,
136
			@RequestParam(name = "offset", defaultValue = "0") int offset,
137
			@RequestParam(name = "limit", defaultValue = "10") int limit, Model model)
138
			throws ProfitMandiBusinessException {
139
 
140
		List<Refferal> refferals = null;
141
		long size = 0;
142
		refferals = refferalRepository.selectAllRefferalByStatus(offset, limit, RefferalStatus.validate);
143
		LOGGER.info("refferals" + refferals);
144
		size = refferalRepository.selectCountByStatus(RefferalStatus.validate);
145
		if (!refferals.isEmpty()) {
146
 
147
			model.addAttribute("refferals", refferals);
148
			model.addAttribute("start", offset + 1);
149
			model.addAttribute("rStatus", "validate");
150
 
151
			model.addAttribute("size", size);
152
			model.addAttribute("url", "/getPaginatedValidateRefferals");
153
 
154
			if (refferals.size() < limit) {
155
				model.addAttribute("end", offset + refferals.size());
156
			} else {
157
				model.addAttribute("end", offset + limit);
158
			}
159
 
160
		} else {
161
 
162
			model.addAttribute("refferals", refferals);
163
			model.addAttribute("size", size);
164
 
165
		}
166
 
167
		return "refferal";
168
	}
169
 
170
	@RequestMapping(value = "/getPaginatedValidateRefferals", method = RequestMethod.GET)
171
	public String getPaginatedValidateRefferals(HttpServletRequest request,
172
			@RequestParam(name = "offset", defaultValue = "0") int offset,
173
			@RequestParam(name = "limit", defaultValue = "10") int limit, Model model) throws Exception {
174
		LOGGER.info("requested offset=[{}], limit = [{}]", offset, limit);
175
		List<Refferal> refferals = null;
176
		refferals = refferalRepository.selectAllRefferalByStatus(offset, limit, RefferalStatus.validate);
177
		LOGGER.info("refferals" + refferals);
178
		if (!refferals.isEmpty()) {
179
 
180
			model.addAttribute("refferals", refferals);
181
			model.addAttribute("rStatus", "validate");
182
			model.addAttribute("url", "/getPaginatedValidateRefferals");
183
 
184
		} else {
185
			model.addAttribute("refferals", refferals);
186
 
187
		}
188
 
189
		return "refferal-paginated";
190
	}
191
 
192
	@RequestMapping(value = "/validateRefferal", method = RequestMethod.PUT)
193
	public String validateRefferal(HttpServletRequest request,
194
			@RequestParam(name = "refferalId", defaultValue = "0") int refferalId, Model model) throws Exception {
195
 
196
		Refferal refferal = refferalRepository.selectById(refferalId);
197
 
198
		if (refferal.getStatus().equals(RefferalStatus.pending)) {
199
			refferal.setStatus(RefferalStatus.validate);
200
			refferal.setUpdatedTimestamp(LocalDateTime.now());
201
			refferalRepository.persist(refferal);
202
			model.addAttribute("response", mvcResponseSender.createResponseString(true));
203
 
204
		} else {
205
			model.addAttribute("response", mvcResponseSender.createResponseString(false));
206
 
207
		}
208
 
209
		return "response";
210
	}
211
 
25496 tejbeer 212
	@RequestMapping(value = "/approveRefferal", method = RequestMethod.PUT)
213
	public String approveRefferal(HttpServletRequest request,
214
			@RequestParam(name = "refferalId", defaultValue = "0") int refferalId, Model model) throws Exception {
215
 
216
		Refferal refferal = refferalRepository.selectById(refferalId);
217
 
25587 tejbeer 218
		if (refferal.getStatus().equals(RefferalStatus.validate)) {
25496 tejbeer 219
			refferal.setStatus(RefferalStatus.approved);
220
			refferal.setUpdatedTimestamp(LocalDateTime.now());
221
			refferal.setApprovedTimestamp(LocalDateTime.now());
222
			refferalRepository.persist(refferal);
26766 tejbeer 223
 
224
			String subject = "Refferal Request Approved for " + refferal.getRefereeEmail();
225
			String messageText = "Request Approved for" + refferal.getRefereeEmail();
226
 
227
			this.sendMailWithAttachments(subject, messageText);
25496 tejbeer 228
			model.addAttribute("response", mvcResponseSender.createResponseString(true));
229
 
230
		} else {
231
			model.addAttribute("response", mvcResponseSender.createResponseString(false));
232
 
233
		}
234
 
235
		return "response";
236
	}
237
 
26766 tejbeer 238
	private void sendMailWithAttachments(String subject, String messageText) throws Exception {
239
		MimeMessage message = mailSender.createMimeMessage();
240
		MimeMessageHelper helper = new MimeMessageHelper(message, true);
241
		String[] email = { "neerajgupta2021@gmail.com" };
242
		helper.setSubject(subject);
243
		helper.setText(messageText);
244
		helper.setTo(email);
245
		InternetAddress senderAddress = new InternetAddress("noreply@smartdukaan.com", "Smartdukaan Alerts");
246
		helper.setFrom(senderAddress);
247
		mailSender.send(message);
248
 
249
	}
250
 
25496 tejbeer 251
	@RequestMapping(value = "/rejectRefferal", method = RequestMethod.PUT)
252
	public String rejectRefferal(HttpServletRequest request,
25645 tejbeer 253
			@RequestParam(name = "refferalId", defaultValue = "0") int refferalId, @RequestParam String rejectionReason,
254
			Model model) throws Exception {
25496 tejbeer 255
		Refferal refferal = refferalRepository.selectById(refferalId);
256
 
257
		if (refferal.getStatus().equals(RefferalStatus.pending)) {
258
			refferal.setStatus(RefferalStatus.rejected);
25645 tejbeer 259
			refferal.setRejectedReason(rejectionReason);
25496 tejbeer 260
			refferal.setUpdatedTimestamp(LocalDateTime.now());
261
			refferalRepository.persist(refferal);
262
			model.addAttribute("response", mvcResponseSender.createResponseString(true));
263
 
264
		} else {
265
			model.addAttribute("response", mvcResponseSender.createResponseString(false));
266
 
267
		}
268
 
269
		return "response";
270
	}
271
 
272
	@RequestMapping(value = "/approvedRefferals", method = RequestMethod.GET)
273
	public String approvedRefferals(HttpServletRequest request, Model model) throws Exception {
26766 tejbeer 274
 
275
		Map<String, Long> pastApproved = null;
25496 tejbeer 276
		DateRangeModel drm = new DateRangeModel();
277
		drm.setStartDate(LocalDateTime.now().minusMonths(1).withDayOfMonth(1));
278
		drm.setEndDate(LocalDateTime.now().minusMonths(1).withDayOfMonth(16));
25587 tejbeer 279
 
25496 tejbeer 280
		List<Refferal> previousMonthapprovedRefferal = refferalRepository
25587 tejbeer 281
				.selectByStatusAndDateRanges(RefferalStatus.approved, drm);
282
 
25496 tejbeer 283
		drm.setStartDate(LocalDateTime.now().minusMonths(1).withDayOfMonth(16));
284
		drm.setEndDate(LocalDateTime.now().withDayOfMonth(16));
285
		LocalDateTime currentMonthdate = LocalDateTime.now().withDayOfMonth(1);
25587 tejbeer 286
 
287
		List<Refferal> preCurrMonthapproved = refferalRepository
288
				.selectByStatusAndDateRange(RefferalStatus.approved, drm).stream()
25496 tejbeer 289
				.filter(x -> x.getCreatedTimestamp().isBefore(currentMonthdate)).collect(Collectors.toList());
25587 tejbeer 290
		preCurrMonthapproved.addAll(previousMonthapprovedRefferal);
25496 tejbeer 291
 
25587 tejbeer 292
		Map<String, Long> preApproved = preCurrMonthapproved.stream()
293
				.collect(Collectors.groupingBy(Refferal::getRefereeEmail, Collectors.counting()));
25496 tejbeer 294
 
295
		drm.setStartDate(LocalDateTime.now().minusMonths(2).withDayOfMonth(1));
296
		drm.setEndDate(LocalDateTime.now().minusMonths(2).withDayOfMonth(16));
25587 tejbeer 297
 
298
		LocalDateTime previousMonthdate = LocalDateTime.now().minusMonths(1).withDayOfMonth(1);
299
		List<Refferal> oldMonthapprovedRefferal = refferalRepository
300
				.selectByStatusAndDateRanges(RefferalStatus.approved, drm);
301
 
25496 tejbeer 302
		drm.setStartDate(LocalDateTime.now().minusMonths(2).withDayOfMonth(16));
303
		drm.setEndDate(LocalDateTime.now().minusMonths(1).withDayOfMonth(16));
304
 
25587 tejbeer 305
		List<Refferal> oldPreMonthapproved = refferalRepository.selectByStatusAndDateRange(RefferalStatus.approved, drm)
306
				.stream().filter(x -> x.getCreatedTimestamp().isBefore(previousMonthdate)).collect(Collectors.toList());
25496 tejbeer 307
 
25587 tejbeer 308
		oldPreMonthapproved.addAll(oldMonthapprovedRefferal);
25496 tejbeer 309
 
25587 tejbeer 310
		Map<String, Long> oldApproved = oldPreMonthapproved.stream()
311
				.collect(Collectors.groupingBy(Refferal::getRefereeEmail, Collectors.counting()));
312
		LOGGER.info("preApproved" + preApproved);
313
 
26766 tejbeer 314
		if (preApproved.isEmpty() && oldApproved.isEmpty()) {
315
			pastApproved = refferalRepository.selectByStatus(RefferalStatus.approved).stream()
316
					.collect(Collectors.groupingBy(Refferal::getRefereeEmail, Collectors.counting()));
317
		}
318
 
25587 tejbeer 319
		LOGGER.info("oldApproved" + oldApproved);
26766 tejbeer 320
		LOGGER.info("pastApproved" + pastApproved);
25496 tejbeer 321
		model.addAttribute("oldMonth", LocalDateTime.now().minusMonths(2).getMonth());
25587 tejbeer 322
		model.addAttribute("oldApproved", oldApproved);
25496 tejbeer 323
		model.addAttribute("previousMonth", LocalDateTime.now().minusMonths(1).getMonth());
26766 tejbeer 324
		model.addAttribute("pastApproved", pastApproved);
25587 tejbeer 325
		model.addAttribute("preApproved", preApproved);
326
 
327
		return "refferal-approve";
25496 tejbeer 328
	}
329
 
330
	@RequestMapping(value = "/addMoneyToWallet", method = RequestMethod.POST)
331
	public String addMoneyToWallet(HttpServletRequest request, @RequestParam String refereeEmail,
332
			@RequestParam int count, @RequestParam int amount, @RequestParam String month, Model model)
333
			throws Exception {
334
 
335
		User user = userRepository.selectByEmailId(refereeEmail);
336
		if (user != null) {
337
			RefferalMonthlyAmount rfm = new RefferalMonthlyAmount();
338
			rfm.setAmount(amount);
339
			rfm.setCount(count);
25587 tejbeer 340
			rfm.setRefereeEmail(user.getEmailId());
25496 tejbeer 341
			rfm.setCreatedTimstamp(LocalDateTime.now());
342
			refferalMonthlyAmountRepository.persist(rfm);
343
			walletService.addAmountToWallet(user.getId(), rfm.getId(), WalletReferenceType.CASHBACK,
26498 amit.gupta 344
					count + "referral of" + month + "Month", amount, LocalDateTime.now());
25496 tejbeer 345
 
346
			DateRangeModel drm = new DateRangeModel();
347
			drm.setStartDate(LocalDateTime.now().minusMonths(1).withDayOfMonth(1));
348
			drm.setEndDate(LocalDateTime.now().minusMonths(1).withDayOfMonth(16));
349
			List<Refferal> previousMonthapprovedRefferal = refferalRepository
25587 tejbeer 350
					.selectByEmailIdAndStatusAndDateRanges(user.getEmailId(), RefferalStatus.approved, drm);
25496 tejbeer 351
			drm.setStartDate(LocalDateTime.now().minusMonths(1).withDayOfMonth(16));
352
			drm.setEndDate(LocalDateTime.now().withDayOfMonth(16));
353
			List<Refferal> previousAndcurrentMonthapprovedRefferal = refferalRepository
25587 tejbeer 354
					.selectByEmailIdAndStatusAndDateRange(user.getEmailId(), RefferalStatus.approved, drm);
25496 tejbeer 355
			LocalDateTime currentMonthdate = LocalDateTime.now().withDayOfMonth(1);
356
			List<Refferal> preCurrMonthapproved = previousAndcurrentMonthapprovedRefferal.stream()
357
					.filter(x -> x.getCreatedTimestamp().isBefore(currentMonthdate)).collect(Collectors.toList());
358
			List<Refferal> approvedRefferals = new ArrayList<>(previousMonthapprovedRefferal);
359
			approvedRefferals.addAll(preCurrMonthapproved);
360
 
26766 tejbeer 361
			if (approvedRefferals.isEmpty()) {
362
				List<Refferal> pastApproved = refferalRepository.selectByStatusAndEmailId(RefferalStatus.approved,
363
						user.getEmailId());
364
				approvedRefferals.addAll(pastApproved);
365
			}
25496 tejbeer 366
			for (Refferal refferl : approvedRefferals) {
367
				refferl.setStatus(RefferalStatus.transferred);
368
				refferl.setUpdatedTimestamp(LocalDateTime.now());
369
			}
370
 
371
			model.addAttribute("response", mvcResponseSender.createResponseString(true));
372
		} else {
373
			model.addAttribute("response", mvcResponseSender.createResponseString(false));
374
		}
375
		return "response";
376
	}
377
 
378
	@RequestMapping(value = "/addMoneyToWalletPreviousMonth", method = RequestMethod.POST)
379
	public String addMoneyToWalletPrevious(HttpServletRequest request, @RequestParam String refereeEmail,
380
			@RequestParam int count, @RequestParam int amount, @RequestParam String month, Model model)
381
			throws Exception {
382
 
383
		User user = userRepository.selectByEmailId(refereeEmail);
384
		if (user != null) {
385
			RefferalMonthlyAmount rfm = new RefferalMonthlyAmount();
386
			rfm.setAmount(amount);
387
			rfm.setCount(count);
25587 tejbeer 388
			rfm.setRefereeEmail(user.getEmailId());
25496 tejbeer 389
			rfm.setCreatedTimstamp(LocalDateTime.now());
390
			refferalMonthlyAmountRepository.persist(rfm);
391
			walletService.addAmountToWallet(user.getId(), rfm.getId(), WalletReferenceType.CASHBACK,
26498 amit.gupta 392
					count + "referral of" + month + "Month", amount, LocalDateTime.now());
25496 tejbeer 393
 
394
			DateRangeModel drm = new DateRangeModel();
395
			drm.setStartDate(LocalDateTime.now().minusMonths(2).withDayOfMonth(1));
396
			drm.setEndDate(LocalDateTime.now().minusMonths(2).withDayOfMonth(16));
397
			List<Refferal> oldMonthapprovedRefferal = refferalRepository
25587 tejbeer 398
					.selectByEmailIdAndStatusAndDateRanges(user.getEmailId(), RefferalStatus.approved, drm);
399
			LOGGER.info("oldMonthapprovedRefferal" + oldMonthapprovedRefferal);
400
 
25496 tejbeer 401
			drm.setStartDate(LocalDateTime.now().minusMonths(2).withDayOfMonth(16));
402
			drm.setEndDate(LocalDateTime.now().minusMonths(1).withDayOfMonth(16));
403
			List<Refferal> oldAndpreviousMonthapprovedRefferal = refferalRepository
25587 tejbeer 404
					.selectByEmailIdAndStatusAndDateRange(user.getEmailId(), RefferalStatus.approved, drm);
25496 tejbeer 405
			LocalDateTime previousMonthdate = LocalDateTime.now().minusMonths(1).withDayOfMonth(1);
406
			List<Refferal> oldPreMonthapproved = oldAndpreviousMonthapprovedRefferal.stream()
407
					.filter(x -> x.getCreatedTimestamp().isBefore(previousMonthdate)).collect(Collectors.toList());
408
 
25587 tejbeer 409
			oldPreMonthapproved.addAll(oldMonthapprovedRefferal);
25496 tejbeer 410
 
25587 tejbeer 411
			LOGGER.info("oldPreMonthapproved" + oldPreMonthapproved);
412
			for (Refferal refferl : oldPreMonthapproved) {
25496 tejbeer 413
				refferl.setStatus(RefferalStatus.transferred);
414
				refferl.setUpdatedTimestamp(LocalDateTime.now());
415
			}
416
 
417
			model.addAttribute("response", mvcResponseSender.createResponseString(true));
418
		} else {
419
			model.addAttribute("response", mvcResponseSender.createResponseString(false));
420
		}
421
		return "response";
422
	}
423
 
424
	@RequestMapping(value = "/getTransferredRefferals", method = RequestMethod.GET)
425
	public String getTransferredRefferals(HttpServletRequest request,
426
			@RequestParam(name = "offset", defaultValue = "0") int offset,
427
			@RequestParam(name = "limit", defaultValue = "10") int limit, Model model)
428
			throws ProfitMandiBusinessException {
429
 
430
		List<Refferal> refferals = null;
431
		long size = 0;
432
		refferals = refferalRepository.selectAllRefferalByStatus(offset, limit, RefferalStatus.transferred);
433
		LOGGER.info("refferals" + refferals);
434
		size = refferalRepository.selectCountByStatus(RefferalStatus.transferred);
435
		if (!refferals.isEmpty()) {
436
 
437
			model.addAttribute("refferals", refferals);
438
			model.addAttribute("start", offset + 1);
439
			model.addAttribute("size", size);
440
			model.addAttribute("url", "/getPaginatedTransferredRefferals");
441
 
442
			if (refferals.size() < limit) {
443
				model.addAttribute("end", offset + refferals.size());
444
			} else {
445
				model.addAttribute("end", offset + limit);
446
			}
447
 
448
		} else {
449
 
450
			model.addAttribute("refferals", refferals);
451
			model.addAttribute("size", size);
452
 
453
		}
454
 
455
		return "refferal";
456
	}
457
 
458
	@RequestMapping(value = "/getPaginatedTransferredRefferals", method = RequestMethod.GET)
459
	public String getPaginatedTransferredRefferals(HttpServletRequest request,
460
			@RequestParam(name = "offset", defaultValue = "0") int offset,
461
			@RequestParam(name = "limit", defaultValue = "10") int limit, Model model) throws Exception {
462
		LOGGER.info("requested offset=[{}], limit = [{}]", offset, limit);
463
		List<Refferal> refferals = null;
464
		refferals = refferalRepository.selectAllRefferalByStatus(offset, limit, RefferalStatus.transferred);
465
		LOGGER.info("refferals" + refferals);
466
		if (!refferals.isEmpty()) {
467
 
468
			model.addAttribute("refferals", refferals);
469
			model.addAttribute("url", "/getPaginatedTransferredRefferals");
470
 
471
		} else {
472
			model.addAttribute("refferals", refferals);
473
 
474
		}
475
 
476
		return "refferal-paginated";
477
	}
478
}