Created
November 16, 2020 11:12
-
-
Save dev-aritra/066191c60e5e9aecd37458f72242aae0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Component | |
public class StoreManagementDBAdapter implements StorePort, UpdateStoreCountInZipCodePort { | |
private final StoreRepository storeRepository; | |
private final ZipCodeRepository zipCodeRepository; | |
@Autowired | |
public StoreManagementDBAdapter(StoreRepository storeRepository, ZipCodeRepository zipCodeRepository) { | |
this.storeRepository = storeRepository; | |
this.zipCodeRepository = zipCodeRepository; | |
} | |
@Override | |
public Mono<Store> addStore(Store store) { | |
return storeRepository.save(StoreEntity.fromDomain(store)).map(StoreEntity::toDomain); | |
} | |
@Override | |
public void incrementStoreCount(String zipCode) { | |
zipCodeRepository.findByZipCode(zipCode) | |
.flatMap(zipCodeEntity -> zipCodeRepository.save(new ZipCodeEntity(zipCodeEntity.getId(), zipCodeEntity.getZipCode(), zipCodeEntity.getStoreCount() + 1))) | |
.subscribe(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment