diff --git a/pom.xml b/pom.xml
index 38b5337..59a2417 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
${server.port} ${management.port}
${env.REGISTRY}
1.119-7d5622c
- 1.108-0800fde
+ 1.121-c3e5076
0.12.6
1.681-7a97267
diff --git a/src/main/java/dev/vality/fraudbusters/api/configuration/FraudbustersConfig.java b/src/main/java/dev/vality/fraudbusters/api/configuration/FraudbustersConfig.java
index 67dd059..341bb3a 100644
--- a/src/main/java/dev/vality/fraudbusters/api/configuration/FraudbustersConfig.java
+++ b/src/main/java/dev/vality/fraudbusters/api/configuration/FraudbustersConfig.java
@@ -1,5 +1,6 @@
package dev.vality.fraudbusters.api.configuration;
+import dev.vality.damsel.fraudbusters.InspectorServiceSrv;
import dev.vality.damsel.fraudbusters.PaymentServiceSrv;
import dev.vality.damsel.proxy_inspector.InspectorProxySrv;
import dev.vality.woody.thrift.impl.http.THSpawnClientBuilder;
@@ -22,6 +23,15 @@ public PaymentServiceSrv.Iface paymentServiceSrv(
.withAddress(resource.getURI()).build(PaymentServiceSrv.Iface.class);
}
+ @Bean
+ public InspectorServiceSrv.Iface inspectorServiceSrv(
+ @Value("${fraudbusters.service.user.inspector.url}") Resource resource,
+ @Value("${fraudbusters.service.user.inspector.networkTimeout}") int networkTimeout) throws IOException {
+ return new THSpawnClientBuilder()
+ .withNetworkTimeout(networkTimeout)
+ .withAddress(resource.getURI()).build(InspectorServiceSrv.Iface.class);
+ }
+
@Bean
public InspectorProxySrv.Iface proxyInspectorSrv(
@Value("${fraudbusters.service.inspector.url}") Resource resource,
diff --git a/src/main/java/dev/vality/fraudbusters/api/converter/ShopContextToMerchantConverter.java b/src/main/java/dev/vality/fraudbusters/api/converter/ShopContextToMerchantConverter.java
index c2f4ca1..0352213 100644
--- a/src/main/java/dev/vality/fraudbusters/api/converter/ShopContextToMerchantConverter.java
+++ b/src/main/java/dev/vality/fraudbusters/api/converter/ShopContextToMerchantConverter.java
@@ -1,6 +1,6 @@
package dev.vality.fraudbusters.api.converter;
-import dev.vality.damsel.proxy_inspector.ShopContext;
+import dev.vality.damsel.fraudbusters.ShopContext;
import dev.vality.swag.fraudbusters.model.Merchant;
import dev.vality.swag.fraudbusters.model.Shop;
import org.springframework.core.convert.converter.Converter;
@@ -11,18 +11,10 @@ public class ShopContextToMerchantConverter implements Converter {
- private static final String MOCK_UNUSED_DATA = "MOCK_UNUSED_DATA";
-
@Override
public InspectUserContext convert(UserInspectRequest request) {
- ContactInfo userInfo = buildContactInfo(request.getCustomer());
+ ClientInfo userInfo = buildContactInfo(request.getCustomer());
List shopContexts = Optional.ofNullable(request.getMerchants())
.orElse(Collections.emptyList())
.stream()
@@ -35,38 +32,24 @@ public InspectUserContext convert(UserInspectRequest request) {
.setShopList(shopContexts);
}
- private ContactInfo buildContactInfo(Customer customer) {
+ private ClientInfo buildContactInfo(Customer customer) {
Contact contact = Optional.ofNullable(customer)
.map(Customer::getContact)
.orElseGet(Contact::new);
- return new ContactInfo()
+ ClientInfo clientInfo = new ClientInfo();
+ if (customer != null && customer.getDevice() != null) {
+ clientInfo.setFingerprint(customer.getDevice().getFingerprint())
+ .setIp(customer.getDevice().getIp());
+ }
+ return clientInfo
.setEmail(contact.getEmail())
- .setPhoneNumber(contact.getPhone());
+ .setPhone(contact.getPhone());
}
private ShopContext buildShopContext(Merchant merchant) {
- Party party = buildParty(merchant);
- dev.vality.damsel.proxy_inspector.Shop shop = buildShop(merchant);
return new ShopContext()
- .setParty(party)
- .setShop(shop);
- }
-
- private Party buildParty(Merchant merchant) {
- return new Party()
- .setPartyRef(new PartyConfigRef()
- .setId(merchant.getId()));
+ .setPartyId(merchant.getId())
+ .setShopId(merchant.getShop().getId());
}
- private dev.vality.damsel.proxy_inspector.Shop buildShop(Merchant merchant) {
- dev.vality.swag.fraudbusters.model.Shop shop = merchant.getShop();
- return new dev.vality.damsel.proxy_inspector.Shop()
- .setShopRef(new ShopConfigRef()
- .setId(shop.getId()))
- .setName(shop.getName())
- .setCategory(new Category()
- .setName(shop.getCategory())
- .setDescription(MOCK_UNUSED_DATA))
- .setLocation(ShopLocation.url(shop.getLocation()));
- }
}
diff --git a/src/main/java/dev/vality/fraudbusters/api/converter/WithdrawalsRequestToWithdrawalsConverter.java b/src/main/java/dev/vality/fraudbusters/api/converter/WithdrawalsRequestToWithdrawalsConverter.java
index 6ed3f4e..6bdefea 100644
--- a/src/main/java/dev/vality/fraudbusters/api/converter/WithdrawalsRequestToWithdrawalsConverter.java
+++ b/src/main/java/dev/vality/fraudbusters/api/converter/WithdrawalsRequestToWithdrawalsConverter.java
@@ -39,7 +39,6 @@ private Withdrawal mapWithdrawal(dev.vality.swag.fraudbusters.model.Withdrawal i
.setError(errorToInternalDtoConverter.convert(item.getError()))
.setAccount(new Account()
.setId(item.getAccount().getId())
- .setIdentity(UNKNOWN)
.setCurrency(new CurrencyRef(item.getAccount().getCurrency())))
.setDestinationResource(paymentResourceToResourceConverter.convert(item.getPaymentResource()));
}
diff --git a/src/main/java/dev/vality/fraudbusters/api/resource/UserInspectorResource.java b/src/main/java/dev/vality/fraudbusters/api/resource/UserInspectorResource.java
index eae5907..a2fd941 100644
--- a/src/main/java/dev/vality/fraudbusters/api/resource/UserInspectorResource.java
+++ b/src/main/java/dev/vality/fraudbusters/api/resource/UserInspectorResource.java
@@ -1,6 +1,6 @@
package dev.vality.fraudbusters.api.resource;
-import dev.vality.damsel.proxy_inspector.InspectUserContext;
+import dev.vality.damsel.fraudbusters.InspectUserContext;
import dev.vality.fraudbusters.api.service.FraudbustersInspectorService;
import dev.vality.swag.fraudbusters.api.InspectUserApi;
import dev.vality.swag.fraudbusters.model.UserInspectRequest;
diff --git a/src/main/java/dev/vality/fraudbusters/api/service/FraudbustersInspectorService.java b/src/main/java/dev/vality/fraudbusters/api/service/FraudbustersInspectorService.java
index 5ee7394..61fa84e 100644
--- a/src/main/java/dev/vality/fraudbusters/api/service/FraudbustersInspectorService.java
+++ b/src/main/java/dev/vality/fraudbusters/api/service/FraudbustersInspectorService.java
@@ -1,7 +1,12 @@
package dev.vality.fraudbusters.api.service;
import dev.vality.damsel.domain.RiskScore;
-import dev.vality.damsel.proxy_inspector.*;
+import dev.vality.damsel.fraudbusters.BlockedShops;
+import dev.vality.damsel.fraudbusters.InspectUserContext;
+import dev.vality.damsel.fraudbusters.InspectorServiceSrv;
+import dev.vality.damsel.fraudbusters.ShopContext;
+import dev.vality.damsel.proxy_inspector.Context;
+import dev.vality.damsel.proxy_inspector.InspectorProxySrv;
import dev.vality.fraudbusters.api.exceptions.RemoteInvocationException;
import dev.vality.swag.fraudbusters.model.Merchant;
import dev.vality.swag.fraudbusters.model.RiskScoreResult;
@@ -16,6 +21,7 @@
public class FraudbustersInspectorService {
private final InspectorProxySrv.Iface proxyInspectorSrv;
+ private final InspectorServiceSrv.Iface inspectorServiceSrv;
private final Converter shopContextToMerchantConverter;
public dev.vality.swag.fraudbusters.model.RiskScore inspectPayment(Context context) {
@@ -31,7 +37,7 @@ public dev.vality.swag.fraudbusters.model.RiskScore inspectPayment(Context conte
public UserInspectResult inspectUser(InspectUserContext context) {
try {
- BlockedShops blockedShops = proxyInspectorSrv.inspectUser(context);
+ BlockedShops blockedShops = inspectorServiceSrv.inspectUserShops(context);
UserInspectResult result = new UserInspectResult();
if (blockedShops != null && blockedShops.getShopList() != null) {
result.setBlockedMerchants(blockedShops.getShopList().stream()
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index f9e6fa5..e38a7ff 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -47,3 +47,6 @@ fraudbusters:
inspector:
url: http://localhost:8022
networkTimeout: 10000
+ user.inspector:
+ url: http://localhost:8022
+ networkTimeout: 10000
diff --git a/src/test/java/dev/vality/fraudbusters/api/converter/CustomerToInternalDtoConverterTest.java b/src/test/java/dev/vality/fraudbusters/api/converter/CustomerToInternalDtoConverterTest.java
index 8c746cf..bdbc98a 100644
--- a/src/test/java/dev/vality/fraudbusters/api/converter/CustomerToInternalDtoConverterTest.java
+++ b/src/test/java/dev/vality/fraudbusters/api/converter/CustomerToInternalDtoConverterTest.java
@@ -19,8 +19,8 @@ void convert() throws TException {
assertNotNull(clientInfo);
clientInfo.validate();
- assertEquals(ApiBeanGenerator.EMAIL, clientInfo.getEmail());
- assertEquals(ApiBeanGenerator.FINGERPRINT, clientInfo.getFingerprint());
- assertEquals(ApiBeanGenerator.IP, clientInfo.getIp());
+ assertEquals(ApiBeanGenerator.EMAIL, clientInfo.getEmail().get());
+ assertEquals(ApiBeanGenerator.FINGERPRINT, clientInfo.getFingerprint().get());
+ assertEquals(ApiBeanGenerator.IP, clientInfo.getIp().get());
}
}
diff --git a/src/test/java/dev/vality/fraudbusters/api/converter/ErrorToInternalDtoConverterTest.java b/src/test/java/dev/vality/fraudbusters/api/converter/ErrorToInternalDtoConverterTest.java
index c946c6b..de2db8b 100644
--- a/src/test/java/dev/vality/fraudbusters/api/converter/ErrorToInternalDtoConverterTest.java
+++ b/src/test/java/dev/vality/fraudbusters/api/converter/ErrorToInternalDtoConverterTest.java
@@ -20,6 +20,6 @@ void convert() throws TException {
error.validate();
assertEquals(ApiBeanGenerator.ERROR_CODE, error.getErrorCode());
- assertEquals(ApiBeanGenerator.ERROR_REASON, error.getErrorReason());
+ assertEquals(ApiBeanGenerator.ERROR_REASON, error.getErrorReason().get());
}
}
diff --git a/src/test/java/dev/vality/fraudbusters/api/converter/FraudPaymentsRequestToFraudPaymentsConverterTest.java b/src/test/java/dev/vality/fraudbusters/api/converter/FraudPaymentsRequestToFraudPaymentsConverterTest.java
index a378540..30aa648 100644
--- a/src/test/java/dev/vality/fraudbusters/api/converter/FraudPaymentsRequestToFraudPaymentsConverterTest.java
+++ b/src/test/java/dev/vality/fraudbusters/api/converter/FraudPaymentsRequestToFraudPaymentsConverterTest.java
@@ -27,9 +27,9 @@ void convert() {
FraudPayment fraudPayment = fraudPayments.get(0);
assertNotNull(fraudPayment);
- assertEquals(ApiBeanGenerator.COMMENT, fraudPayment.getComment());
+ assertEquals(ApiBeanGenerator.COMMENT, fraudPayment.getComment().get());
assertNotNull(fraudPayment.getEventTime());
assertEquals(ApiBeanGenerator.PAYMENT_ID, fraudPayment.getId());
- assertEquals(ApiBeanGenerator.TYPE, fraudPayment.getType());
+ assertEquals(ApiBeanGenerator.TYPE, fraudPayment.getType().get());
}
}
diff --git a/src/test/java/dev/vality/fraudbusters/api/converter/PaymentsChangesRequestToPaymentsConverterTest.java b/src/test/java/dev/vality/fraudbusters/api/converter/PaymentsChangesRequestToPaymentsConverterTest.java
index c71bff1..5ac49e0 100644
--- a/src/test/java/dev/vality/fraudbusters/api/converter/PaymentsChangesRequestToPaymentsConverterTest.java
+++ b/src/test/java/dev/vality/fraudbusters/api/converter/PaymentsChangesRequestToPaymentsConverterTest.java
@@ -54,7 +54,7 @@ void convert() {
assertEquals(ApiBeanGenerator.ID, payment.getId());
assertNotNull(payment.getEventTime());
assertEquals(PaymentStatus.captured, payment.getStatus());
- assertFalse(payment.isMobile());
- assertTrue(payment.isRecurrent());
+ assertFalse(payment.mobile);
+ assertTrue(payment.recurrent);
}
}
diff --git a/src/test/java/dev/vality/fraudbusters/api/converter/ProviderToInternalDtoConverterTest.java b/src/test/java/dev/vality/fraudbusters/api/converter/ProviderToInternalDtoConverterTest.java
index 921f9db..c765698 100644
--- a/src/test/java/dev/vality/fraudbusters/api/converter/ProviderToInternalDtoConverterTest.java
+++ b/src/test/java/dev/vality/fraudbusters/api/converter/ProviderToInternalDtoConverterTest.java
@@ -20,7 +20,7 @@ void convert() throws TException {
providerInfo.validate();
assertEquals(ApiBeanGenerator.PROVIDER_ID, providerInfo.getProviderId());
- assertEquals(ApiBeanGenerator.RUS, providerInfo.getCountry());
+ assertEquals(ApiBeanGenerator.RUS, providerInfo.getCountry().get());
assertEquals(ApiBeanGenerator.TERMINAL_ID, providerInfo.getTerminalId());
}
}