| Line 24... |
Line 24... |
| 24 |
import com.spice.profitmandi.dao.repository.dtr.Mongo;
|
24 |
import com.spice.profitmandi.dao.repository.dtr.Mongo;
|
| 25 |
import com.spice.profitmandi.dao.repository.dtr.UserAccountRepository;
|
25 |
import com.spice.profitmandi.dao.repository.dtr.UserAccountRepository;
|
| 26 |
import com.spice.profitmandi.dao.repository.fofo.PartnerTypeChangeService;
|
26 |
import com.spice.profitmandi.dao.repository.fofo.PartnerTypeChangeService;
|
| 27 |
import com.spice.profitmandi.service.NotificationService;
|
27 |
import com.spice.profitmandi.service.NotificationService;
|
| 28 |
import com.spice.profitmandi.service.authentication.RoleManager;
|
28 |
import com.spice.profitmandi.service.authentication.RoleManager;
|
| - |
|
29 |
import com.spice.profitmandi.service.catalog.BrandsService;
|
| 29 |
import com.spice.profitmandi.service.offers.OfferService;
|
30 |
import com.spice.profitmandi.service.offers.OfferService;
|
| 30 |
import com.spice.profitmandi.service.user.RetailerService;
|
31 |
import com.spice.profitmandi.service.user.RetailerService;
|
| 31 |
import com.spice.profitmandi.service.whatsapp.WhatsappMessageType;
|
32 |
import com.spice.profitmandi.service.whatsapp.WhatsappMessageType;
|
| 32 |
import com.spice.profitmandi.web.model.LoginDetails;
|
33 |
import com.spice.profitmandi.web.model.LoginDetails;
|
| 33 |
import com.spice.profitmandi.web.util.CookiesProcessor;
|
34 |
import com.spice.profitmandi.web.util.CookiesProcessor;
|
| Line 115... |
Line 116... |
| 115 |
@Autowired
|
116 |
@Autowired
|
| 116 |
private com.spice.profitmandi.dao.repository.dtr.UserRepository dtrUserRepository;
|
117 |
private com.spice.profitmandi.dao.repository.dtr.UserRepository dtrUserRepository;
|
| 117 |
@Autowired
|
118 |
@Autowired
|
| 118 |
private VelocityEngine velocityEngine;
|
119 |
private VelocityEngine velocityEngine;
|
| 119 |
|
120 |
|
| - |
|
121 |
@Autowired
|
| - |
|
122 |
BrandsService brandsService;
|
| - |
|
123 |
|
| 120 |
@RequestMapping(value = "/getCreateOffer", method = RequestMethod.GET)
|
124 |
@RequestMapping(value = "/getCreateOffer", method = RequestMethod.GET)
|
| 121 |
public String getCreateOffer(HttpServletRequest request, Model model) throws ProfitMandiBusinessException {
|
125 |
public String getCreateOffer(HttpServletRequest request, Model model) throws ProfitMandiBusinessException {
|
| 122 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
|
126 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
|
| 123 |
List<Integer> fofoIds = fofoStoreRepository.selectActiveStores().stream().map(x -> x.getId())
|
127 |
List<Integer> fofoIds = fofoStoreRepository.selectActiveStores().stream().map(x -> x.getId())
|
| 124 |
.collect(Collectors.toList());
|
128 |
.collect(Collectors.toList());
|
| 125 |
|
129 |
|
| 126 |
Set<String> brands = mongoClient.getMongoBrands(loginDetails.getFofoId(), null, 3).stream()
|
130 |
Set<String> brands = brandsService.getBrands(loginDetails.getFofoId(), null, 3).stream().map(x->x.getName()).collect(Collectors.toSet());
|
| 127 |
.map(x -> (String) x.get("name")).collect(Collectors.toSet());
|
- |
|
| 128 |
brands.addAll(itemRepository.selectAllBrands(ProfitMandiConstants.LED_CATEGORY_ID));
|
131 |
brands.addAll(itemRepository.selectAllBrands(ProfitMandiConstants.LED_CATEGORY_ID));
|
| 129 |
//Lets allow demo
|
132 |
//Lets allow demo
|
| 130 |
brands.add("Live Demo");
|
133 |
brands.add("Live Demo");
|
| 131 |
|
134 |
|
| 132 |
Map<Integer, CustomRetailer> customRetailerMap = retailerService.getAllFofoRetailers();
|
135 |
Map<Integer, CustomRetailer> customRetailerMap = retailerService.getAllFofoRetailers();
|
| Line 245... |
Line 248... |
| 245 |
// ByteArrayInputStream(htmlContent.getBytes()));
|
248 |
// ByteArrayInputStream(htmlContent.getBytes()));
|
| 246 |
List<Integer> fofoIds = null;
|
249 |
List<Integer> fofoIds = null;
|
| 247 |
if (isProd) {
|
250 |
if (isProd) {
|
| 248 |
this.uploadFile(fileStreamsMap);
|
251 |
this.uploadFile(fileStreamsMap);
|
| 249 |
}
|
252 |
}
|
| 250 |
if (createOfferRequest.getPartnerCriteria().getRegionIds().size() > 0
|
- |
|
| 251 |
|| createOfferRequest.getPartnerCriteria().getFofoIds().size() > 0
|
- |
|
| 252 |
|| createOfferRequest.getPartnerCriteria().getPartnerTypes().size() > 0
|
- |
|
| 253 |
|| createOfferRequest.getPartnerCriteria().getExcludeFofoIds().size() > 0) {
|
- |
|
| - |
|
253 |
|
| 254 |
fofoIds = offersMap.entrySet().stream().filter(x -> x.getValue().contains(offer))
|
254 |
List<Integer> fofoIdSet = new ArrayList<>(offerRepository.getEligibleFofoIds(offer));
|
| 255 |
.map(x -> x.getKey()).collect(Collectors.toList());
|
255 |
LOGGER.info(fofoIdSet);
|
| 256 |
List<Integer> userIds = userAccountRepository.selectUserIdsByRetailerIds(fofoIds);
|
256 |
List<Integer> userIds = userAccountRepository.selectUserIdsByRetailerIds(new ArrayList<>(fofoIdSet));
|
| 257 |
sendNotificationModel.setUserIds(userIds);
|
257 |
sendNotificationModel.setUserIds(userIds);
|
| 258 |
notificationService.sendNotification(sendNotificationModel);
|
258 |
notificationService.sendNotification(sendNotificationModel);
|
| 259 |
} else {
|
- |
|
| 260 |
notificationService.sendNotificationToAll(sendNotificationModel);
|
- |
|
| 261 |
}
|
- |
|
| 262 |
this.sendWhatsapp(offer, fofoIds, imageUrl);
|
259 |
sendWhatsapp(offer, fofoIds, imageUrl);
|
| 263 |
|
260 |
|
| 264 |
}
|
261 |
}
|
| 265 |
|
262 |
|
| 266 |
private void sendWhatsapp(Offer offer, List<Integer> fofoIds, String imageUrl) throws Exception {
|
263 |
private void sendWhatsapp(Offer offer, List<Integer> fofoIds, String imageUrl) throws Exception {
|
| 267 |
if (fofoIds == null) {
|
264 |
if (fofoIds == null) {
|