public void updateInfoOfProductInEshop(ProductInEshopInfoUpdateDto priceUpdateDto) { val.notNull(priceUpdateDto, "priceUpdateDto is null"); val.notNull(priceUpdateDto.getId(), "id is null"); // TODO validacie ProductInEshopEntity entity = productInEshopDao.readMandatory(priceUpdateDto.getId()); entity.setPriceForUnit(priceUpdateDto.getPriceForUnit()); entity.setPriceForPackage(priceUpdateDto.getPriceForPackage()); entity.setPriceForOneItemInPackage(priceUpdateDto.getPriceForOneItemInPackage()); entity.setLastUpdatedPrice(new Date()); entity.setUpdateStatus(ProductInEshopUpdateStatus.OK); // TODO ako jeden // nastavenie best price if (notExistBestPrice(entity)) { entity.setBestPrice(priceUpdateDto.getPriceForPackage()); } else { if (isBestPriceGreaterThanActualPriceForPackage(priceUpdateDto, entity)) { // nastav lepsiu cenu entity.setBestPrice(priceUpdateDto.getPriceForPackage()); } } entity.setProductAction(priceUpdateDto.getProductAction()); entity.setActionValidTo(priceUpdateDto.getActionValidTo()); entity.setProductNameInEhop(priceUpdateDto.getProductName()); entity.setProductPictureUrl(priceUpdateDto.getPictureUrl()); productInEshopDao.update(entity); }
private boolean isBestPriceGreaterThanActualPriceForPackage( ProductInEshopInfoUpdateDto priceUpdateDto, ProductInEshopEntity entity) { return entity.getBestPrice().compareTo(priceUpdateDto.getPriceForPackage()) > 0; }