Subversion Repositories SmartDukaan

Rev

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

Rev 35889 Rev 35924
Line 1647... Line 1647...
1647
                }
1647
                }
1648
            }
1648
            }
1649
        }
1649
        }
1650
        LOGGER.info("Updated targets for offer {} to {}", offerId, newTargets);
1650
        LOGGER.info("Updated targets for offer {} to {}", offerId, newTargets);
1651
    }
1651
    }
-
 
1652
 
-
 
1653
    @Override
-
 
1654
    public void updateOfferSlabs(com.spice.profitmandi.dao.model.UpdateOfferSlabsRequest request) throws ProfitMandiBusinessException {
-
 
1655
        Offer offer = offerRepository.selectById(request.getOfferId());
-
 
1656
        if (offer == null) {
-
 
1657
            throw new ProfitMandiBusinessException("Offer not found", "Offer not found", "");
-
 
1658
        }
-
 
1659
 
-
 
1660
        List<TargetSlabEntity> existingSlabs = offerTargetSlabRepository.selectEntitiesByOfferId(request.getOfferId());
-
 
1661
        Set<Integer> validSlabIds = existingSlabs.stream().map(TargetSlabEntity::getId).collect(Collectors.toSet());
-
 
1662
 
-
 
1663
        for (com.spice.profitmandi.dao.model.UpdateSlabRequest slab : request.getSlabs()) {
-
 
1664
            if (!validSlabIds.contains(slab.getId())) {
-
 
1665
                throw new ProfitMandiBusinessException("Invalid slab ID " + slab.getId(),
-
 
1666
                        "Slab does not belong to offer " + request.getOfferId(), "");
-
 
1667
            }
-
 
1668
            genericRepository.updateById(TargetSlabEntity.class, "payoutTarget", slab.getPayoutTarget(), slab.getId());
-
 
1669
            genericRepository.updateById(TargetSlabEntity.class, "payoutValue", slab.getPayoutValue(), slab.getId());
-
 
1670
        }
-
 
1671
        LOGGER.info("Updated slabs for offer {}: {}", request.getOfferId(), request.getSlabs());
-
 
1672
    }
1652
}
1673
}