Subversion Repositories SmartDukaan

Rev

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

Rev 29890 Rev 29892
Line 1... Line 1...
1
package com.spice.profitmandi.web.controller;
1
package com.spice.profitmandi.web.controller;
2
 
2
 
3
import java.io.IOException;
3
import java.io.IOException;
-
 
4
import java.io.UnsupportedEncodingException;
4
import java.time.LocalDate;
5
import java.time.LocalDate;
5
import java.time.LocalDateTime;
6
import java.time.LocalDateTime;
6
import java.time.YearMonth;
7
import java.time.YearMonth;
7
import java.time.ZoneOffset;
8
import java.time.ZoneOffset;
8
import java.util.ArrayList;
9
import java.util.ArrayList;
Line 12... Line 13...
12
import java.util.List;
13
import java.util.List;
13
import java.util.Map;
14
import java.util.Map;
14
import java.util.Set;
15
import java.util.Set;
15
import java.util.stream.Collectors;
16
import java.util.stream.Collectors;
16
 
17
 
-
 
18
import javax.mail.MessagingException;
17
import javax.mail.internet.InternetAddress;
19
import javax.mail.internet.InternetAddress;
18
import javax.mail.internet.MimeMessage;
20
import javax.mail.internet.MimeMessage;
19
import javax.servlet.http.HttpServletRequest;
21
import javax.servlet.http.HttpServletRequest;
20
 
22
 
21
import org.apache.http.client.ClientProtocolException;
23
import org.apache.http.client.ClientProtocolException;
Line 64... Line 66...
64
import com.spice.profitmandi.dao.entity.user.Refferal;
66
import com.spice.profitmandi.dao.entity.user.Refferal;
65
import com.spice.profitmandi.dao.enumuration.catalog.ByPassRequestStatus;
67
import com.spice.profitmandi.dao.enumuration.catalog.ByPassRequestStatus;
66
import com.spice.profitmandi.dao.enumuration.dtr.RefferalStatus;
68
import com.spice.profitmandi.dao.enumuration.dtr.RefferalStatus;
67
import com.spice.profitmandi.dao.enumuration.dtr.RoleType;
69
import com.spice.profitmandi.dao.enumuration.dtr.RoleType;
68
import com.spice.profitmandi.dao.enumuration.dtr.StoreTimeline;
70
import com.spice.profitmandi.dao.enumuration.dtr.StoreTimeline;
-
 
71
import com.spice.profitmandi.dao.enumuration.transaction.PartnerOnBoardingStatus;
69
import com.spice.profitmandi.dao.model.CreateRefferalRequest;
72
import com.spice.profitmandi.dao.model.CreateRefferalRequest;
70
import com.spice.profitmandi.dao.model.DateRangeModel;
73
import com.spice.profitmandi.dao.model.DateRangeModel;
71
import com.spice.profitmandi.dao.model.OnBoardingTimelineModel;
74
import com.spice.profitmandi.dao.model.OnBoardingTimelineModel;
72
import com.spice.profitmandi.dao.model.UserCart;
75
import com.spice.profitmandi.dao.model.UserCart;
73
import com.spice.profitmandi.dao.repository.auth.AuthRepository;
76
import com.spice.profitmandi.dao.repository.auth.AuthRepository;
Line 135... Line 138...
135
	private RetailerRepository retailerRepository;
138
	private RetailerRepository retailerRepository;
136
 
139
 
137
	@Autowired
140
	@Autowired
138
	private UserRoleRepository userRoleRepository;
141
	private UserRoleRepository userRoleRepository;
139
 
142
 
140
	@Autowired	
143
	@Autowired
141
	private PartnerTypeChangeService partnerTypeChangeService;
144
	private PartnerTypeChangeService partnerTypeChangeService;
142
 
145
 
143
	@Autowired
146
	@Autowired
144
	private UserAccountRepository userAccountRepository;
147
	private UserAccountRepository userAccountRepository;
145
 
148
 
Line 630... Line 633...
630
			refferal.setRefereeEmail(user.getEmailId());
633
			refferal.setRefereeEmail(user.getEmailId());
631
			refferal.setRefereeMobile(user.getMobileNumber());
634
			refferal.setRefereeMobile(user.getMobileNumber());
632
		}
635
		}
633
 
636
 
634
		refferalRepository.persist(refferal);
637
		refferalRepository.persist(refferal);
-
 
638
 
-
 
639
		List<PartnerOnBoardingPanel> pobs = partnerOnBoardingPanelRepository
-
 
640
				.selectAllByPhoneNumber((Long.parseLong(refferal.getMobile())));
-
 
641
 
-
 
642
		if (!pobs.isEmpty()) {
-
 
643
 
-
 
644
			List<PartnerOnBoardingStatus> ponbStatus = pobs.stream().map(x -> x.getStatus())
-
 
645
					.collect(Collectors.toList());
-
 
646
 
-
 
647
			if (ponbStatus.contains(PartnerOnBoardingStatus.open)) {
-
 
648
				refferal.setStatus(RefferalStatus.rejected);
-
 
649
				refferal.setRejectedReason("This is already a Smartdukaan Partner.");
-
 
650
			} else if (ponbStatus.contains(PartnerOnBoardingStatus.pending)) {
-
 
651
				refferal.setStatus(RefferalStatus.rejected);
-
 
652
				refferal.setRejectedReason("This is already a Smartdukaan Partner.");
-
 
653
			} else {
-
 
654
				this.sendEmailToValidate(refferal);
-
 
655
			}
-
 
656
 
-
 
657
		} else {
-
 
658
 
-
 
659
			this.sendEmailToValidate(refferal);
-
 
660
 
-
 
661
		}
-
 
662
		return responseSender.ok(true);
-
 
663
	}
-
 
664
 
-
 
665
	private void sendEmailToValidate(Refferal refferal) throws MessagingException, UnsupportedEncodingException {
-
 
666
 
635
		String subject = "Referral Validate Request for " + refferal.getRefereeEmail();
667
		String subject = "Referral Validate Request for " + refferal.getRefereeEmail();
636
		String messageText = this.getMessageForReferral(refferal);
668
		String messageText = this.getMessageForReferral(refferal);
637
		MimeMessage message = mailSender.createMimeMessage();
669
		MimeMessage message = mailSender.createMimeMessage();
638
		MimeMessageHelper helper = new MimeMessageHelper(message, true);
670
		MimeMessageHelper helper = new MimeMessageHelper(message, true);
639
		String[] email = { "kamini.sharma@smartdukaan.com", "tarun.verma@smartdukaan.com" };
671
		String[] email = { "kamini.sharma@smartdukaan.com", "tarun.verma@smartdukaan.com" };
Line 642... Line 674...
642
		helper.setTo(email);
674
		helper.setTo(email);
643
		InternetAddress senderAddress = new InternetAddress("noreply@smartdukaan.com", "Smartdukaan Alerts");
675
		InternetAddress senderAddress = new InternetAddress("noreply@smartdukaan.com", "Smartdukaan Alerts");
644
		helper.setFrom(senderAddress);
676
		helper.setFrom(senderAddress);
645
		mailSender.send(message);
677
		mailSender.send(message);
646
 
678
 
647
		return responseSender.ok(true);
-
 
648
	}
679
	}
649
 
680
 
650
	private String getMessageForReferral(Refferal referral) {
681
	private String getMessageForReferral(Refferal referral) {
651
 
682
 
652
		StringBuilder sb = new StringBuilder();
683
		StringBuilder sb = new StringBuilder();