| Line 656... |
Line 656... |
| 656 |
|
656 |
|
| 657 |
model.addAttribute("customRetailersMap", customRetailersMap);
|
657 |
model.addAttribute("customRetailersMap", customRetailersMap);
|
| 658 |
model.addAttribute("itemCriteriaType", ItemCriteriaType.values());
|
658 |
model.addAttribute("itemCriteriaType", ItemCriteriaType.values());
|
| 659 |
model.addAttribute("brands", brands);
|
659 |
model.addAttribute("brands", brands);
|
| 660 |
model.addAttribute("partnerCategories", PartnerType.values());
|
660 |
model.addAttribute("partnerCategories", PartnerType.values());
|
| - |
|
661 |
model.addAttribute("warehouseRegion", ProfitMandiConstants.WAREHOUSE_MAP);
|
| - |
|
662 |
//model.addAttribute("brands", "");
|
| 661 |
return "scheme_offer";
|
663 |
return "scheme_offer";
|
| 662 |
|
664 |
|
| 663 |
}
|
665 |
}
|
| 664 |
|
666 |
|
| 665 |
@RequestMapping(value = "/createOffer", method = RequestMethod.POST)
|
667 |
@RequestMapping(value = "/createOffer", method = RequestMethod.POST)
|
| Line 668... |
Line 670... |
| 668 |
LOGGER.info("createOfferRequest" + createOfferRequest.getAmountOffer());
|
670 |
LOGGER.info("createOfferRequest" + createOfferRequest.getAmountOffer());
|
| 669 |
|
671 |
|
| 670 |
Offer offer = new Offer();
|
672 |
Offer offer = new Offer();
|
| 671 |
offer.setName(createOfferRequest.getName());
|
673 |
offer.setName(createOfferRequest.getName());
|
| 672 |
offer.setDescription(createOfferRequest.getDescription());
|
674 |
offer.setDescription(createOfferRequest.getDescription());
|
| 673 |
offer.setItemCreteria(createOfferRequest.getItemCriteria());
|
- |
|
| 674 |
offer.setTargetType(createOfferRequest.getTargetType());
|
675 |
offer.setTargetType(createOfferRequest.getTargetType());
|
| 675 |
offer.setAmountType(createOfferRequest.getAmountType());
|
676 |
offer.setAmountType(createOfferRequest.getAmountType());
|
| 676 |
offer.setStartDateTime(createOfferRequest.getStartDate());
|
677 |
offer.setStartDate(createOfferRequest.getStartDate());
|
| 677 |
offer.setEndDateTime(createOfferRequest.getEndDate());
|
678 |
offer.setEndDate(createOfferRequest.getEndDate());
|
| 678 |
offer.setPrice(createOfferRequest.getPrice());
|
- |
|
| 679 |
offer.setCreatedTimestamp(LocalDateTime.now());
|
679 |
offer.setCreatedTimestamp(LocalDateTime.now());
|
| 680 |
offer.setSchemeType(createOfferRequest.getSchemeType());
|
680 |
offer.setSchemeType(createOfferRequest.getSchemeType());
|
| - |
|
681 |
//offer.setItemCreteria(createOfferRequest.getItemCriteria());
|
| 681 |
offer.setCriteria(createOfferRequest.getCriteria());
|
682 |
//offer.setCriteria(createOfferRequest.getCriteria());
|
| 682 |
offer.setPartnerType(createOfferRequest.getPartnerType());
|
683 |
//offer.setPartnerType(createOfferRequest.getPartnerType());
|
| 683 |
|
684 |
|
| 684 |
if (createOfferRequest.getItemCriteria().equals(ItemCriteriaType.Item_Model)) {
|
685 |
if (createOfferRequest.getItemCriteria().equals(ItemCriteriaType.Item_Model)) {
|
| 685 |
ItemTypeParams itemTypeParams = new ItemTypeParams();
|
686 |
ItemTypeParams itemTypeParams = new ItemTypeParams();
|
| 686 |
itemTypeParams.setCatalogId(createOfferRequest.getCatalogIds());
|
687 |
itemTypeParams.setCatalogId(createOfferRequest.getCatalogIds());
|
| 687 |
SimpleItemType sit = new SimpleItemType(itemTypeParams);
|
688 |
SimpleItemType sit = new SimpleItemType(itemTypeParams);
|
| 688 |
sit.setItemTypeParams(itemTypeParams);
|
689 |
sit.setItemTypeParams(itemTypeParams);
|
| 689 |
offer.setItemParam(gson.toJson(itemTypeParams));
|
690 |
//offer.setItemParam(gson.toJson(itemTypeParams));
|
| 690 |
} else if (createOfferRequest.getItemCriteria().equals(ItemCriteriaType.Multiple_Brand)) {
|
691 |
} else if (createOfferRequest.getItemCriteria().equals(ItemCriteriaType.Multiple_Brand)) {
|
| 691 |
ItemTypeParams itemTypeParams = new ItemTypeParams();
|
692 |
ItemTypeParams itemTypeParams = new ItemTypeParams();
|
| 692 |
itemTypeParams.setBrands(createOfferRequest.getBrands());
|
693 |
itemTypeParams.setBrands(createOfferRequest.getBrands());
|
| 693 |
SimpleItemType sit = new SimpleItemType(itemTypeParams);
|
694 |
SimpleItemType sit = new SimpleItemType(itemTypeParams);
|
| 694 |
sit.setItemTypeParams(itemTypeParams);
|
695 |
sit.setItemTypeParams(itemTypeParams);
|
| 695 |
offer.setItemParam(gson.toJson(itemTypeParams));
|
696 |
//offer.setItemParam(gson.toJson(itemTypeParams));
|
| 696 |
}
|
697 |
}
|
| 697 |
|
698 |
|
| 698 |
offerRepository.persist(offer);
|
699 |
offerRepository.persist(offer);
|
| 699 |
if (createOfferRequest.getFofoIds().isEmpty()) {
|
700 |
if (createOfferRequest.getFofoIds().isEmpty()) {
|
| 700 |
List<Integer> fofoIds = fofoStoreRepository.selectActiveStores().stream().map(x -> x.getId())
|
701 |
List<Integer> fofoIds = fofoStoreRepository.selectActiveStores().stream().map(x -> x.getId())
|
| 701 |
.collect(Collectors.toList());
|
702 |
.collect(Collectors.toList());
|
| 702 |
for (Integer fofoId : fofoIds) {
|
703 |
for (Integer fofoId : fofoIds) {
|
| 703 |
PartnerType partnerType = partnerTypeChangeService.getTypeOnDate(fofoId,
|
704 |
PartnerType partnerType = partnerTypeChangeService.getTypeOnDate(fofoId,
|
| 704 |
offer.getStartDateTime().toLocalDate());
|
705 |
offer.getStartDate().toLocalDate());
|
| 705 |
if (offer.getPartnerType().equals(partnerType)) {
|
706 |
/*if (offer.getPartner().equals(partnerType)) {
|
| 706 |
LOGGER.info("partnerType" + partnerType);
|
707 |
LOGGER.info("partnerType" + partnerType);
|
| 707 |
LOGGER.info("fofoId" + fofoId);
|
708 |
LOGGER.info("fofoId" + fofoId);
|
| 708 |
|
709 |
|
| 709 |
OfferPartner op = new OfferPartner();
|
710 |
OfferPartner op = new OfferPartner();
|
| 710 |
op.setFofoId(fofoId);
|
711 |
op.setFofoId(fofoId);
|
| 711 |
op.setOfferId(offer.getId());
|
712 |
op.setOfferId(offer.getId());
|
| 712 |
offerPartnerRepository.persist(op);
|
713 |
offerPartnerRepository.persist(op);
|
| 713 |
}
|
714 |
}*/
|
| 714 |
|
715 |
|
| 715 |
}
|
716 |
}
|
| 716 |
}
|
717 |
}
|
| 717 |
|
718 |
|
| 718 |
else {
|
719 |
else {
|
| Line 830... |
Line 831... |
| 830 |
if (offer.getStatus() == false) {
|
831 |
if (offer.getStatus() == false) {
|
| 831 |
offer.setStatus(true);
|
832 |
offer.setStatus(true);
|
| 832 |
} else {
|
833 |
} else {
|
| 833 |
offer.setStatus(false);
|
834 |
offer.setStatus(false);
|
| 834 |
}
|
835 |
}
|
| - |
|
836 |
offer.setCreatedTimestamp(LocalDateTime.now());
|
| 835 |
model.addAttribute("response", mvcResponseSender.createResponseString(true));
|
837 |
model.addAttribute("response", mvcResponseSender.createResponseString(true));
|
| 836 |
return "response";
|
838 |
return "response";
|
| 837 |
|
839 |
|
| 838 |
}
|
840 |
}
|
| 839 |
|
841 |
|
| Line 846... |
Line 848... |
| 846 |
Map<Integer, CustomRetailer> customRetailersMap = retailerService.getFofoRetailers(fofoIds);
|
848 |
Map<Integer, CustomRetailer> customRetailersMap = retailerService.getFofoRetailers(fofoIds);
|
| 847 |
List<OfferPartner> offerPartners = offerPartnerRepository.selectByOfferId(offerId);
|
849 |
List<OfferPartner> offerPartners = offerPartnerRepository.selectByOfferId(offerId);
|
| 848 |
|
850 |
|
| 849 |
LOGGER.info("offerId" + offer.getId());
|
851 |
LOGGER.info("offerId" + offer.getId());
|
| 850 |
|
852 |
|
| 851 |
Map<Integer, Double> value = offerRepository.selectSumOfferByRetailer(offer.getStartDateTime(),
|
853 |
Map<Integer, Double> value = offerRepository.selectSumOfferByRetailer(offer.getStartDate(),
|
| 852 |
offer.getEndDateTime(), 0, offer, true);
|
854 |
offer.getEndDate(), 0, offer, true);
|
| 853 |
|
855 |
|
| 854 |
LOGGER.info("value" + value);
|
856 |
LOGGER.info("value" + value);
|
| 855 |
List<Offermargin> offerMargin = offerMarginRepository.selectByOfferId(offerId);
|
857 |
List<Offermargin> offerMargin = offerMarginRepository.selectByOfferId(offerId);
|
| 856 |
Map<Integer, Double> partnerValueMap = new HashMap<>();
|
858 |
Map<Integer, Double> partnerValueMap = new HashMap<>();
|
| 857 |
Map<Integer, List<Double>> partnerMarginMap = new HashMap<Integer, List<Double>>();
|
859 |
Map<Integer, List<Double>> partnerMarginMap = new HashMap<Integer, List<Double>>();
|
| Line 899... |
Line 901... |
| 899 |
|
901 |
|
| 900 |
LOGGER.info("partnerMarginMap" + partnerMarginMap);
|
902 |
LOGGER.info("partnerMarginMap" + partnerMarginMap);
|
| 901 |
LOGGER.info("partnerValueMap" + partnerValueMap);
|
903 |
LOGGER.info("partnerValueMap" + partnerValueMap);
|
| 902 |
LOGGER.info("shortageAmount" + shortageAmount);
|
904 |
LOGGER.info("shortageAmount" + shortageAmount);
|
| 903 |
|
905 |
|
| 904 |
ItemTypeParams scp = gson.fromJson(offer.getItemParam(), ItemTypeParams.class);
|
906 |
/* ItemTypeParams scp = gson.fromJson(offer.getItemParam(), ItemTypeParams.class);
|
| 905 |
if (offer.getItemCriteria().equals(ItemCriteriaType.Multiple_Brand)) {
|
907 |
if (offer.getItemCriteria().equals(ItemCriteriaType.Multiple_Brand)) {
|
| 906 |
List<String> brands = scp.getBrands();
|
908 |
List<String> brands = scp.getBrands();
|
| 907 |
model.addAttribute("brands", brands);
|
909 |
model.addAttribute("brands", brands);
|
| 908 |
}
|
910 |
}
|
| 909 |
if (offer.getItemCriteria().equals(ItemCriteriaType.Item_Model)) {
|
911 |
if (offer.getItemCriteria().equals(ItemCriteriaType.Item_Model)) {
|
| Line 915... |
Line 917... |
| 915 |
if (catalogId.add(item.getCatalogItemId())) {
|
917 |
if (catalogId.add(item.getCatalogItemId())) {
|
| 916 |
newList.add(item);
|
918 |
newList.add(item);
|
| 917 |
}
|
919 |
}
|
| 918 |
}
|
920 |
}
|
| 919 |
model.addAttribute("items", newList);
|
921 |
model.addAttribute("items", newList);
|
| 920 |
}
|
922 |
}*/
|
| 921 |
model.addAttribute("partnerMarginMap", partnerMarginMap);
|
923 |
model.addAttribute("partnerMarginMap", partnerMarginMap);
|
| 922 |
model.addAttribute("partnerValueMap", partnerValueMap);
|
924 |
model.addAttribute("partnerValueMap", partnerValueMap);
|
| 923 |
model.addAttribute("customRetailersMap", customRetailersMap);
|
925 |
model.addAttribute("customRetailersMap", customRetailersMap);
|
| 924 |
model.addAttribute("offerMargin", offerMargin);
|
926 |
model.addAttribute("offerMargin", offerMargin);
|
| 925 |
model.addAttribute("offer", offer);
|
927 |
model.addAttribute("offer", offer);
|
| Line 946... |
Line 948... |
| 946 |
|
948 |
|
| 947 |
LOGGER.info("ExtendDatetime" + extendDatetime);
|
949 |
LOGGER.info("ExtendDatetime" + extendDatetime);
|
| 948 |
LOGGER.info("schemeId" + offerId);
|
950 |
LOGGER.info("schemeId" + offerId);
|
| 949 |
Offer offer = offerRepository.selectById(offerId);
|
951 |
Offer offer = offerRepository.selectById(offerId);
|
| 950 |
|
952 |
|
| 951 |
offer.setEndDateTime(extendDatetime);
|
953 |
offer.setEndDate(extendDatetime);
|
| 952 |
offerRepository.persist(offer);
|
954 |
offerRepository.persist(offer);
|
| 953 |
model.addAttribute("response", mvcResponseSender.createResponseString(true));
|
955 |
model.addAttribute("response", mvcResponseSender.createResponseString(true));
|
| 954 |
|
956 |
|
| 955 |
return "response";
|
957 |
return "response";
|
| 956 |
}
|
958 |
}
|