| 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();
|