| Line 127... |
Line 127... |
| 127 |
.collect(Collectors.toList());
|
127 |
.collect(Collectors.toList());
|
| 128 |
|
128 |
|
| 129 |
Set<String> brands = mongoClient.getMongoBrands(loginDetails.getFofoId(), null, 3).stream()
|
129 |
Set<String> brands = mongoClient.getMongoBrands(loginDetails.getFofoId(), null, 3).stream()
|
| 130 |
.map(x -> (String) x.get("name")).collect(Collectors.toSet());
|
130 |
.map(x -> (String) x.get("name")).collect(Collectors.toSet());
|
| 131 |
|
131 |
|
| 132 |
Map<Integer, CustomRetailer> customRetailersMap = retailerService.getFofoRetailers(fofoIds);
|
132 |
Map<Integer, CustomRetailer> customRetailerMap = retailerService.getAllFofoRetailers();
|
| - |
|
133 |
|
| - |
|
134 |
Map<Integer, CustomRetailer> customRetailersMap = fofoIds.stream().map(x -> customRetailerMap.get(x))
|
| - |
|
135 |
.filter(x -> x != null).collect(Collectors.toList()).stream()
|
| - |
|
136 |
.collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
|
| 133 |
|
137 |
|
| 134 |
model.addAttribute("customRetailersMap", customRetailersMap);
|
138 |
model.addAttribute("customRetailersMap", customRetailersMap);
|
| 135 |
model.addAttribute("itemCriteriaType", ItemCriteriaType.values());
|
139 |
model.addAttribute("itemCriteriaType", ItemCriteriaType.values());
|
| 136 |
model.addAttribute("brands", brands);
|
140 |
model.addAttribute("brands", brands);
|
| 137 |
model.addAttribute("partnerCategories", PartnerType.values());
|
141 |
model.addAttribute("partnerCategories", PartnerType.values());
|
| Line 140... |
Line 144... |
| 140 |
|
144 |
|
| 141 |
}
|
145 |
}
|
| 142 |
|
146 |
|
| 143 |
@RequestMapping(value = "/createOffer", method = RequestMethod.POST)
|
147 |
@RequestMapping(value = "/createOffer", method = RequestMethod.POST)
|
| 144 |
public String createOffer(HttpServletRequest request, @RequestBody CreateOfferRequest createOfferRequest,
|
148 |
public String createOffer(HttpServletRequest request, @RequestBody CreateOfferRequest createOfferRequest,
|
| 145 |
Model model) throws Exception {
|
149 |
Model model) throws Exception {
|
| 146 |
LOGGER.info("createOfferRequest [{}]", createOfferRequest);
|
150 |
LOGGER.info("createOfferRequest [{}]", createOfferRequest);
|
| 147 |
offerService.addOfferService(createOfferRequest);
|
151 |
offerService.addOfferService(createOfferRequest);
|
| 148 |
thirtyMinsTimeOutCacheManager.getCache("allOffers").evict(YearMonth.now());
|
152 |
thirtyMinsTimeOutCacheManager.getCache("allOffers").evict(YearMonth.now());
|
| 149 |
model.addAttribute("response", mvcResponseSender.createResponseString(true));
|
153 |
model.addAttribute("response", mvcResponseSender.createResponseString(true));
|
| 150 |
return "response";
|
154 |
return "response";
|
| Line 159... |
Line 163... |
| 159 |
return "scheme_offer/published";
|
163 |
return "scheme_offer/published";
|
| 160 |
|
164 |
|
| 161 |
}
|
165 |
}
|
| 162 |
|
166 |
|
| 163 |
@RequestMapping(value = "/offer/active/{offerId}", method = RequestMethod.GET)
|
167 |
@RequestMapping(value = "/offer/active/{offerId}", method = RequestMethod.GET)
|
| 164 |
public String activateOffer(HttpServletRequest request, @PathVariable(name = "offerId") String offerIdsString, Model model,
|
168 |
public String activateOffer(HttpServletRequest request, @PathVariable(name = "offerId") String offerIdsString,
|
| 165 |
@RequestParam(defaultValue = "true") boolean active) throws ProfitMandiBusinessException, Exception {
|
169 |
Model model, @RequestParam(defaultValue = "true") boolean active)
|
| - |
|
170 |
throws ProfitMandiBusinessException, Exception {
|
| 166 |
List<Integer> offerIds = Arrays.stream(offerIdsString.split(",")).map(x -> Integer.parseInt(x)).collect(Collectors.toList());
|
171 |
List<Integer> offerIds = Arrays.stream(offerIdsString.split(",")).map(x -> Integer.parseInt(x))
|
| - |
|
172 |
.collect(Collectors.toList());
|
| 167 |
List<Offer> offers = offerRepository.selectAllByIds(offerIds);
|
173 |
List<Offer> offers = offerRepository.selectAllByIds(offerIds);
|
| 168 |
boolean shouldEvict = false;
|
174 |
boolean shouldEvict = false;
|
| 169 |
for (Offer offer : offers) {
|
175 |
for (Offer offer : offers) {
|
| 170 |
offer.setAlreadyActive(offer.isActive());
|
176 |
offer.setAlreadyActive(offer.isActive());
|
| 171 |
if (offer.isActive() != active) {
|
177 |
if (offer.isActive() != active) {
|
| Line 189... |
Line 195... |
| 189 |
// return "offer_margin_detail_partner2";
|
195 |
// return "offer_margin_detail_partner2";
|
| 190 |
}
|
196 |
}
|
| 191 |
|
197 |
|
| 192 |
@RequestMapping(value = "/offer/testimage/{offerId}", method = RequestMethod.GET)
|
198 |
@RequestMapping(value = "/offer/testimage/{offerId}", method = RequestMethod.GET)
|
| 193 |
public String testOffer(HttpServletRequest request, @PathVariable int offerId, Model model,
|
199 |
public String testOffer(HttpServletRequest request, @PathVariable int offerId, Model model,
|
| 194 |
@RequestParam(defaultValue = "true") boolean active) throws ProfitMandiBusinessException, Exception {
|
200 |
@RequestParam(defaultValue = "true") boolean active) throws ProfitMandiBusinessException, Exception {
|
| 195 |
Offer offer = offerRepository.selectById(offerId);
|
201 |
Offer offer = offerRepository.selectById(offerId);
|
| 196 |
// model.addAttribute("response", mvcResponseSender.createResponseString(true));
|
202 |
// model.addAttribute("response", mvcResponseSender.createResponseString(true));
|
| 197 |
// return "response";
|
203 |
// return "response";
|
| 198 |
CreateOfferRequest createOfferRequest = offerService.getCreateOfferRequest(offer);
|
204 |
CreateOfferRequest createOfferRequest = offerService.getCreateOfferRequest(offer);
|
| 199 |
model.addAttribute("offer", createOfferRequest);
|
205 |
model.addAttribute("offer", createOfferRequest);
|
| Line 203... |
Line 209... |
| 203 |
@Autowired
|
209 |
@Autowired
|
| 204 |
private com.spice.profitmandi.dao.repository.dtr.UserRepository dtrUserRepository;
|
210 |
private com.spice.profitmandi.dao.repository.dtr.UserRepository dtrUserRepository;
|
| 205 |
|
211 |
|
| 206 |
@RequestMapping(value = "/offer/active/fofo/{fofoId}", method = RequestMethod.GET)
|
212 |
@RequestMapping(value = "/offer/active/fofo/{fofoId}", method = RequestMethod.GET)
|
| 207 |
public String sendOfferNotification(HttpServletRequest request, @PathVariable int fofoId, Model model,
|
213 |
public String sendOfferNotification(HttpServletRequest request, @PathVariable int fofoId, Model model,
|
| 208 |
@RequestParam(defaultValue = "true") boolean active) throws ProfitMandiBusinessException, Exception {
|
214 |
@RequestParam(defaultValue = "true") boolean active) throws ProfitMandiBusinessException, Exception {
|
| 209 |
List<Offer> offers = offerRepository.selectAllPublishedMapByPartner(YearMonth.now()).get(fofoId);
|
215 |
List<Offer> offers = offerRepository.selectAllPublishedMapByPartner(YearMonth.now()).get(fofoId);
|
| 210 |
for (Offer offer : offers) {
|
216 |
for (Offer offer : offers) {
|
| 211 |
this.sendNotification(offer);
|
217 |
this.sendNotification(offer);
|
| 212 |
}
|
218 |
}
|
| 213 |
model.addAttribute("response", mvcResponseSender.createResponseString(true));
|
219 |
model.addAttribute("response", mvcResponseSender.createResponseString(true));
|
| Line 238... |
Line 244... |
| 238 |
Map<String, Object> model = new HashMap<>();
|
244 |
Map<String, Object> model = new HashMap<>();
|
| 239 |
model.put("offer", createOfferRequest);
|
245 |
model.put("offer", createOfferRequest);
|
| 240 |
String htmlContent = this.getContentFromTemplate("offer_margin_detail_partner.vm", model);
|
246 |
String htmlContent = this.getContentFromTemplate("offer_margin_detail_partner.vm", model);
|
| 241 |
LOGGER.info("this.getContentFromTemplate {}", htmlContent);
|
247 |
LOGGER.info("this.getContentFromTemplate {}", htmlContent);
|
| 242 |
fileStreamsMap.put(fileName, this.getImageBuffer(htmlContent));
|
248 |
fileStreamsMap.put(fileName, this.getImageBuffer(htmlContent));
|
| - |
|
249 |
// fileStreamsMap.put(htmlFileName, new
|
| 243 |
//fileStreamsMap.put(htmlFileName, new ByteArrayInputStream(htmlContent.getBytes()));
|
250 |
// ByteArrayInputStream(htmlContent.getBytes()));
|
| 244 |
|
251 |
|
| 245 |
this.uploadFile(fileStreamsMap);
|
252 |
this.uploadFile(fileStreamsMap);
|
| 246 |
if (createOfferRequest.getPartnerCriteria().getRegionIds().size() > 0
|
253 |
if (createOfferRequest.getPartnerCriteria().getRegionIds().size() > 0
|
| 247 |
|| createOfferRequest.getPartnerCriteria().getFofoIds().size() > 0
|
254 |
|| createOfferRequest.getPartnerCriteria().getFofoIds().size() > 0
|
| 248 |
|| createOfferRequest.getPartnerCriteria().getRegionIds().size() > 0) {
|
255 |
|| createOfferRequest.getPartnerCriteria().getRegionIds().size() > 0) {
|
| 249 |
List<Integer> fofoIds = offersMap.entrySet().stream().filter(x -> x.getValue().contains(offer))
|
256 |
List<Integer> fofoIds = offersMap.entrySet().stream().filter(x -> x.getValue().contains(offer))
|
| 250 |
.map(x -> x.getKey()).collect(Collectors.toList());
|
257 |
.map(x -> x.getKey()).collect(Collectors.toList());
|
| 251 |
List<Integer> userIds = userAccountRepository.selectUserIdsByRetailerIds(fofoIds);
|
258 |
List<Integer> userIds = userAccountRepository.selectUserIdsByRetailerIds(fofoIds);
|
| 252 |
sendNotificationModel.setUserIds(userIds);
|
259 |
sendNotificationModel.setUserIds(userIds);
|
| - |
|
260 |
/*
|
| 253 |
/*if(createOfferRequest.getPartnerCriteria().getRegionIds().size() > 0) {
|
261 |
* if(createOfferRequest.getPartnerCriteria().getRegionIds().size() > 0) {
|
| - |
|
262 |
* List<Integer> regionIds =
|
| 254 |
List<Integer> regionIds = createOfferRequest.getPartnerCriteria().getRegionIds();
|
263 |
* createOfferRequest.getPartnerCriteria().getRegionIds(); }
|
| 255 |
}*/
|
264 |
*/
|
| 256 |
notificationService.sendNotification(sendNotificationModel);
|
265 |
notificationService.sendNotification(sendNotificationModel);
|
| 257 |
} else {
|
266 |
} else {
|
| 258 |
notificationService.sendNotificationToAll(sendNotificationModel);
|
267 |
notificationService.sendNotificationToAll(sendNotificationModel);
|
| 259 |
}
|
268 |
}
|
| 260 |
|
269 |
|
| Line 397... |
Line 406... |
| 397 |
Arrays.asList("Id", "Name", "Target Type", "Scheme Type", "Brand %", "Sellin %", "Partner Criteria",
|
406 |
Arrays.asList("Id", "Name", "Target Type", "Scheme Type", "Brand %", "Sellin %", "Partner Criteria",
|
| 398 |
"Item Criteria", "Start", "End", "Created", "Partner Id", "Partner Name", "Partner Code",
|
407 |
"Item Criteria", "Start", "End", "Created", "Partner Id", "Partner Name", "Partner Code",
|
| 399 |
"Total Sale", "Eligible Sale", "Achieved Target", "Next Target", "Eligible Sale DP",
|
408 |
"Total Sale", "Eligible Sale", "Achieved Target", "Next Target", "Eligible Sale DP",
|
| 400 |
"Total Purchase DP", "Current Payout Target", "Payout Target Achieved", "Payout Amount Type",
|
409 |
"Total Purchase DP", "Current Payout Target", "Payout Target Achieved", "Payout Amount Type",
|
| 401 |
"Payout Value", "Payout Value DP", "Amount to be credited", "IMEIs pending for Activation"
|
410 |
"Payout Value", "Payout Value DP", "Amount to be credited", "IMEIs pending for Activation"
|
| 402 |
// "Payout Sale Qty", "Activated Value", "Activated Qty",
|
411 |
// "Payout Sale Qty", "Activated Value", "Activated Qty",
|
| 403 |
), listOfRows);
|
412 |
), listOfRows);
|
| 404 |
final InputStream inputStream = new ByteArrayInputStream(baos.toByteArray());
|
413 |
final InputStream inputStream = new ByteArrayInputStream(baos.toByteArray());
|
| 405 |
final InputStreamResource inputStreamResource = new InputStreamResource(inputStream);
|
414 |
final InputStreamResource inputStreamResource = new InputStreamResource(inputStream);
|
| 406 |
return new ResponseEntity<>(inputStreamResource, headers, HttpStatus.OK);
|
415 |
return new ResponseEntity<>(inputStreamResource, headers, HttpStatus.OK);
|
| 407 |
}
|
416 |
}
|
| Line 440... |
Line 449... |
| 440 |
@Autowired
|
449 |
@Autowired
|
| 441 |
RoleManager roleManager;
|
450 |
RoleManager roleManager;
|
| 442 |
|
451 |
|
| 443 |
@RequestMapping(value = "/getOfferMargins", method = RequestMethod.GET)
|
452 |
@RequestMapping(value = "/getOfferMargins", method = RequestMethod.GET)
|
| 444 |
public String getOfferMargins(HttpServletRequest request,
|
453 |
public String getOfferMargins(HttpServletRequest request,
|
| 445 |
@RequestParam(name = "offerId", defaultValue = "0") int offerId, Model model) throws Exception {
|
454 |
@RequestParam(name = "offerId", defaultValue = "0") int offerId, Model model) throws Exception {
|
| 446 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
|
455 |
LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
|
| 447 |
boolean isAdmin = roleManager.isAdmin(loginDetails.getRoleIds());
|
456 |
boolean isAdmin = roleManager.isAdmin(loginDetails.getRoleIds());
|
| 448 |
CreateOfferRequest createOfferRequest = offerService.getOffer(isAdmin ? 0 : loginDetails.getFofoId(), offerId);
|
457 |
CreateOfferRequest createOfferRequest = offerService.getOffer(isAdmin ? 0 : loginDetails.getFofoId(), offerId);
|
| 449 |
|
458 |
|
| 450 |
model.addAttribute("offer", createOfferRequest);
|
459 |
model.addAttribute("offer", createOfferRequest);
|