Subversion Repositories SmartDukaan

Rev

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

Rev 32868 Rev 33043
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) {