diff --git a/src/main/java/org/lucoenergia/conluz/domain/admin/supply/sync/DatadisSuppliesSyncService.java b/src/main/java/org/lucoenergia/conluz/domain/admin/supply/sync/DatadisSuppliesSyncService.java index 5cccb36..95a2762 100644 --- a/src/main/java/org/lucoenergia/conluz/domain/admin/supply/sync/DatadisSuppliesSyncService.java +++ b/src/main/java/org/lucoenergia/conluz/domain/admin/supply/sync/DatadisSuppliesSyncService.java @@ -46,6 +46,9 @@ public void synchronizeSupplies() { .collect(Collectors.toMap(Supply::getCode, supply -> supply)); for (User user : allUsers) { + + LOGGER.info("Processing users with ID {}", user.getId()); + List datadisSupplies = getSupplyRepositoryDatadis.getSuppliesByUser(user); for (DatadisSupply datadisSupply : datadisSupplies) { Supply supply = allSupplies.get(datadisSupply.getCups()); diff --git a/src/main/java/org/lucoenergia/conluz/domain/consumption/datadis/sync/DatadisConsumptionSyncService.java b/src/main/java/org/lucoenergia/conluz/domain/consumption/datadis/sync/DatadisConsumptionSyncService.java index ea58aa6..be1ccc7 100644 --- a/src/main/java/org/lucoenergia/conluz/domain/consumption/datadis/sync/DatadisConsumptionSyncService.java +++ b/src/main/java/org/lucoenergia/conluz/domain/consumption/datadis/sync/DatadisConsumptionSyncService.java @@ -1,5 +1,6 @@ package org.lucoenergia.conluz.domain.consumption.datadis.sync; +import org.apache.commons.lang3.StringUtils; import org.lucoenergia.conluz.domain.admin.supply.Supply; import org.lucoenergia.conluz.domain.admin.supply.get.GetSupplyRepository; import org.lucoenergia.conluz.domain.consumption.datadis.DatadisConsumption; @@ -49,6 +50,11 @@ public void synchronizeConsumptions() { for (Supply supply : allSupplies) { + if (StringUtils.isBlank(supply.getDatadisDistributorCode())) { + LOGGER.warn("Skipping supply with ID: {} because does not have distributor code", supply.getId()); + continue; + } + LOGGER.info("Processing supply with ID: {}", supply.getId()); // Get validity date diff --git a/src/main/java/org/lucoenergia/conluz/infrastructure/consumption/datadis/get/GetDatadisConsumptionRepositoryRest.java b/src/main/java/org/lucoenergia/conluz/infrastructure/consumption/datadis/get/GetDatadisConsumptionRepositoryRest.java index 0203a39..ab54bd6 100644 --- a/src/main/java/org/lucoenergia/conluz/infrastructure/consumption/datadis/get/GetDatadisConsumptionRepositoryRest.java +++ b/src/main/java/org/lucoenergia/conluz/infrastructure/consumption/datadis/get/GetDatadisConsumptionRepositoryRest.java @@ -101,7 +101,7 @@ public List getHourlyConsumptionsByMonth(@NotNull Supply sup result.addAll(consumptions); } else { LOGGER.error("Unable to get consumptions for supply with ID {}. Code {}, message: {}", - supply.getCode(), response.code(), response.body() != null ? response.body().string() : response.message()); + supply.getId(), response.code(), response.body() != null ? response.body().string() : response.message()); } } catch (IOException e) { LOGGER.error("Unable to get consumptions from datadis.es", e); diff --git a/src/test/java/org/lucoenergia/conluz/domain/consumption/datadis/sync/DatadisConsumptionSyncServiceTest.java b/src/test/java/org/lucoenergia/conluz/domain/consumption/datadis/sync/DatadisConsumptionSyncServiceTest.java index 6c167d0..d5ce393 100644 --- a/src/test/java/org/lucoenergia/conluz/domain/consumption/datadis/sync/DatadisConsumptionSyncServiceTest.java +++ b/src/test/java/org/lucoenergia/conluz/domain/consumption/datadis/sync/DatadisConsumptionSyncServiceTest.java @@ -61,6 +61,10 @@ void testSynchronizeConsumptionsValidDateFromNull() { Supply supplyWithMoreThanOneYearValidDateFrom = SupplyMother.random() .withDatadisValidDateFrom(LocalDate.now().minusMonths(24)).build(); supplyWithMoreThanOneYearValidDateFrom = createSupplyRepository.create(supplyWithMoreThanOneYearValidDateFrom, UserId.of(user.getId())); + Supply supplyWithoutDistributorCode = SupplyMother.random() + .withDatadisDistributorCode(null) + .withDatadisValidDateFrom(LocalDate.now().minusMonths(24)).build(); + supplyWithoutDistributorCode = createSupplyRepository.create(supplyWithoutDistributorCode, UserId.of(user.getId())); List consumptions = List.of(mock(DatadisConsumption.class)); when(getDatadisConsumptionRepository.getHourlyConsumptionsByMonth(any(Supply.class), any(Month.class), anyInt())) @@ -76,6 +80,8 @@ void testSynchronizeConsumptionsValidDateFromNull() { .getHourlyConsumptionsByMonth(eq(supplyWithNotNullValidDateFrom), any(Month.class), anyInt()); verify(getDatadisConsumptionRepository, times(12)) .getHourlyConsumptionsByMonth(eq(supplyWithMoreThanOneYearValidDateFrom), any(Month.class), anyInt()); + verify(getDatadisConsumptionRepository, times(0)) + .getHourlyConsumptionsByMonth(eq(supplyWithoutDistributorCode), any(Month.class), anyInt()); verify(persistDatadisConsumptionRepository, times(21)).persistConsumptions(anyList()); } } \ No newline at end of file