| Line 524... |
Line 524... |
| 524 |
if (scheme.getExpireTimestamp() == null) {
|
524 |
if (scheme.getExpireTimestamp() == null) {
|
| 525 |
if (extendDatetime.isBefore(scheme.getStartDateTime())) {
|
525 |
if (extendDatetime.isBefore(scheme.getStartDateTime())) {
|
| 526 |
throw new ProfitMandiBusinessException(ProfitMandiConstants.END_DATE,
|
526 |
throw new ProfitMandiBusinessException(ProfitMandiConstants.END_DATE,
|
| 527 |
extendDatetime.toString(), "End date cannot be before start date");
|
527 |
extendDatetime.toString(), "End date cannot be before start date");
|
| 528 |
}
|
528 |
}
|
| - |
|
529 |
LocalDateTime originalEndDate = scheme.getEndDateTime();
|
| 529 |
scheme.setEndDateTime(extendDatetime);
|
530 |
scheme.setEndDateTime(extendDatetime);
|
| 530 |
schemeRepository.persist(scheme);
|
531 |
schemeRepository.persist(scheme);
|
| - |
|
532 |
propagateEndDateToSchemeItems(scheme.getId(), originalEndDate, extendDatetime);
|
| 531 |
}
|
533 |
}
|
| 532 |
}
|
534 |
}
|
| 533 |
model.addAttribute("response1", mvcResponseSender.createResponseString(true));
|
535 |
model.addAttribute("response1", mvcResponseSender.createResponseString(true));
|
| 534 |
return "response";
|
536 |
return "response";
|
| 535 |
}
|
537 |
}
|
| 536 |
model.addAttribute("response1", mvcResponseSender.createResponseString(false));
|
538 |
model.addAttribute("response1", mvcResponseSender.createResponseString(false));
|
| 537 |
return "response";
|
539 |
return "response";
|
| 538 |
}
|
540 |
}
|
| 539 |
|
541 |
|
| - |
|
542 |
// When a scheme's end date is extended, carry the new end date over to the scheme_item rows
|
| - |
|
543 |
// that were tracking the scheme window (item end_date == the scheme's previous end date).
|
| - |
|
544 |
// Items with a custom window (different end_date) are left untouched, matching expireSchemeById.
|
| - |
|
545 |
private void propagateEndDateToSchemeItems(int schemeId, LocalDateTime originalEndDate, LocalDateTime newEndDate) {
|
| - |
|
546 |
List<SchemeItem> schemeItems = schemeItemRepository.selectBySchemeId(schemeId);
|
| - |
|
547 |
for (SchemeItem schemeItem : schemeItems) {
|
| - |
|
548 |
if (schemeItem.getEndDate() != null && schemeItem.getEndDate().equals(originalEndDate)) {
|
| - |
|
549 |
schemeItem.setEndDate(newEndDate);
|
| - |
|
550 |
schemeItemRepository.persist(schemeItem);
|
| - |
|
551 |
}
|
| - |
|
552 |
}
|
| - |
|
553 |
}
|
| - |
|
554 |
|
| 540 |
@RequestMapping(value = "/getCatalogDescriptionByBrands", method = RequestMethod.GET)
|
555 |
@RequestMapping(value = "/getCatalogDescriptionByBrands", method = RequestMethod.GET)
|
| 541 |
public String getTagListingItemsByBrand(HttpServletRequest request, @RequestParam int categoryId,
|
556 |
public String getTagListingItemsByBrand(HttpServletRequest request, @RequestParam int categoryId,
|
| 542 |
@RequestParam List<String> brands, Model model) throws Exception {
|
557 |
@RequestParam List<String> brands, Model model) throws Exception {
|
| 543 |
Map<Integer, String> catalogIdItemDescriptionMap = inventoryService.getModelDescriptionMap(categoryId, brands);
|
558 |
Map<Integer, String> catalogIdItemDescriptionMap = inventoryService.getModelDescriptionMap(categoryId, brands);
|
| 544 |
model.addAttribute("catalogIdItemDescriptionMap", catalogIdItemDescriptionMap);
|
559 |
model.addAttribute("catalogIdItemDescriptionMap", catalogIdItemDescriptionMap);
|
| Line 599... |
Line 614... |
| 599 |
if ((!(scheme.getActiveTimestamp() == null)) && scheme.getExpireTimestamp() == null) {
|
614 |
if ((!(scheme.getActiveTimestamp() == null)) && scheme.getExpireTimestamp() == null) {
|
| 600 |
if (extendDatetime.isBefore(scheme.getStartDateTime())) {
|
615 |
if (extendDatetime.isBefore(scheme.getStartDateTime())) {
|
| 601 |
throw new ProfitMandiBusinessException(ProfitMandiConstants.END_DATE,
|
616 |
throw new ProfitMandiBusinessException(ProfitMandiConstants.END_DATE,
|
| 602 |
extendDatetime.toString(), "End date cannot be before start date");
|
617 |
extendDatetime.toString(), "End date cannot be before start date");
|
| 603 |
}
|
618 |
}
|
| - |
|
619 |
LocalDateTime originalEndDate = scheme.getEndDateTime();
|
| 604 |
scheme.setEndDateTime(extendDatetime);
|
620 |
scheme.setEndDateTime(extendDatetime);
|
| 605 |
schemeRepository.persist(scheme);
|
621 |
schemeRepository.persist(scheme);
|
| - |
|
622 |
propagateEndDateToSchemeItems(scheme.getId(), originalEndDate, extendDatetime);
|
| 606 |
model.addAttribute("response1", mvcResponseSender.createResponseString(true));
|
623 |
model.addAttribute("response1", mvcResponseSender.createResponseString(true));
|
| 607 |
return "response";
|
624 |
return "response";
|
| 608 |
}
|
625 |
}
|
| 609 |
model.addAttribute("response1", mvcResponseSender.createResponseString(false));
|
626 |
model.addAttribute("response1", mvcResponseSender.createResponseString(false));
|
| 610 |
return "response";
|
627 |
return "response";
|