diff --git a/pom.xml b/pom.xml index 283d687c..53fdf588 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ dev.vality service-parent-pom - 3.1.6 + 3.1.7 anapi-v2 diff --git a/src/main/java/dev/vality/anapi/v2/service/DominantService.java b/src/main/java/dev/vality/anapi/v2/service/DominantService.java index b6816ea2..2543fb38 100644 --- a/src/main/java/dev/vality/anapi/v2/service/DominantService.java +++ b/src/main/java/dev/vality/anapi/v2/service/DominantService.java @@ -4,6 +4,7 @@ import dev.vality.damsel.domain.*; import dev.vality.damsel.domain_config_v2.RepositoryClientSrv; import dev.vality.damsel.domain_config_v2.VersionReference; +import dev.vality.damsel.domain_config_v2.VersionedObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.thrift.TException; @@ -21,8 +22,7 @@ public class DominantService { public List getShopIds(String partyId, String realm) { try { log.info("Looking for shops, partyId={}, realm={}", partyId, realm); - List shopsRefs = getShopConfigRefs(partyId); - List shopsObjects = getShopConfigObjects(shopsRefs); + List shopsObjects = getShopConfigObjects(partyId); var shopIds = shopsObjects.stream() .filter(shopConfigObject -> realmMatches(realm, shopConfigObject)) .map(shopConfigObject -> shopConfigObject.getRef().getId()).toList(); @@ -33,16 +33,16 @@ public List getShopIds(String partyId, String realm) { } } - private List getShopConfigRefs(String partyId) throws TException { + private List getShopConfigObjects(String partyId) throws TException { var partyReference = Reference.party_config(new PartyConfigRef(partyId)); - var party = dominantClient.checkoutObject(new VersionReference(), partyReference); - return party.getObject().getPartyConfig().getData().getShops(); - } - - private List getShopConfigObjects(List shopConfigRefs) throws TException { - var shopConfigs = dominantClient.checkoutObjects(new VersionReference(), - shopConfigRefs.stream().map(Reference::shop_config).toList()); - return shopConfigs.stream().map(domainObject -> domainObject.getObject().getShopConfig()).toList(); + var versionedObjectWithReferences = + dominantClient.checkoutObjectWithReferences(new VersionReference(), partyReference); + var shopConfigObjects = versionedObjectWithReferences.getReferencedBy().stream() + .map(VersionedObject::getObject) + .map(DomainObject::getShopConfig) + .toList(); + log.debug("Receive shops for partyId: {}, shopConfigObjects ='{}'", partyId, shopConfigObjects); + return shopConfigObjects; } private boolean realmMatches(String expectedRealm, ShopConfigObject shopConfigObject) {