Subversion Repositories SmartDukaan

Rev

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

Rev 34137 Rev 34176
Line 12... Line 12...
12
import com.spice.profitmandi.dao.entity.catalog.Offer;
12
import com.spice.profitmandi.dao.entity.catalog.Offer;
13
import com.spice.profitmandi.dao.entity.fofo.PartnerType;
13
import com.spice.profitmandi.dao.entity.fofo.PartnerType;
14
import com.spice.profitmandi.dao.enumuration.catalog.ItemCriteriaType;
14
import com.spice.profitmandi.dao.enumuration.catalog.ItemCriteriaType;
15
import com.spice.profitmandi.dao.enumuration.catalog.OfferSchemeType;
15
import com.spice.profitmandi.dao.enumuration.catalog.OfferSchemeType;
16
import com.spice.profitmandi.dao.model.CreateOfferRequest;
16
import com.spice.profitmandi.dao.model.CreateOfferRequest;
-
 
17
import com.spice.profitmandi.dao.model.ItemCriteriaPayout;
17
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
18
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
18
import com.spice.profitmandi.dao.repository.catalog.OfferMarginRepository;
19
import com.spice.profitmandi.dao.repository.catalog.OfferMarginRepository;
19
import com.spice.profitmandi.dao.repository.catalog.OfferPartnerRepository;
20
import com.spice.profitmandi.dao.repository.catalog.OfferPartnerRepository;
20
import com.spice.profitmandi.dao.repository.catalog.OfferRepository;
21
import com.spice.profitmandi.dao.repository.catalog.OfferRepository;
21
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
22
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
Line 23... Line 24...
23
import com.spice.profitmandi.dao.repository.dtr.UserAccountRepository;
24
import com.spice.profitmandi.dao.repository.dtr.UserAccountRepository;
24
import com.spice.profitmandi.dao.repository.fofo.PartnerTypeChangeService;
25
import com.spice.profitmandi.dao.repository.fofo.PartnerTypeChangeService;
25
import com.spice.profitmandi.service.NotificationService;
26
import com.spice.profitmandi.service.NotificationService;
26
import com.spice.profitmandi.service.authentication.RoleManager;
27
import com.spice.profitmandi.service.authentication.RoleManager;
27
import com.spice.profitmandi.service.catalog.BrandsService;
28
import com.spice.profitmandi.service.catalog.BrandsService;
-
 
29
import com.spice.profitmandi.service.offers.ItemCriteria;
28
import com.spice.profitmandi.service.offers.OfferService;
30
import com.spice.profitmandi.service.offers.OfferService;
29
import com.spice.profitmandi.service.user.RetailerService;
31
import com.spice.profitmandi.service.user.RetailerService;
30
import com.spice.profitmandi.service.whatsapp.WhatsappMessageType;
32
import com.spice.profitmandi.service.whatsapp.WhatsappMessageType;
31
import com.spice.profitmandi.web.model.LoginDetails;
33
import com.spice.profitmandi.web.model.LoginDetails;
32
import com.spice.profitmandi.web.util.CookiesProcessor;
34
import com.spice.profitmandi.web.util.CookiesProcessor;
Line 423... Line 425...
423
        model.addAttribute("offer", offer);
425
        model.addAttribute("offer", offer);
424
        return "offer-edit";
426
        return "offer-edit";
425
 
427
 
426
    }
428
    }
427
 
429
 
428
    @RequestMapping(value = "/published-offers/{yearMonth}", method = RequestMethod.GET)
430
    @RequestMapping(value = "/published-offers", method = RequestMethod.GET)
429
    public String publishedOffersOnMonthBefore(HttpServletRequest request, @PathVariable int yearMonth, Model model)
431
    public String publishedOffersOnMonthBefore(HttpServletRequest request, @RequestParam int yearMonth, @RequestParam(required = false, defaultValue = "") String brandFilter, Model model)
430
            throws ProfitMandiBusinessException {
432
            throws ProfitMandiBusinessException {
-
 
433
        LOGGER.info("publishedOffersCalled");
431
        LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
434
        LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
432
        int fofoId = loginDetails.getFofoId();
435
        int fofoId = loginDetails.getFofoId();
433
        List<CreateOfferRequest> createOffers = offerService.getPublishedOffers(fofoId,
436
        List<CreateOfferRequest> createOffers = offerService.getPublishedOffers(fofoId,
434
                YearMonth.from(LocalDate.now()).minusMonths(yearMonth));
437
                YearMonth.from(LocalDate.now()).minusMonths(yearMonth));
435
 
438
 
-
 
439
        List<CreateOfferRequest> publishedOffers = new ArrayList<>();
-
 
440
        if(!brandFilter.isEmpty()){
-
 
441
            publishedOffers= createOffers.stream()
-
 
442
                    .filter(createOffer -> createOffer.getTargetSlabs().stream()
-
 
443
                            .map(x -> x.getItemCriteriaPayouts())
-
 
444
                            .flatMap(List::stream)
-
 
445
                            .map(ItemCriteriaPayout::getItemCriteria)
-
 
446
                            .map(ItemCriteria::getBrands)
-
 
447
                            .flatMap(List::stream)
-
 
448
                            .anyMatch(brand -> brand.equals(brandFilter)))
-
 
449
                    .collect(Collectors.toList());
-
 
450
        }else{
-
 
451
            publishedOffers.addAll(createOffers);
-
 
452
        }
-
 
453
 
436
        model.addAttribute("publishedOffers", createOffers);
454
        model.addAttribute("publishedOffers", publishedOffers);
437
 
455
 
438
        return "published-offers";
456
        return "published-offers";
439
    }
457
    }
440
 
458
 
441
    @PostMapping(value = "/offers/upload")
459
    @PostMapping(value = "/offers/upload")