mirror of
https://github.com/valitydev/fraudbusters-mg-connector.git
synced 2024-11-06 01:15:17 +00:00
TD-45: to dev.vality (#2)
This commit is contained in:
parent
a52b6b132d
commit
99c059eae2
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -1,4 +0,0 @@
|
|||||||
[submodule "build_utils"]
|
|
||||||
path = build_utils
|
|
||||||
url = git@github.com:rbkmoney/build_utils.git
|
|
||||||
branch = master
|
|
15
Jenkinsfile
vendored
15
Jenkinsfile
vendored
@ -1,15 +0,0 @@
|
|||||||
#!groovy
|
|
||||||
build('fraudbusters-mg-connector', 'java-maven') {
|
|
||||||
checkoutRepo()
|
|
||||||
loadBuildUtils()
|
|
||||||
|
|
||||||
def javaServicePipeline
|
|
||||||
runStage('load JavaService pipeline') {
|
|
||||||
javaServicePipeline = load("build_utils/jenkins_lib/pipeJavaServiceInsideDocker.groovy")
|
|
||||||
}
|
|
||||||
|
|
||||||
def serviceName = env.REPO_NAME
|
|
||||||
def mvnArgs = '-DjvmArgs="-Xmx256m"'
|
|
||||||
|
|
||||||
javaServicePipeline(serviceName, mvnArgs)
|
|
||||||
}
|
|
@ -6,13 +6,13 @@ Service for stream process mg-event-sink to local fraud model.
|
|||||||
|
|
||||||
![alt text](images/fb_mg_connector_scheme.png)
|
![alt text](images/fb_mg_connector_scheme.png)
|
||||||
|
|
||||||
Service read data from mg-event-sink using protocol [machinegun_proto](https://github.com/rbkmoney/machinegun_proto/blob/master/proto/event_sink.thrift).
|
Service read data from mg-event-sink using protocol [machinegun_proto](https://github.com/valitydev/machinegun_proto/blob/master/proto/event_sink.thrift).
|
||||||
Find need events:
|
Find need events:
|
||||||
- chargeback (with statuses - accepted, rejected, cancelled)
|
- chargeback (with statuses - accepted, rejected, cancelled)
|
||||||
- refund (with statuses - succeeded, failed)
|
- refund (with statuses - succeeded, failed)
|
||||||
- payment (with statuses - processed, captured, cancelled, failed)
|
- payment (with statuses - processed, captured, cancelled, failed)
|
||||||
|
|
||||||
Map to local fraudbusters model [fraudbusters_proto](https://github.com/rbkmoney/fraudbusters-proto/blob/master/proto/fraudbusters.thrift) and split to topics by events type
|
Map to local fraudbusters model [fraudbusters_proto](https://github.com/valitydev/fraudbusters-proto/blob/master/proto/fraudbusters.thrift) and split to topics by events type
|
||||||
|
|
||||||
- chargeback
|
- chargeback
|
||||||
- refund
|
- refund
|
||||||
|
@ -1 +0,0 @@
|
|||||||
Subproject commit a87ebf3ae5e56910dc6a0edcac7f90565368a3d1
|
|
59
pom.xml
59
pom.xml
@ -4,9 +4,9 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.rbkmoney</groupId>
|
<groupId>dev.vality</groupId>
|
||||||
<artifactId>service-parent-pom</artifactId>
|
<artifactId>service-parent-pom</artifactId>
|
||||||
<version>2.0.11</version>
|
<version>1.0.8</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>fraudbusters-mg-connector</artifactId>
|
<artifactId>fraudbusters-mg-connector</artifactId>
|
||||||
@ -16,7 +16,7 @@
|
|||||||
<name>fraudbusters-mg-connector</name>
|
<name>fraudbusters-mg-connector</name>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.maintainer>Struzhkin Konstantin <k.struzhkin@rbkmoney.com></project.maintainer>
|
<project.maintainer>Struzhkin Konstantin <k.struzhkin@vality.dev></project.maintainer>
|
||||||
<server.port>8022</server.port>
|
<server.port>8022</server.port>
|
||||||
<management.port>8023</management.port>
|
<management.port>8023</management.port>
|
||||||
<exposed.ports>${server.port} ${management.port}</exposed.ports>
|
<exposed.ports>${server.port} ${management.port}</exposed.ports>
|
||||||
@ -24,58 +24,54 @@
|
|||||||
<dockerfile.registry>${env.REGISTRY}</dockerfile.registry>
|
<dockerfile.registry>${env.REGISTRY}</dockerfile.registry>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
|
||||||
<machinegun-proto.version>1.18-d814d69</machinegun-proto.version>
|
<machinegun-proto.version>1.21-e4784ab</machinegun-proto.version>
|
||||||
<fraudbusters-proto.version>1.99-2a8f6ca</fraudbusters-proto.version>
|
<fraudbusters-proto.version>1.102-269908f</fraudbusters-proto.version>
|
||||||
<fistful-proto.version>1.133-c484877</fistful-proto.version>
|
<fistful-proto.version>1.133-c484877</fistful-proto.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<!--rbkmoney-->
|
<!--vality-->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.rbkmoney</groupId>
|
<groupId>dev.vality.woody</groupId>
|
||||||
<artifactId>custom-metrics-spring-boot-starter</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.rbkmoney</groupId>
|
|
||||||
<artifactId>custom-actuator-endpoints</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.rbkmoney.woody</groupId>
|
|
||||||
<artifactId>woody-thrift</artifactId>
|
<artifactId>woody-thrift</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.rbkmoney</groupId>
|
<groupId>dev.vality</groupId>
|
||||||
<artifactId>shared-resources</artifactId>
|
<artifactId>shared-resources</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.rbkmoney.geck</groupId>
|
<groupId>dev.vality.geck</groupId>
|
||||||
<artifactId>serializer</artifactId>
|
<artifactId>serializer</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.rbkmoney</groupId>
|
<groupId>dev.vality</groupId>
|
||||||
<artifactId>damsel</artifactId>
|
<artifactId>damsel</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.rbkmoney</groupId>
|
<groupId>dev.vality</groupId>
|
||||||
<artifactId>mamsel</artifactId>
|
<artifactId>mamsel</artifactId>
|
||||||
<version>0.1.2</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.rbkmoney</groupId>
|
<groupId>dev.vality</groupId>
|
||||||
<artifactId>machinegun-proto</artifactId>
|
<artifactId>machinegun-proto</artifactId>
|
||||||
<version>${machinegun-proto.version}</version>
|
<version>${machinegun-proto.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.rbkmoney</groupId>
|
<groupId>dev.vality</groupId>
|
||||||
<artifactId>kafka-common-lib</artifactId>
|
<artifactId>kafka-common-lib</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.rbkmoney</groupId>
|
<groupId>org.apache.kafka</groupId>
|
||||||
|
<artifactId>kafka-clients</artifactId>
|
||||||
|
<version>3.1.0</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>dev.vality</groupId>
|
||||||
<artifactId>fraudbusters-proto</artifactId>
|
<artifactId>fraudbusters-proto</artifactId>
|
||||||
<version>${fraudbusters-proto.version}</version>
|
<version>${fraudbusters-proto.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.rbkmoney.geck</groupId>
|
<groupId>dev.vality.geck</groupId>
|
||||||
<artifactId>filter</artifactId>
|
<artifactId>filter</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -120,6 +116,15 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.kafka</groupId>
|
<groupId>org.apache.kafka</groupId>
|
||||||
<artifactId>kafka-streams</artifactId>
|
<artifactId>kafka-streams</artifactId>
|
||||||
|
<version>3.1.0</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.micrometer</groupId>
|
||||||
|
<artifactId>micrometer-core</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.micrometer</groupId>
|
||||||
|
<artifactId>micrometer-registry-prometheus</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!--test-->
|
<!--test-->
|
||||||
@ -131,13 +136,13 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.testcontainers</groupId>
|
<groupId>org.testcontainers</groupId>
|
||||||
<artifactId>testcontainers</artifactId>
|
<artifactId>testcontainers</artifactId>
|
||||||
<version>1.16.0</version>
|
<version>1.16.3</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.testcontainers</groupId>
|
<groupId>org.testcontainers</groupId>
|
||||||
<artifactId>kafka</artifactId>
|
<artifactId>kafka</artifactId>
|
||||||
<version>1.16.0</version>
|
<version>1.16.3</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -187,7 +192,7 @@
|
|||||||
</dependencies>
|
</dependencies>
|
||||||
<configuration>
|
<configuration>
|
||||||
<resourceBundles>
|
<resourceBundles>
|
||||||
<resourceBundle>com.rbkmoney:shared-resources:${shared-resources.version}</resourceBundle>
|
<resourceBundle>dev.vality:shared-resources:${shared-resources.version}</resourceBundle>
|
||||||
</resourceBundles>
|
</resourceBundles>
|
||||||
<attachToMain>false</attachToMain>
|
<attachToMain>false</attachToMain>
|
||||||
<attachToTest>false</attachToTest>
|
<attachToTest>false</attachToTest>
|
||||||
|
18
renovate.json
Normal file
18
renovate.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"extends": [
|
||||||
|
"config:base"
|
||||||
|
],
|
||||||
|
"packageRules": [
|
||||||
|
{
|
||||||
|
"matchPackagePatterns": [
|
||||||
|
"*"
|
||||||
|
],
|
||||||
|
"matchUpdateTypes": [
|
||||||
|
"minor",
|
||||||
|
"patch"
|
||||||
|
],
|
||||||
|
"groupName": "all non-major dependencies",
|
||||||
|
"groupSlug": "all-minor-patch"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,9 +0,0 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.constant;
|
|
||||||
|
|
||||||
import com.rbkmoney.geck.filter.Filter;
|
|
||||||
|
|
||||||
public interface EventType {
|
|
||||||
|
|
||||||
Filter getFilter();
|
|
||||||
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.constant;
|
|
||||||
|
|
||||||
public enum StreamType {
|
|
||||||
|
|
||||||
INVOICE, WITHDRAWAL
|
|
||||||
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.domain;
|
|
||||||
|
|
||||||
import com.rbkmoney.damsel.domain.Invoice;
|
|
||||||
import com.rbkmoney.damsel.payment_processing.InvoicePayment;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class InvoicePaymentWrapper {
|
|
||||||
|
|
||||||
private Invoice invoice;
|
|
||||||
private InvoicePayment invoicePayment;
|
|
||||||
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.domain;
|
|
||||||
|
|
||||||
import com.rbkmoney.damsel.payment_processing.InvoiceChange;
|
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@Builder
|
|
||||||
public class MgEventWrapper {
|
|
||||||
|
|
||||||
private InvoiceChange change;
|
|
||||||
private MachineEvent event;
|
|
||||||
|
|
||||||
}
|
|
@ -1,26 +0,0 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.mapper.initializer;
|
|
||||||
|
|
||||||
import com.rbkmoney.damsel.domain.Invoice;
|
|
||||||
import com.rbkmoney.damsel.domain.Payer;
|
|
||||||
import com.rbkmoney.damsel.domain.PaymentTool;
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.ClientInfo;
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Error;
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.ProviderInfo;
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.ReferenceInfo;
|
|
||||||
import com.rbkmoney.damsel.payment_processing.InvoicePayment;
|
|
||||||
|
|
||||||
public interface InfoInitializer<T> {
|
|
||||||
|
|
||||||
Error initError(T t);
|
|
||||||
|
|
||||||
ClientInfo initClientInfo(Payer payer);
|
|
||||||
|
|
||||||
void initContactInfo(ClientInfo clientInfo, Payer payer);
|
|
||||||
|
|
||||||
ProviderInfo initProviderInfo(InvoicePayment invoicePayment);
|
|
||||||
|
|
||||||
ReferenceInfo initReferenceInfo(Invoice invoice);
|
|
||||||
|
|
||||||
PaymentTool initPaymentTool(Payer payer);
|
|
||||||
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.parser;
|
|
||||||
|
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
|
||||||
|
|
||||||
public interface EventParser<T> {
|
|
||||||
|
|
||||||
T parseEvent(MachineEvent message);
|
|
||||||
|
|
||||||
}
|
|
@ -1,7 +1,7 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector;
|
package dev.vality.fraudbusters.mg.connector;
|
||||||
|
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.listener.StreamStateManager;
|
import dev.vality.fraudbusters.mg.connector.listener.StreamStateManager;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.pool.EventSinkStreamsPool;
|
import dev.vality.fraudbusters.mg.connector.pool.EventSinkStreamsPool;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
@ -1,8 +1,8 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.config;
|
package dev.vality.fraudbusters.mg.connector.config;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.payment_processing.InvoicingSrv;
|
import dev.vality.damsel.payment_processing.InvoicingSrv;
|
||||||
import dev.vality.fistful.withdrawal.ManagementSrv;
|
import dev.vality.fistful.withdrawal.ManagementSrv;
|
||||||
import com.rbkmoney.woody.thrift.impl.http.THSpawnClientBuilder;
|
import dev.vality.woody.thrift.impl.http.THSpawnClientBuilder;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@ -19,17 +19,18 @@ public class HgConfig {
|
|||||||
throws IOException {
|
throws IOException {
|
||||||
return new THSpawnClientBuilder()
|
return new THSpawnClientBuilder()
|
||||||
.withNetworkTimeout(networkTimeout)
|
.withNetworkTimeout(networkTimeout)
|
||||||
.withAddress(resource.getURI()).build(InvoicingSrv.Iface.class);
|
.withAddress(resource.getURI())
|
||||||
|
.build(InvoicingSrv.Iface.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public ManagementSrv.Iface withdrawalClient(
|
public ManagementSrv.Iface withdrawalClient(
|
||||||
@Value("${service.withdrawal.url}") Resource resource,
|
@Value("${service.withdrawal.url}") Resource resource,
|
||||||
@Value("${service.withdrawal.networkTimeout}") int networkTimeout) throws IOException {
|
@Value("${service.withdrawal.networkTimeout}") int networkTimeout) throws IOException {
|
||||||
return new THSpawnClientBuilder()
|
return new THSpawnClientBuilder()
|
||||||
.withNetworkTimeout(networkTimeout)
|
.withNetworkTimeout(networkTimeout)
|
||||||
.withAddress(resource.getURI()).build(ManagementSrv.Iface.class);
|
.withAddress(resource.getURI())
|
||||||
|
.build(ManagementSrv.Iface.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ -38,7 +39,8 @@ public class HgConfig {
|
|||||||
@Value("${service.destination.networkTimeout}") int networkTimeout) throws IOException {
|
@Value("${service.destination.networkTimeout}") int networkTimeout) throws IOException {
|
||||||
return new THSpawnClientBuilder()
|
return new THSpawnClientBuilder()
|
||||||
.withNetworkTimeout(networkTimeout)
|
.withNetworkTimeout(networkTimeout)
|
||||||
.withAddress(resource.getURI()).build(dev.vality.fistful.destination.ManagementSrv.Iface.class);
|
.withAddress(resource.getURI())
|
||||||
|
.build(dev.vality.fistful.destination.ManagementSrv.Iface.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ -47,7 +49,8 @@ public class HgConfig {
|
|||||||
@Value("${service.wallet.networkTimeout}") int networkTimeout) throws IOException {
|
@Value("${service.wallet.networkTimeout}") int networkTimeout) throws IOException {
|
||||||
return new THSpawnClientBuilder()
|
return new THSpawnClientBuilder()
|
||||||
.withNetworkTimeout(networkTimeout)
|
.withNetworkTimeout(networkTimeout)
|
||||||
.withAddress(resource.getURI()).build(dev.vality.fistful.wallet.ManagementSrv.Iface.class);
|
.withAddress(resource.getURI())
|
||||||
|
.build(dev.vality.fistful.wallet.ManagementSrv.Iface.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.config;
|
package dev.vality.fraudbusters.mg.connector.config;
|
||||||
|
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.MachineEventSerde;
|
import dev.vality.fraudbusters.mg.connector.serde.MachineEventSerde;
|
||||||
import org.apache.kafka.clients.CommonClientConfigs;
|
import org.apache.kafka.clients.CommonClientConfigs;
|
||||||
import org.apache.kafka.clients.consumer.ConsumerConfig;
|
import org.apache.kafka.clients.consumer.ConsumerConfig;
|
||||||
import org.apache.kafka.common.config.SslConfigs;
|
import org.apache.kafka.common.config.SslConfigs;
|
@ -1,4 +1,4 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.config;
|
package dev.vality.fraudbusters.mg.connector.config;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
@ -0,0 +1,9 @@
|
|||||||
|
package dev.vality.fraudbusters.mg.connector.constant;
|
||||||
|
|
||||||
|
import dev.vality.geck.filter.Filter;
|
||||||
|
|
||||||
|
public interface EventType {
|
||||||
|
|
||||||
|
Filter getFilter();
|
||||||
|
|
||||||
|
}
|
@ -1,10 +1,10 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.constant;
|
package dev.vality.fraudbusters.mg.connector.constant;
|
||||||
|
|
||||||
import com.rbkmoney.geck.filter.Condition;
|
import dev.vality.geck.filter.Condition;
|
||||||
import com.rbkmoney.geck.filter.Filter;
|
import dev.vality.geck.filter.Filter;
|
||||||
import com.rbkmoney.geck.filter.PathConditionFilter;
|
import dev.vality.geck.filter.PathConditionFilter;
|
||||||
import com.rbkmoney.geck.filter.condition.IsNullCondition;
|
import dev.vality.geck.filter.condition.IsNullCondition;
|
||||||
import com.rbkmoney.geck.filter.rule.PathConditionRule;
|
import dev.vality.geck.filter.rule.PathConditionRule;
|
||||||
|
|
||||||
@SuppressWarnings("LineLength")
|
@SuppressWarnings("LineLength")
|
||||||
public enum InvoiceEventType implements EventType {
|
public enum InvoiceEventType implements EventType {
|
@ -0,0 +1,7 @@
|
|||||||
|
package dev.vality.fraudbusters.mg.connector.constant;
|
||||||
|
|
||||||
|
public enum StreamType {
|
||||||
|
|
||||||
|
INVOICE, WITHDRAWAL
|
||||||
|
|
||||||
|
}
|
@ -1,10 +1,10 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.constant;
|
package dev.vality.fraudbusters.mg.connector.constant;
|
||||||
|
|
||||||
import com.rbkmoney.geck.filter.Condition;
|
import dev.vality.geck.filter.Condition;
|
||||||
import com.rbkmoney.geck.filter.Filter;
|
import dev.vality.geck.filter.Filter;
|
||||||
import com.rbkmoney.geck.filter.PathConditionFilter;
|
import dev.vality.geck.filter.PathConditionFilter;
|
||||||
import com.rbkmoney.geck.filter.condition.IsNullCondition;
|
import dev.vality.geck.filter.condition.IsNullCondition;
|
||||||
import com.rbkmoney.geck.filter.rule.PathConditionRule;
|
import dev.vality.geck.filter.rule.PathConditionRule;
|
||||||
|
|
||||||
public enum WithdrawalEventType implements EventType {
|
public enum WithdrawalEventType implements EventType {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.converter;
|
package dev.vality.fraudbusters.mg.connector.converter;
|
||||||
|
|
||||||
public interface BinaryConverter<T> {
|
public interface BinaryConverter<T> {
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.converter;
|
package dev.vality.fraudbusters.mg.connector.converter;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Account;
|
import dev.vality.damsel.fraudbusters.Account;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.core.convert.converter.Converter;
|
import org.springframework.core.convert.converter.Converter;
|
@ -1,6 +1,6 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.converter;
|
package dev.vality.fraudbusters.mg.connector.converter;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.domain.Cash;
|
import dev.vality.damsel.domain.Cash;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.core.convert.converter.Converter;
|
import org.springframework.core.convert.converter.Converter;
|
@ -1,6 +1,6 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.converter;
|
package dev.vality.fraudbusters.mg.connector.converter;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.domain.CurrencyRef;
|
import dev.vality.damsel.domain.CurrencyRef;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.core.convert.converter.Converter;
|
import org.springframework.core.convert.converter.Converter;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
@ -1,14 +1,13 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.converter;
|
package dev.vality.fraudbusters.mg.connector.converter;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.domain.BankCard;
|
import dev.vality.damsel.domain.BankCard;
|
||||||
import com.rbkmoney.damsel.domain.CountryCode;
|
import dev.vality.damsel.domain.CountryCode;
|
||||||
import com.rbkmoney.damsel.domain.LegacyBankCardPaymentSystem;
|
import dev.vality.damsel.domain.LegacyBankCardPaymentSystem;
|
||||||
import com.rbkmoney.damsel.domain.PaymentSystemRef;
|
import dev.vality.damsel.domain.PaymentSystemRef;
|
||||||
import com.rbkmoney.damsel.fraudbusters.CryptoWallet;
|
import dev.vality.damsel.fraudbusters.CryptoWallet;
|
||||||
import com.rbkmoney.damsel.fraudbusters.DigitalWallet;
|
import dev.vality.damsel.fraudbusters.DigitalWallet;
|
||||||
import com.rbkmoney.damsel.fraudbusters.Resource;
|
import dev.vality.damsel.fraudbusters.Resource;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.exception.UnknownResourceException;
|
import dev.vality.fraudbusters.mg.connector.exception.UnknownResourceException;
|
||||||
import com.rbkmoney.mamsel.PaymentSystemUtil;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.core.convert.converter.Converter;
|
import org.springframework.core.convert.converter.Converter;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
@ -1,27 +1,28 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.converter;
|
package dev.vality.fraudbusters.mg.connector.converter;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.payment_processing.EventPayload;
|
import dev.vality.damsel.payment_processing.EventPayload;
|
||||||
|
import dev.vality.fraudbusters.mg.connector.utils.DeserializerUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.thrift.TDeserializer;
|
import org.apache.thrift.TDeserializer;
|
||||||
import org.apache.thrift.TException;
|
import org.apache.thrift.TException;
|
||||||
import org.apache.thrift.protocol.TBinaryProtocol;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
public class PaymentConverterImpl implements BinaryConverter<EventPayload> {
|
public class PaymentConverterImpl implements BinaryConverter<EventPayload> {
|
||||||
|
|
||||||
ThreadLocal<TDeserializer> thriftDeserializerThreadLocal =
|
private ThreadLocal<TDeserializer> threadLocalDeserializer =
|
||||||
ThreadLocal.withInitial(() -> new TDeserializer(new TBinaryProtocol.Factory()));
|
ThreadLocal.withInitial(DeserializerUtils::createDeserializer);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EventPayload convert(byte[] bin, Class<EventPayload> clazz) {
|
public EventPayload convert(byte[] bin, Class<EventPayload> clazz) {
|
||||||
EventPayload event = new EventPayload();
|
EventPayload event = new EventPayload();
|
||||||
try {
|
try {
|
||||||
thriftDeserializerThreadLocal.get().deserialize(event, bin);
|
threadLocalDeserializer.get().deserialize(event, bin);
|
||||||
} catch (TException e) {
|
} catch (TException e) {
|
||||||
log.error("BinaryConverterImpl e: ", e);
|
log.error("BinaryConverterImpl e: ", e);
|
||||||
}
|
}
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,27 +1,37 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.converter;
|
package dev.vality.fraudbusters.mg.connector.converter;
|
||||||
|
|
||||||
import dev.vality.fistful.withdrawal.TimestampedChange;
|
import dev.vality.fistful.withdrawal.TimestampedChange;
|
||||||
|
import dev.vality.kafka.common.exception.TransportException;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.thrift.TDeserializer;
|
import org.apache.thrift.TDeserializer;
|
||||||
import org.apache.thrift.TException;
|
import org.apache.thrift.TException;
|
||||||
import org.apache.thrift.protocol.TBinaryProtocol;
|
import org.apache.thrift.protocol.TBinaryProtocol;
|
||||||
|
import org.apache.thrift.transport.TTransportException;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
public class WithdrawalConverterImpl implements BinaryConverter<TimestampedChange> {
|
public class WithdrawalConverterImpl implements BinaryConverter<TimestampedChange> {
|
||||||
|
|
||||||
ThreadLocal<TDeserializer> thriftDeserializerThreadLocal =
|
private ThreadLocal<TDeserializer> threadLocalDeserializer = ThreadLocal.withInitial(this::createDeserializer);
|
||||||
ThreadLocal.withInitial(() -> new TDeserializer(new TBinaryProtocol.Factory()));
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TimestampedChange convert(byte[] bin, Class<TimestampedChange> clazz) {
|
public TimestampedChange convert(byte[] bin, Class<TimestampedChange> clazz) {
|
||||||
TimestampedChange event = new TimestampedChange();
|
TimestampedChange event = new TimestampedChange();
|
||||||
try {
|
try {
|
||||||
thriftDeserializerThreadLocal.get().deserialize(event, bin);
|
threadLocalDeserializer.get().deserialize(event, bin);
|
||||||
} catch (TException e) {
|
} catch (TException e) {
|
||||||
log.error("Error when convert TimestampedChange e: ", e);
|
log.error("Error when convert TimestampedChange e: ", e);
|
||||||
}
|
}
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private TDeserializer createDeserializer() {
|
||||||
|
try {
|
||||||
|
return new TDeserializer(new TBinaryProtocol.Factory());
|
||||||
|
} catch (TTransportException ex) {
|
||||||
|
throw new TransportException(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.domain;
|
package dev.vality.fraudbusters.mg.connector.domain;
|
||||||
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
@ -0,0 +1,13 @@
|
|||||||
|
package dev.vality.fraudbusters.mg.connector.domain;
|
||||||
|
|
||||||
|
import dev.vality.damsel.domain.Invoice;
|
||||||
|
import dev.vality.damsel.payment_processing.InvoicePayment;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class InvoicePaymentWrapper {
|
||||||
|
|
||||||
|
private Invoice invoice;
|
||||||
|
private InvoicePayment invoicePayment;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package dev.vality.fraudbusters.mg.connector.domain;
|
||||||
|
|
||||||
|
import dev.vality.damsel.payment_processing.InvoiceChange;
|
||||||
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
public class MgEventWrapper {
|
||||||
|
|
||||||
|
private InvoiceChange change;
|
||||||
|
private MachineEvent event;
|
||||||
|
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.exception;
|
package dev.vality.fraudbusters.mg.connector.exception;
|
||||||
|
|
||||||
public class PaymentInfoNotFoundException extends RuntimeException {
|
public class PaymentInfoNotFoundException extends RuntimeException {
|
||||||
public PaymentInfoNotFoundException() {
|
public PaymentInfoNotFoundException() {
|
@ -1,4 +1,4 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.exception;
|
package dev.vality.fraudbusters.mg.connector.exception;
|
||||||
|
|
||||||
public class PaymentInfoRequestException extends RuntimeException {
|
public class PaymentInfoRequestException extends RuntimeException {
|
||||||
public PaymentInfoRequestException() {
|
public PaymentInfoRequestException() {
|
@ -1,4 +1,4 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.exception;
|
package dev.vality.fraudbusters.mg.connector.exception;
|
||||||
|
|
||||||
public class StreamInitializationException extends RuntimeException {
|
public class StreamInitializationException extends RuntimeException {
|
||||||
public StreamInitializationException() {
|
public StreamInitializationException() {
|
@ -1,4 +1,4 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.exception;
|
package dev.vality.fraudbusters.mg.connector.exception;
|
||||||
|
|
||||||
public class UnknownResourceException extends RuntimeException {
|
public class UnknownResourceException extends RuntimeException {
|
||||||
public UnknownResourceException() {
|
public UnknownResourceException() {
|
@ -1,7 +1,7 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.factory;
|
package dev.vality.fraudbusters.mg.connector.factory;
|
||||||
|
|
||||||
|
|
||||||
import com.rbkmoney.damsel.payment_processing.EventRange;
|
import dev.vality.damsel.payment_processing.EventRange;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service
|
@Service
|
@ -1,6 +1,6 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.factory;
|
package dev.vality.fraudbusters.mg.connector.factory;
|
||||||
|
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.constant.StreamType;
|
import dev.vality.fraudbusters.mg.connector.constant.StreamType;
|
||||||
import org.apache.kafka.streams.KafkaStreams;
|
import org.apache.kafka.streams.KafkaStreams;
|
||||||
|
|
||||||
public interface EventSinkFactory {
|
public interface EventSinkFactory {
|
@ -1,4 +1,4 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.factory;
|
package dev.vality.fraudbusters.mg.connector.factory;
|
||||||
|
|
||||||
|
|
||||||
import dev.vality.fistful.base.EventRange;
|
import dev.vality.fistful.base.EventRange;
|
@ -1,19 +1,19 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.factory;
|
package dev.vality.fraudbusters.mg.connector.factory;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.payment_processing.EventPayload;
|
import dev.vality.damsel.payment_processing.EventPayload;
|
||||||
import com.rbkmoney.damsel.payment_processing.InvoiceChange;
|
import dev.vality.damsel.payment_processing.InvoiceChange;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.constant.StreamType;
|
import dev.vality.fraudbusters.mg.connector.constant.StreamType;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.domain.MgEventWrapper;
|
import dev.vality.fraudbusters.mg.connector.domain.MgEventWrapper;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.exception.StreamInitializationException;
|
import dev.vality.fraudbusters.mg.connector.exception.StreamInitializationException;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.mapper.impl.ChargebackPaymentMapper;
|
import dev.vality.fraudbusters.mg.connector.mapper.impl.ChargebackPaymentMapper;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.mapper.impl.PaymentMapper;
|
import dev.vality.fraudbusters.mg.connector.mapper.impl.PaymentMapper;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.mapper.impl.RefundPaymentMapper;
|
import dev.vality.fraudbusters.mg.connector.mapper.impl.RefundPaymentMapper;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.parser.EventParser;
|
import dev.vality.fraudbusters.mg.connector.parser.EventParser;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.ChargebackSerde;
|
import dev.vality.fraudbusters.mg.connector.serde.ChargebackSerde;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.MachineEventSerde;
|
import dev.vality.fraudbusters.mg.connector.serde.MachineEventSerde;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.PaymentSerde;
|
import dev.vality.fraudbusters.mg.connector.serde.PaymentSerde;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.RefundSerde;
|
import dev.vality.fraudbusters.mg.connector.serde.RefundSerde;
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.common.serialization.Serde;
|
import org.apache.kafka.common.serialization.Serde;
|
@ -1,14 +1,14 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.factory;
|
package dev.vality.fraudbusters.mg.connector.factory;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Withdrawal;
|
import dev.vality.damsel.fraudbusters.Withdrawal;
|
||||||
import dev.vality.fistful.withdrawal.TimestampedChange;
|
import dev.vality.fistful.withdrawal.TimestampedChange;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.constant.StreamType;
|
import dev.vality.fraudbusters.mg.connector.constant.StreamType;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.exception.StreamInitializationException;
|
import dev.vality.fraudbusters.mg.connector.exception.StreamInitializationException;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.mapper.Mapper;
|
import dev.vality.fraudbusters.mg.connector.mapper.Mapper;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.parser.EventParser;
|
import dev.vality.fraudbusters.mg.connector.parser.EventParser;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.MachineEventSerde;
|
import dev.vality.fraudbusters.mg.connector.serde.MachineEventSerde;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.WithdrawalSerde;
|
import dev.vality.fraudbusters.mg.connector.serde.WithdrawalSerde;
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.common.serialization.Serde;
|
import org.apache.kafka.common.serialization.Serde;
|
@ -1,7 +1,7 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.listener;
|
package dev.vality.fraudbusters.mg.connector.listener;
|
||||||
|
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.factory.EventSinkFactory;
|
import dev.vality.fraudbusters.mg.connector.factory.EventSinkFactory;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.pool.EventSinkStreamsPool;
|
import dev.vality.fraudbusters.mg.connector.pool.EventSinkStreamsPool;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.streams.KafkaStreams;
|
import org.apache.kafka.streams.KafkaStreams;
|
@ -1,9 +1,9 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.listener;
|
package dev.vality.fraudbusters.mg.connector.listener;
|
||||||
|
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.constant.StreamType;
|
import dev.vality.fraudbusters.mg.connector.constant.StreamType;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.factory.EventSinkFactory;
|
import dev.vality.fraudbusters.mg.connector.factory.EventSinkFactory;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.pool.EventSinkStreamsPool;
|
import dev.vality.fraudbusters.mg.connector.pool.EventSinkStreamsPool;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.utils.ShutdownManager;
|
import dev.vality.fraudbusters.mg.connector.utils.ShutdownManager;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.streams.KafkaStreams;
|
import org.apache.kafka.streams.KafkaStreams;
|
@ -1,7 +1,7 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.mapper;
|
package dev.vality.fraudbusters.mg.connector.mapper;
|
||||||
|
|
||||||
|
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.constant.EventType;
|
import dev.vality.fraudbusters.mg.connector.constant.EventType;
|
||||||
|
|
||||||
public interface Mapper<C, P, R> {
|
public interface Mapper<C, P, R> {
|
||||||
|
|
@ -1,18 +1,18 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.mapper.impl;
|
package dev.vality.fraudbusters.mg.connector.mapper.impl;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.domain.Payer;
|
import dev.vality.damsel.domain.Payer;
|
||||||
import com.rbkmoney.damsel.fraudbusters.Chargeback;
|
import dev.vality.damsel.fraudbusters.Chargeback;
|
||||||
import com.rbkmoney.damsel.fraudbusters.ChargebackCategory;
|
import dev.vality.damsel.fraudbusters.ChargebackCategory;
|
||||||
import com.rbkmoney.damsel.fraudbusters.ChargebackStatus;
|
import dev.vality.damsel.fraudbusters.ChargebackStatus;
|
||||||
import com.rbkmoney.damsel.fraudbusters.PayerType;
|
import dev.vality.damsel.fraudbusters.PayerType;
|
||||||
import com.rbkmoney.damsel.payment_processing.*;
|
import dev.vality.damsel.payment_processing.*;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.constant.InvoiceEventType;
|
import dev.vality.fraudbusters.mg.connector.constant.InvoiceEventType;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.domain.InvoicePaymentWrapper;
|
import dev.vality.fraudbusters.mg.connector.domain.InvoicePaymentWrapper;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.mapper.Mapper;
|
import dev.vality.fraudbusters.mg.connector.mapper.Mapper;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.mapper.initializer.GeneralInfoInitiator;
|
import dev.vality.fraudbusters.mg.connector.mapper.initializer.GeneralInfoInitiator;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.service.HgClientService;
|
import dev.vality.fraudbusters.mg.connector.service.HgClientService;
|
||||||
import com.rbkmoney.geck.common.util.TBaseUtil;
|
import dev.vality.geck.common.util.TBaseUtil;
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@ -78,7 +78,7 @@ public class ChargebackPaymentMapper implements Mapper<InvoiceChange, MachineEve
|
|||||||
.filter(chargebackVal -> chargebackVal.getChargeback().getId().equals(chargebackId))
|
.filter(chargebackVal -> chargebackVal.getChargeback().getId().equals(chargebackId))
|
||||||
.findFirst()
|
.findFirst()
|
||||||
.ifPresent(paymentChargeback -> {
|
.ifPresent(paymentChargeback -> {
|
||||||
com.rbkmoney.damsel.domain.InvoicePaymentChargeback invoicePaymentChargeback =
|
dev.vality.damsel.domain.InvoicePaymentChargeback invoicePaymentChargeback =
|
||||||
paymentChargeback.getChargeback();
|
paymentChargeback.getChargeback();
|
||||||
chargeback.setChargebackCode(invoicePaymentChargeback.getReason().getCode() != null
|
chargeback.setChargebackCode(invoicePaymentChargeback.getReason().getCode() != null
|
||||||
? invoicePaymentChargeback.getReason().getCode()
|
? invoicePaymentChargeback.getReason().getCode()
|
@ -1,10 +1,10 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.mapper.impl;
|
package dev.vality.fraudbusters.mg.connector.mapper.impl;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Withdrawal;
|
import dev.vality.damsel.fraudbusters.Withdrawal;
|
||||||
import dev.vality.fistful.withdrawal.TimestampedChange;
|
import dev.vality.fistful.withdrawal.TimestampedChange;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.constant.WithdrawalEventType;
|
import dev.vality.fraudbusters.mg.connector.constant.WithdrawalEventType;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.mapper.Mapper;
|
import dev.vality.fraudbusters.mg.connector.mapper.Mapper;
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
@ -1,19 +1,19 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.mapper.impl;
|
package dev.vality.fraudbusters.mg.connector.mapper.impl;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.domain.Payer;
|
import dev.vality.damsel.domain.Payer;
|
||||||
import com.rbkmoney.damsel.domain.PaymentTool;
|
import dev.vality.damsel.domain.PaymentTool;
|
||||||
import com.rbkmoney.damsel.fraudbusters.PayerType;
|
import dev.vality.damsel.fraudbusters.PayerType;
|
||||||
import com.rbkmoney.damsel.fraudbusters.Payment;
|
import dev.vality.damsel.fraudbusters.Payment;
|
||||||
import com.rbkmoney.damsel.fraudbusters.PaymentStatus;
|
import dev.vality.damsel.fraudbusters.PaymentStatus;
|
||||||
import com.rbkmoney.damsel.payment_processing.*;
|
import dev.vality.damsel.payment_processing.*;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.constant.InvoiceEventType;
|
import dev.vality.fraudbusters.mg.connector.constant.InvoiceEventType;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.domain.InvoicePaymentWrapper;
|
import dev.vality.fraudbusters.mg.connector.domain.InvoicePaymentWrapper;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.mapper.Mapper;
|
import dev.vality.fraudbusters.mg.connector.mapper.Mapper;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.mapper.initializer.InfoInitializer;
|
import dev.vality.fraudbusters.mg.connector.mapper.initializer.InfoInitializer;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.service.HgClientService;
|
import dev.vality.fraudbusters.mg.connector.service.HgClientService;
|
||||||
import com.rbkmoney.geck.common.util.TBaseUtil;
|
import dev.vality.geck.common.util.TBaseUtil;
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
import com.rbkmoney.mamsel.TokenProviderUtil;
|
import dev.vality.mamsel.TokenProviderUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@ -60,8 +60,11 @@ public class PaymentMapper implements Mapper<InvoiceChange, MachineEvent, Paymen
|
|||||||
return payment;
|
return payment;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Payment initPayment(MachineEvent event, InvoicePaymentStatusChanged invoicePaymentStatusChanged,
|
private Payment initPayment(MachineEvent event,
|
||||||
com.rbkmoney.damsel.domain.Invoice invoice, InvoicePayment invoicePayment, Payer payer,
|
InvoicePaymentStatusChanged invoicePaymentStatusChanged,
|
||||||
|
dev.vality.damsel.domain.Invoice invoice,
|
||||||
|
InvoicePayment invoicePayment,
|
||||||
|
Payer payer,
|
||||||
PaymentTool paymentTool) {
|
PaymentTool paymentTool) {
|
||||||
var payment = invoicePayment.getPayment();
|
var payment = invoicePayment.getPayment();
|
||||||
return new Payment()
|
return new Payment()
|
@ -1,17 +1,17 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.mapper.impl;
|
package dev.vality.fraudbusters.mg.connector.mapper.impl;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.domain.Payer;
|
import dev.vality.damsel.domain.Payer;
|
||||||
import com.rbkmoney.damsel.fraudbusters.PayerType;
|
import dev.vality.damsel.fraudbusters.PayerType;
|
||||||
import com.rbkmoney.damsel.fraudbusters.Refund;
|
import dev.vality.damsel.fraudbusters.Refund;
|
||||||
import com.rbkmoney.damsel.fraudbusters.RefundStatus;
|
import dev.vality.damsel.fraudbusters.RefundStatus;
|
||||||
import com.rbkmoney.damsel.payment_processing.*;
|
import dev.vality.damsel.payment_processing.*;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.constant.InvoiceEventType;
|
import dev.vality.fraudbusters.mg.connector.constant.InvoiceEventType;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.domain.InvoicePaymentWrapper;
|
import dev.vality.fraudbusters.mg.connector.domain.InvoicePaymentWrapper;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.mapper.Mapper;
|
import dev.vality.fraudbusters.mg.connector.mapper.Mapper;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.mapper.initializer.InfoInitializer;
|
import dev.vality.fraudbusters.mg.connector.mapper.initializer.InfoInitializer;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.service.HgClientService;
|
import dev.vality.fraudbusters.mg.connector.service.HgClientService;
|
||||||
import com.rbkmoney.geck.common.util.TBaseUtil;
|
import dev.vality.geck.common.util.TBaseUtil;
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
@ -1,23 +1,23 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.mapper.impl;
|
package dev.vality.fraudbusters.mg.connector.mapper.impl;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Resource;
|
import dev.vality.damsel.fraudbusters.Resource;
|
||||||
import com.rbkmoney.damsel.fraudbusters.Withdrawal;
|
import dev.vality.damsel.fraudbusters.Withdrawal;
|
||||||
import com.rbkmoney.damsel.fraudbusters.WithdrawalStatus;
|
import dev.vality.damsel.fraudbusters.WithdrawalStatus;
|
||||||
import dev.vality.fistful.destination.DestinationState;
|
import dev.vality.fistful.destination.DestinationState;
|
||||||
import dev.vality.fistful.wallet.WalletState;
|
import dev.vality.fistful.wallet.WalletState;
|
||||||
import dev.vality.fistful.withdrawal.TimestampedChange;
|
import dev.vality.fistful.withdrawal.TimestampedChange;
|
||||||
import dev.vality.fistful.withdrawal.WithdrawalState;
|
import dev.vality.fistful.withdrawal.WithdrawalState;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.constant.WithdrawalEventType;
|
import dev.vality.fraudbusters.mg.connector.constant.WithdrawalEventType;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.converter.FistfulAccountToDomainAccountConverter;
|
import dev.vality.fraudbusters.mg.connector.converter.FistfulAccountToDomainAccountConverter;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.converter.FistfulCashToDomainCashConverter;
|
import dev.vality.fraudbusters.mg.connector.converter.FistfulCashToDomainCashConverter;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.converter.FistfulResourceToDomainResourceConverter;
|
import dev.vality.fraudbusters.mg.connector.converter.FistfulResourceToDomainResourceConverter;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.mapper.Mapper;
|
import dev.vality.fraudbusters.mg.connector.mapper.Mapper;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.service.DestinationClientService;
|
import dev.vality.fraudbusters.mg.connector.service.DestinationClientService;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.service.WalletClientService;
|
import dev.vality.fraudbusters.mg.connector.service.WalletClientService;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.service.WithdrawalClientService;
|
import dev.vality.fraudbusters.mg.connector.service.WithdrawalClientService;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.utils.WithdrawalModelUtil;
|
import dev.vality.fraudbusters.mg.connector.utils.WithdrawalModelUtil;
|
||||||
import com.rbkmoney.geck.common.util.TBaseUtil;
|
import dev.vality.geck.common.util.TBaseUtil;
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
@ -1,12 +1,12 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.mapper.initializer;
|
package dev.vality.fraudbusters.mg.connector.mapper.initializer;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.domain.*;
|
import dev.vality.damsel.domain.*;
|
||||||
import com.rbkmoney.damsel.fraudbusters.*;
|
import dev.vality.damsel.fraudbusters.*;
|
||||||
import com.rbkmoney.damsel.fraudbusters.ClientInfo;
|
import dev.vality.damsel.fraudbusters.ClientInfo;
|
||||||
import com.rbkmoney.damsel.fraudbusters.Error;
|
import dev.vality.damsel.fraudbusters.Error;
|
||||||
import com.rbkmoney.damsel.payment_processing.InvoicePayment;
|
import dev.vality.damsel.payment_processing.InvoicePayment;
|
||||||
import com.rbkmoney.damsel.payment_processing.InvoicePaymentStatusChanged;
|
import dev.vality.damsel.payment_processing.InvoicePaymentStatusChanged;
|
||||||
import com.rbkmoney.geck.serializer.kit.tbase.TErrorUtil;
|
import dev.vality.geck.serializer.kit.tbase.TErrorUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.lang.NonNull;
|
import org.springframework.lang.NonNull;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@ -91,7 +91,7 @@ public class GeneralInfoInitiator implements InfoInitializer<InvoicePaymentStatu
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ReferenceInfo initReferenceInfo(com.rbkmoney.damsel.domain.Invoice invoice) {
|
public ReferenceInfo initReferenceInfo(Invoice invoice) {
|
||||||
return ReferenceInfo.merchant_info(new MerchantInfo()
|
return ReferenceInfo.merchant_info(new MerchantInfo()
|
||||||
.setPartyId(invoice.getOwnerId())
|
.setPartyId(invoice.getOwnerId())
|
||||||
.setShopId(invoice.getShopId())
|
.setShopId(invoice.getShopId())
|
@ -0,0 +1,26 @@
|
|||||||
|
package dev.vality.fraudbusters.mg.connector.mapper.initializer;
|
||||||
|
|
||||||
|
import dev.vality.damsel.domain.Invoice;
|
||||||
|
import dev.vality.damsel.domain.Payer;
|
||||||
|
import dev.vality.damsel.domain.PaymentTool;
|
||||||
|
import dev.vality.damsel.fraudbusters.ClientInfo;
|
||||||
|
import dev.vality.damsel.fraudbusters.Error;
|
||||||
|
import dev.vality.damsel.fraudbusters.ProviderInfo;
|
||||||
|
import dev.vality.damsel.fraudbusters.ReferenceInfo;
|
||||||
|
import dev.vality.damsel.payment_processing.InvoicePayment;
|
||||||
|
|
||||||
|
public interface InfoInitializer<T> {
|
||||||
|
|
||||||
|
Error initError(T t);
|
||||||
|
|
||||||
|
ClientInfo initClientInfo(Payer payer);
|
||||||
|
|
||||||
|
void initContactInfo(ClientInfo clientInfo, Payer payer);
|
||||||
|
|
||||||
|
ProviderInfo initProviderInfo(InvoicePayment invoicePayment);
|
||||||
|
|
||||||
|
ReferenceInfo initReferenceInfo(Invoice invoice);
|
||||||
|
|
||||||
|
PaymentTool initPaymentTool(Payer payer);
|
||||||
|
|
||||||
|
}
|
@ -1,13 +1,13 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.mapper.initializer;
|
package dev.vality.fraudbusters.mg.connector.mapper.initializer;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.domain.*;
|
import dev.vality.damsel.domain.*;
|
||||||
import com.rbkmoney.damsel.fraudbusters.ClientInfo;
|
import dev.vality.damsel.fraudbusters.ClientInfo;
|
||||||
import com.rbkmoney.damsel.fraudbusters.Error;
|
import dev.vality.damsel.fraudbusters.Error;
|
||||||
import com.rbkmoney.damsel.fraudbusters.ProviderInfo;
|
import dev.vality.damsel.fraudbusters.ProviderInfo;
|
||||||
import com.rbkmoney.damsel.fraudbusters.ReferenceInfo;
|
import dev.vality.damsel.fraudbusters.ReferenceInfo;
|
||||||
import com.rbkmoney.damsel.payment_processing.InvoicePayment;
|
import dev.vality.damsel.payment_processing.InvoicePayment;
|
||||||
import com.rbkmoney.damsel.payment_processing.InvoicePaymentRefundStatusChanged;
|
import dev.vality.damsel.payment_processing.InvoicePaymentRefundStatusChanged;
|
||||||
import com.rbkmoney.geck.serializer.kit.tbase.TErrorUtil;
|
import dev.vality.geck.serializer.kit.tbase.TErrorUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.lang.NonNull;
|
import org.springframework.lang.NonNull;
|
@ -0,0 +1,9 @@
|
|||||||
|
package dev.vality.fraudbusters.mg.connector.parser;
|
||||||
|
|
||||||
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
|
|
||||||
|
public interface EventParser<T> {
|
||||||
|
|
||||||
|
T parseEvent(MachineEvent message);
|
||||||
|
|
||||||
|
}
|
@ -1,8 +1,8 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.parser;
|
package dev.vality.fraudbusters.mg.connector.parser;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.payment_processing.EventPayload;
|
import dev.vality.damsel.payment_processing.EventPayload;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.converter.BinaryConverter;
|
import dev.vality.fraudbusters.mg.connector.converter.BinaryConverter;
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
@ -1,8 +1,8 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.parser;
|
package dev.vality.fraudbusters.mg.connector.parser;
|
||||||
|
|
||||||
import dev.vality.fistful.withdrawal.TimestampedChange;
|
import dev.vality.fistful.withdrawal.TimestampedChange;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.converter.BinaryConverter;
|
import dev.vality.fraudbusters.mg.connector.converter.BinaryConverter;
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
@ -1,6 +1,6 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.pool;
|
package dev.vality.fraudbusters.mg.connector.pool;
|
||||||
|
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.constant.StreamType;
|
import dev.vality.fraudbusters.mg.connector.constant.StreamType;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.streams.KafkaStreams;
|
import org.apache.kafka.streams.KafkaStreams;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
@ -1,9 +1,9 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.serde;
|
package dev.vality.fraudbusters.mg.connector.serde;
|
||||||
|
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Chargeback;
|
import dev.vality.damsel.fraudbusters.Chargeback;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.deserializer.ChargebackDeserializer;
|
import dev.vality.fraudbusters.mg.connector.serde.deserializer.ChargebackDeserializer;
|
||||||
import com.rbkmoney.kafka.common.serialization.ThriftSerializer;
|
import dev.vality.kafka.common.serialization.ThriftSerializer;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.common.serialization.Deserializer;
|
import org.apache.kafka.common.serialization.Deserializer;
|
||||||
import org.apache.kafka.common.serialization.Serde;
|
import org.apache.kafka.common.serialization.Serde;
|
@ -1,9 +1,9 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.serde;
|
package dev.vality.fraudbusters.mg.connector.serde;
|
||||||
|
|
||||||
|
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.deserializer.MachineEventDeserializer;
|
import dev.vality.fraudbusters.mg.connector.serde.deserializer.MachineEventDeserializer;
|
||||||
import com.rbkmoney.kafka.common.serialization.ThriftSerializer;
|
import dev.vality.kafka.common.serialization.ThriftSerializer;
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.common.serialization.Deserializer;
|
import org.apache.kafka.common.serialization.Deserializer;
|
||||||
import org.apache.kafka.common.serialization.Serde;
|
import org.apache.kafka.common.serialization.Serde;
|
@ -1,9 +1,9 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.serde;
|
package dev.vality.fraudbusters.mg.connector.serde;
|
||||||
|
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Payment;
|
import dev.vality.damsel.fraudbusters.Payment;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.deserializer.PaymentDeserializer;
|
import dev.vality.fraudbusters.mg.connector.serde.deserializer.PaymentDeserializer;
|
||||||
import com.rbkmoney.kafka.common.serialization.ThriftSerializer;
|
import dev.vality.kafka.common.serialization.ThriftSerializer;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.common.serialization.Deserializer;
|
import org.apache.kafka.common.serialization.Deserializer;
|
||||||
import org.apache.kafka.common.serialization.Serde;
|
import org.apache.kafka.common.serialization.Serde;
|
@ -1,9 +1,9 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.serde;
|
package dev.vality.fraudbusters.mg.connector.serde;
|
||||||
|
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Refund;
|
import dev.vality.damsel.fraudbusters.Refund;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.deserializer.RefundDeserializer;
|
import dev.vality.fraudbusters.mg.connector.serde.deserializer.RefundDeserializer;
|
||||||
import com.rbkmoney.kafka.common.serialization.ThriftSerializer;
|
import dev.vality.kafka.common.serialization.ThriftSerializer;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.common.serialization.Deserializer;
|
import org.apache.kafka.common.serialization.Deserializer;
|
||||||
import org.apache.kafka.common.serialization.Serde;
|
import org.apache.kafka.common.serialization.Serde;
|
@ -1,9 +1,9 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.serde;
|
package dev.vality.fraudbusters.mg.connector.serde;
|
||||||
|
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Withdrawal;
|
import dev.vality.damsel.fraudbusters.Withdrawal;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.deserializer.WithdrawalDeserializer;
|
import dev.vality.fraudbusters.mg.connector.serde.deserializer.WithdrawalDeserializer;
|
||||||
import com.rbkmoney.kafka.common.serialization.ThriftSerializer;
|
import dev.vality.kafka.common.serialization.ThriftSerializer;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.common.serialization.Deserializer;
|
import org.apache.kafka.common.serialization.Deserializer;
|
||||||
import org.apache.kafka.common.serialization.Serde;
|
import org.apache.kafka.common.serialization.Serde;
|
@ -1,7 +1,7 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.serde.deserializer;
|
package dev.vality.fraudbusters.mg.connector.serde.deserializer;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Chargeback;
|
import dev.vality.damsel.fraudbusters.Chargeback;
|
||||||
import com.rbkmoney.kafka.common.serialization.AbstractThriftDeserializer;
|
import dev.vality.kafka.common.serialization.AbstractThriftDeserializer;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.common.serialization.Deserializer;
|
import org.apache.kafka.common.serialization.Deserializer;
|
||||||
import org.apache.thrift.TDeserializer;
|
import org.apache.thrift.TDeserializer;
|
@ -1,23 +1,22 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.serde.deserializer;
|
package dev.vality.fraudbusters.mg.connector.serde.deserializer;
|
||||||
|
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
import dev.vality.fraudbusters.mg.connector.utils.DeserializerUtils;
|
||||||
import com.rbkmoney.machinegun.eventsink.SinkEvent;
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
|
import dev.vality.machinegun.eventsink.SinkEvent;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.common.serialization.Deserializer;
|
import org.apache.kafka.common.serialization.Deserializer;
|
||||||
import org.apache.thrift.TDeserializer;
|
import org.apache.thrift.TDeserializer;
|
||||||
import org.apache.thrift.protocol.TBinaryProtocol;
|
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class MachineEventDeserializer implements Deserializer<MachineEvent> {
|
public class MachineEventDeserializer implements Deserializer<MachineEvent> {
|
||||||
|
|
||||||
ThreadLocal<TDeserializer> thriftDeserializerThreadLocal =
|
private ThreadLocal<TDeserializer> threadLocalDeserializer =
|
||||||
ThreadLocal.withInitial(() -> new TDeserializer(new TBinaryProtocol.Factory()));
|
ThreadLocal.withInitial(DeserializerUtils::createDeserializer);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configure(Map<String, ?> configs, boolean isKey) {
|
public void configure(Map<String, ?> configs, boolean isKey) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -25,7 +24,7 @@ public class MachineEventDeserializer implements Deserializer<MachineEvent> {
|
|||||||
log.debug("Message, topic: {}, byteLength: {}", topic, data.length);
|
log.debug("Message, topic: {}, byteLength: {}", topic, data.length);
|
||||||
SinkEvent machineEvent = new SinkEvent();
|
SinkEvent machineEvent = new SinkEvent();
|
||||||
try {
|
try {
|
||||||
thriftDeserializerThreadLocal.get().deserialize(machineEvent, data);
|
threadLocalDeserializer.get().deserialize(machineEvent, data);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("Error when deserialize ruleTemplate data: {} ", data, e);
|
log.error("Error when deserialize ruleTemplate data: {} ", data, e);
|
||||||
}
|
}
|
||||||
@ -34,7 +33,7 @@ public class MachineEventDeserializer implements Deserializer<MachineEvent> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void close() {
|
public void close() {
|
||||||
thriftDeserializerThreadLocal.remove();
|
threadLocalDeserializer.remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,7 +1,7 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.serde.deserializer;
|
package dev.vality.fraudbusters.mg.connector.serde.deserializer;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Payment;
|
import dev.vality.damsel.fraudbusters.Payment;
|
||||||
import com.rbkmoney.kafka.common.serialization.AbstractThriftDeserializer;
|
import dev.vality.kafka.common.serialization.AbstractThriftDeserializer;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.common.serialization.Deserializer;
|
import org.apache.kafka.common.serialization.Deserializer;
|
||||||
import org.apache.thrift.TDeserializer;
|
import org.apache.thrift.TDeserializer;
|
@ -1,7 +1,7 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.serde.deserializer;
|
package dev.vality.fraudbusters.mg.connector.serde.deserializer;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Refund;
|
import dev.vality.damsel.fraudbusters.Refund;
|
||||||
import com.rbkmoney.kafka.common.serialization.AbstractThriftDeserializer;
|
import dev.vality.kafka.common.serialization.AbstractThriftDeserializer;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.common.serialization.Deserializer;
|
import org.apache.kafka.common.serialization.Deserializer;
|
||||||
import org.apache.thrift.TDeserializer;
|
import org.apache.thrift.TDeserializer;
|
@ -1,7 +1,7 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.serde.deserializer;
|
package dev.vality.fraudbusters.mg.connector.serde.deserializer;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Withdrawal;
|
import dev.vality.damsel.fraudbusters.Withdrawal;
|
||||||
import com.rbkmoney.kafka.common.serialization.AbstractThriftDeserializer;
|
import dev.vality.kafka.common.serialization.AbstractThriftDeserializer;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
@ -1,11 +1,11 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.service;
|
package dev.vality.fraudbusters.mg.connector.service;
|
||||||
|
|
||||||
|
|
||||||
import dev.vality.fistful.base.EventRange;
|
import dev.vality.fistful.base.EventRange;
|
||||||
import dev.vality.fistful.destination.DestinationState;
|
import dev.vality.fistful.destination.DestinationState;
|
||||||
import dev.vality.fistful.destination.ManagementSrv;
|
import dev.vality.fistful.destination.ManagementSrv;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.exception.PaymentInfoNotFoundException;
|
import dev.vality.fraudbusters.mg.connector.exception.PaymentInfoNotFoundException;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.exception.PaymentInfoRequestException;
|
import dev.vality.fraudbusters.mg.connector.exception.PaymentInfoRequestException;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.thrift.TException;
|
import org.apache.thrift.TException;
|
@ -1,15 +1,13 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.service;
|
package dev.vality.fraudbusters.mg.connector.service;
|
||||||
|
|
||||||
|
import dev.vality.damsel.payment_processing.*;
|
||||||
import com.rbkmoney.damsel.payment_processing.*;
|
import dev.vality.fraudbusters.mg.connector.domain.InvoicePaymentWrapper;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.domain.InvoicePaymentWrapper;
|
import dev.vality.fraudbusters.mg.connector.exception.PaymentInfoNotFoundException;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.exception.PaymentInfoNotFoundException;
|
import dev.vality.fraudbusters.mg.connector.factory.EventRangeFactory;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.factory.EventRangeFactory;
|
import dev.vality.woody.api.flow.error.WUnavailableResultException;
|
||||||
import com.rbkmoney.woody.api.flow.error.WUnavailableResultException;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.connect.errors.RetriableException;
|
import org.apache.kafka.common.errors.NetworkException;
|
||||||
import org.apache.thrift.TApplicationException;
|
|
||||||
import org.apache.thrift.TException;
|
import org.apache.thrift.TException;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@ -64,7 +62,7 @@ public class HgClientService {
|
|||||||
} catch (WUnavailableResultException | TException e) {
|
} catch (WUnavailableResultException | TException e) {
|
||||||
log.error("Error when HgClientService getInvoiceInfo invoiceId: {} eventId: {} sequenceId: {} e: ",
|
log.error("Error when HgClientService getInvoiceInfo invoiceId: {} eventId: {} sequenceId: {} e: ",
|
||||||
invoiceId, eventId, sequenceId, e);
|
invoiceId, eventId, sequenceId, e);
|
||||||
throw new RetriableException(e);
|
throw new NetworkException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,11 +1,11 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.service;
|
package dev.vality.fraudbusters.mg.connector.service;
|
||||||
|
|
||||||
|
|
||||||
import dev.vality.fistful.base.EventRange;
|
import dev.vality.fistful.base.EventRange;
|
||||||
import dev.vality.fistful.wallet.ManagementSrv;
|
import dev.vality.fistful.wallet.ManagementSrv;
|
||||||
import dev.vality.fistful.wallet.WalletState;
|
import dev.vality.fistful.wallet.WalletState;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.exception.PaymentInfoNotFoundException;
|
import dev.vality.fraudbusters.mg.connector.exception.PaymentInfoNotFoundException;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.exception.PaymentInfoRequestException;
|
import dev.vality.fraudbusters.mg.connector.exception.PaymentInfoRequestException;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.thrift.TException;
|
import org.apache.thrift.TException;
|
@ -1,11 +1,11 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.service;
|
package dev.vality.fraudbusters.mg.connector.service;
|
||||||
|
|
||||||
|
|
||||||
import dev.vality.fistful.withdrawal.ManagementSrv;
|
import dev.vality.fistful.withdrawal.ManagementSrv;
|
||||||
import dev.vality.fistful.withdrawal.WithdrawalState;
|
import dev.vality.fistful.withdrawal.WithdrawalState;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.exception.PaymentInfoNotFoundException;
|
import dev.vality.fraudbusters.mg.connector.exception.PaymentInfoNotFoundException;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.exception.PaymentInfoRequestException;
|
import dev.vality.fraudbusters.mg.connector.exception.PaymentInfoRequestException;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.factory.FistfulEventRangeFactory;
|
import dev.vality.fraudbusters.mg.connector.factory.FistfulEventRangeFactory;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.thrift.TException;
|
import org.apache.thrift.TException;
|
@ -0,0 +1,21 @@
|
|||||||
|
package dev.vality.fraudbusters.mg.connector.utils;
|
||||||
|
|
||||||
|
import dev.vality.kafka.common.exception.TransportException;
|
||||||
|
import lombok.AccessLevel;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.apache.thrift.TDeserializer;
|
||||||
|
import org.apache.thrift.protocol.TBinaryProtocol;
|
||||||
|
import org.apache.thrift.transport.TTransportException;
|
||||||
|
|
||||||
|
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
||||||
|
public final class DeserializerUtils {
|
||||||
|
|
||||||
|
public static TDeserializer createDeserializer() {
|
||||||
|
try {
|
||||||
|
return new TDeserializer(new TBinaryProtocol.Factory());
|
||||||
|
} catch (TTransportException ex) {
|
||||||
|
throw new TransportException(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.utils;
|
package dev.vality.fraudbusters.mg.connector.utils;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
@ -1,14 +1,14 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.utils;
|
package dev.vality.fraudbusters.mg.connector.utils;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Error;
|
import dev.vality.damsel.fraudbusters.Error;
|
||||||
import com.rbkmoney.damsel.fraudbusters.ProviderInfo;
|
import dev.vality.damsel.fraudbusters.ProviderInfo;
|
||||||
import dev.vality.fistful.base.Failure;
|
import dev.vality.fistful.base.Failure;
|
||||||
import dev.vality.fistful.destination.DestinationState;
|
import dev.vality.fistful.destination.DestinationState;
|
||||||
import dev.vality.fistful.withdrawal.StatusChange;
|
import dev.vality.fistful.withdrawal.StatusChange;
|
||||||
import dev.vality.fistful.withdrawal.WithdrawalState;
|
import dev.vality.fistful.withdrawal.WithdrawalState;
|
||||||
import dev.vality.fistful.withdrawal.status.Failed;
|
import dev.vality.fistful.withdrawal.status.Failed;
|
||||||
import com.rbkmoney.geck.serializer.kit.tbase.TBaseProcessor;
|
import dev.vality.geck.serializer.kit.tbase.TBaseProcessor;
|
||||||
import com.rbkmoney.geck.serializer.kit.tbase.TDomainToStringErrorHandler;
|
import dev.vality.geck.serializer.kit.tbase.TDomainToStringErrorHandler;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
@ -17,7 +17,7 @@ management:
|
|||||||
health:
|
health:
|
||||||
show-details: always
|
show-details: always
|
||||||
metrics:
|
metrics:
|
||||||
enabled: true
|
enabled: false
|
||||||
prometheus:
|
prometheus:
|
||||||
enabled: true
|
enabled: true
|
||||||
endpoints:
|
endpoints:
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector;
|
package dev.vality.fraudbusters.mg.connector;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.domain.*;
|
import dev.vality.damsel.domain.*;
|
||||||
import com.rbkmoney.damsel.fraudbusters.Payment;
|
import dev.vality.damsel.fraudbusters.Payment;
|
||||||
import com.rbkmoney.damsel.payment_processing.Invoice;
|
import dev.vality.damsel.payment_processing.Invoice;
|
||||||
import com.rbkmoney.damsel.payment_processing.InvoicingSrv;
|
import dev.vality.damsel.payment_processing.InvoicingSrv;
|
||||||
import dev.vality.fistful.withdrawal.ManagementSrv;
|
import dev.vality.fistful.withdrawal.ManagementSrv;
|
||||||
import dev.vality.fistful.withdrawal.WithdrawalState;
|
import dev.vality.fistful.withdrawal.WithdrawalState;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.factory.EventRangeFactory;
|
import dev.vality.fraudbusters.mg.connector.factory.EventRangeFactory;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.mapper.impl.WithdrawalBeanUtils;
|
import dev.vality.fraudbusters.mg.connector.mapper.impl.WithdrawalBeanUtils;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.deserializer.ChargebackDeserializer;
|
import dev.vality.fraudbusters.mg.connector.serde.deserializer.ChargebackDeserializer;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.deserializer.PaymentDeserializer;
|
import dev.vality.fraudbusters.mg.connector.serde.deserializer.PaymentDeserializer;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.deserializer.RefundDeserializer;
|
import dev.vality.fraudbusters.mg.connector.serde.deserializer.RefundDeserializer;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.deserializer.WithdrawalDeserializer;
|
import dev.vality.fraudbusters.mg.connector.serde.deserializer.WithdrawalDeserializer;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.service.HgClientService;
|
import dev.vality.fraudbusters.mg.connector.service.HgClientService;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.utils.BuildUtils;
|
import dev.vality.fraudbusters.mg.connector.utils.BuildUtils;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.utils.MgEventSinkFlowGenerator;
|
import dev.vality.fraudbusters.mg.connector.utils.MgEventSinkFlowGenerator;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.utils.WithdrawalFlowGenerator;
|
import dev.vality.fraudbusters.mg.connector.utils.WithdrawalFlowGenerator;
|
||||||
import com.rbkmoney.machinegun.eventsink.SinkEvent;
|
import dev.vality.machinegun.eventsink.SinkEvent;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.clients.consumer.Consumer;
|
import org.apache.kafka.clients.consumer.Consumer;
|
||||||
import org.apache.kafka.clients.consumer.ConsumerRecords;
|
import org.apache.kafka.clients.consumer.ConsumerRecords;
|
||||||
@ -139,7 +139,7 @@ public class FraudbustersMgConnectorApplicationTest extends KafkaAbstractTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void mockPaymentWithException(String sourceId) throws TException, IOException {
|
private void mockPaymentWithException(String sourceId) throws TException, IOException {
|
||||||
when(invoicingClient.get(HgClientService.USER_INFO, sourceId, eventRangeFactory.create(4)))
|
when(invoicingClient.get(HgClientService.USER_INFO, sourceId, eventRangeFactory.create(6)))
|
||||||
.thenThrow(new RuntimeException())
|
.thenThrow(new RuntimeException())
|
||||||
.thenReturn(BuildUtils.buildInvoice(MgEventSinkFlowGenerator.PARTY_ID, MgEventSinkFlowGenerator.SHOP_ID,
|
.thenReturn(BuildUtils.buildInvoice(MgEventSinkFlowGenerator.PARTY_ID, MgEventSinkFlowGenerator.SHOP_ID,
|
||||||
sourceId, "1", "1", "1",
|
sourceId, "1", "1", "1",
|
@ -1,16 +1,16 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector;
|
package dev.vality.fraudbusters.mg.connector;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.domain.InvoicePaid;
|
import dev.vality.damsel.domain.InvoicePaid;
|
||||||
import com.rbkmoney.damsel.domain.InvoicePaymentProcessed;
|
import dev.vality.damsel.domain.InvoicePaymentProcessed;
|
||||||
import com.rbkmoney.damsel.domain.InvoicePaymentStatus;
|
import dev.vality.damsel.domain.InvoicePaymentStatus;
|
||||||
import com.rbkmoney.damsel.domain.InvoiceStatus;
|
import dev.vality.damsel.domain.InvoiceStatus;
|
||||||
import com.rbkmoney.damsel.fraudbusters.Payment;
|
import dev.vality.damsel.fraudbusters.Payment;
|
||||||
import com.rbkmoney.damsel.payment_processing.InvoicingSrv;
|
import dev.vality.damsel.payment_processing.InvoicingSrv;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.deserializer.SinkEventDeserializer;
|
import dev.vality.fraudbusters.mg.connector.deserializer.SinkEventDeserializer;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.deserializer.PaymentDeserializer;
|
import dev.vality.fraudbusters.mg.connector.serde.deserializer.PaymentDeserializer;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.utils.BuildUtils;
|
import dev.vality.fraudbusters.mg.connector.utils.BuildUtils;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.utils.MgEventSinkFlowGenerator;
|
import dev.vality.fraudbusters.mg.connector.utils.MgEventSinkFlowGenerator;
|
||||||
import com.rbkmoney.machinegun.eventsink.SinkEvent;
|
import dev.vality.machinegun.eventsink.SinkEvent;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.clients.CommonClientConfigs;
|
import org.apache.kafka.clients.CommonClientConfigs;
|
||||||
import org.apache.kafka.clients.consumer.*;
|
import org.apache.kafka.clients.consumer.*;
|
@ -1,9 +1,9 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector;
|
package dev.vality.fraudbusters.mg.connector;
|
||||||
|
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.extension.KafkaExtension;
|
import dev.vality.fraudbusters.mg.connector.extension.KafkaExtension;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.serde.deserializer.MachineEventDeserializer;
|
import dev.vality.fraudbusters.mg.connector.serde.deserializer.MachineEventDeserializer;
|
||||||
import com.rbkmoney.kafka.common.serialization.ThriftSerializer;
|
import dev.vality.kafka.common.serialization.ThriftSerializer;
|
||||||
import com.rbkmoney.machinegun.eventsink.SinkEvent;
|
import dev.vality.machinegun.eventsink.SinkEvent;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.clients.consumer.Consumer;
|
import org.apache.kafka.clients.consumer.Consumer;
|
||||||
import org.apache.kafka.clients.consumer.ConsumerConfig;
|
import org.apache.kafka.clients.consumer.ConsumerConfig;
|
@ -1,11 +1,11 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.converter;
|
package dev.vality.fraudbusters.mg.connector.converter;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Resource;
|
import dev.vality.damsel.fraudbusters.Resource;
|
||||||
import dev.vality.fistful.base.ResourceBankCard;
|
import dev.vality.fistful.base.ResourceBankCard;
|
||||||
import dev.vality.fistful.base.ResourceCryptoWallet;
|
import dev.vality.fistful.base.ResourceCryptoWallet;
|
||||||
import dev.vality.fistful.base.ResourceDigitalWallet;
|
import dev.vality.fistful.base.ResourceDigitalWallet;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.exception.UnknownResourceException;
|
import dev.vality.fraudbusters.mg.connector.exception.UnknownResourceException;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.utils.BuildUtils;
|
import dev.vality.fraudbusters.mg.connector.utils.BuildUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
@ -1,22 +1,21 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.deserializer;
|
package dev.vality.fraudbusters.mg.connector.deserializer;
|
||||||
|
|
||||||
import com.rbkmoney.machinegun.eventsink.SinkEvent;
|
import dev.vality.fraudbusters.mg.connector.utils.DeserializerUtils;
|
||||||
|
import dev.vality.machinegun.eventsink.SinkEvent;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.kafka.common.serialization.Deserializer;
|
import org.apache.kafka.common.serialization.Deserializer;
|
||||||
import org.apache.thrift.TDeserializer;
|
import org.apache.thrift.TDeserializer;
|
||||||
import org.apache.thrift.protocol.TBinaryProtocol;
|
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class SinkEventDeserializer implements Deserializer<SinkEvent> {
|
public class SinkEventDeserializer implements Deserializer<SinkEvent> {
|
||||||
|
|
||||||
ThreadLocal<TDeserializer> thriftDeserializerThreadLocal =
|
private ThreadLocal<TDeserializer> threadLocalDeserializer =
|
||||||
ThreadLocal.withInitial(() -> new TDeserializer(new TBinaryProtocol.Factory()));
|
ThreadLocal.withInitial(DeserializerUtils::createDeserializer);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configure(Map<String, ?> configs, boolean isKey) {
|
public void configure(Map<String, ?> configs, boolean isKey) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -24,7 +23,7 @@ public class SinkEventDeserializer implements Deserializer<SinkEvent> {
|
|||||||
log.debug("Message, topic: {}, byteLength: {}", topic, data.length);
|
log.debug("Message, topic: {}, byteLength: {}", topic, data.length);
|
||||||
SinkEvent machineEvent = new SinkEvent();
|
SinkEvent machineEvent = new SinkEvent();
|
||||||
try {
|
try {
|
||||||
thriftDeserializerThreadLocal.get().deserialize(machineEvent, data);
|
threadLocalDeserializer.get().deserialize(machineEvent, data);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("Error when deserialize ruleTemplate data: {} ", data, e);
|
log.error("Error when deserialize ruleTemplate data: {} ", data, e);
|
||||||
}
|
}
|
||||||
@ -33,7 +32,7 @@ public class SinkEventDeserializer implements Deserializer<SinkEvent> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void close() {
|
public void close() {
|
||||||
|
threadLocalDeserializer.remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.extension;
|
package dev.vality.fraudbusters.mg.connector.extension;
|
||||||
|
|
||||||
import org.junit.jupiter.api.extension.BeforeAllCallback;
|
import org.junit.jupiter.api.extension.BeforeAllCallback;
|
||||||
import org.junit.jupiter.api.extension.ExtensionContext;
|
import org.junit.jupiter.api.extension.ExtensionContext;
|
@ -1,4 +1,4 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.mapper.impl;
|
package dev.vality.fraudbusters.mg.connector.mapper.impl;
|
||||||
|
|
||||||
import dev.vality.fistful.account.Account;
|
import dev.vality.fistful.account.Account;
|
||||||
import dev.vality.fistful.base.*;
|
import dev.vality.fistful.base.*;
|
||||||
@ -8,7 +8,7 @@ import dev.vality.fistful.withdrawal.Change;
|
|||||||
import dev.vality.fistful.withdrawal.StatusChange;
|
import dev.vality.fistful.withdrawal.StatusChange;
|
||||||
import dev.vality.fistful.withdrawal.TimestampedChange;
|
import dev.vality.fistful.withdrawal.TimestampedChange;
|
||||||
import dev.vality.fistful.withdrawal.status.Status;
|
import dev.vality.fistful.withdrawal.status.Status;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.utils.InvoiceTestConstant;
|
import dev.vality.fraudbusters.mg.connector.utils.InvoiceTestConstant;
|
||||||
|
|
||||||
public class WithdrawalBeanUtils {
|
public class WithdrawalBeanUtils {
|
||||||
|
|
@ -1,21 +1,21 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.mapper.impl;
|
package dev.vality.fraudbusters.mg.connector.mapper.impl;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.fraudbusters.Withdrawal;
|
import dev.vality.damsel.fraudbusters.Withdrawal;
|
||||||
import com.rbkmoney.damsel.fraudbusters.WithdrawalStatus;
|
import dev.vality.damsel.fraudbusters.WithdrawalStatus;
|
||||||
import dev.vality.fistful.withdrawal.TimestampedChange;
|
import dev.vality.fistful.withdrawal.TimestampedChange;
|
||||||
import dev.vality.fistful.withdrawal.WithdrawalState;
|
import dev.vality.fistful.withdrawal.WithdrawalState;
|
||||||
import dev.vality.fistful.withdrawal.status.Failed;
|
import dev.vality.fistful.withdrawal.status.Failed;
|
||||||
import dev.vality.fistful.withdrawal.status.Pending;
|
import dev.vality.fistful.withdrawal.status.Pending;
|
||||||
import dev.vality.fistful.withdrawal.status.Status;
|
import dev.vality.fistful.withdrawal.status.Status;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.converter.FistfulAccountToDomainAccountConverter;
|
import dev.vality.fraudbusters.mg.connector.converter.FistfulAccountToDomainAccountConverter;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.converter.FistfulCashToDomainCashConverter;
|
import dev.vality.fraudbusters.mg.connector.converter.FistfulCashToDomainCashConverter;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.converter.FistfulCurrencyToDomainCurrencyConverter;
|
import dev.vality.fraudbusters.mg.connector.converter.FistfulCurrencyToDomainCurrencyConverter;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.converter.FistfulResourceToDomainResourceConverter;
|
import dev.vality.fraudbusters.mg.connector.converter.FistfulResourceToDomainResourceConverter;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.mapper.Mapper;
|
import dev.vality.fraudbusters.mg.connector.mapper.Mapper;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.service.DestinationClientService;
|
import dev.vality.fraudbusters.mg.connector.service.DestinationClientService;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.service.WalletClientService;
|
import dev.vality.fraudbusters.mg.connector.service.WalletClientService;
|
||||||
import com.rbkmoney.fraudbusters.mg.connector.service.WithdrawalClientService;
|
import dev.vality.fraudbusters.mg.connector.service.WithdrawalClientService;
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
@ -24,7 +24,7 @@ import org.springframework.boot.test.mock.mockito.MockBean;
|
|||||||
import org.springframework.test.context.ContextConfiguration;
|
import org.springframework.test.context.ContextConfiguration;
|
||||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||||
|
|
||||||
import static com.rbkmoney.fraudbusters.mg.connector.mapper.impl.WithdrawalBeanUtils.*;
|
import static dev.vality.fraudbusters.mg.connector.mapper.impl.WithdrawalBeanUtils.*;
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
@ -1,16 +1,16 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.utils;
|
package dev.vality.fraudbusters.mg.connector.utils;
|
||||||
|
|
||||||
import com.rbkmoney.damsel.base.Content;
|
import dev.vality.damsel.base.Content;
|
||||||
import com.rbkmoney.damsel.domain.*;
|
import dev.vality.damsel.domain.*;
|
||||||
import com.rbkmoney.damsel.payment_processing.InvoicePayment;
|
import dev.vality.damsel.payment_processing.InvoicePayment;
|
||||||
import com.rbkmoney.damsel.payment_processing.InvoicePaymentChargeback;
|
import dev.vality.damsel.payment_processing.InvoicePaymentChargeback;
|
||||||
import com.rbkmoney.damsel.payment_processing.InvoiceRefundSession;
|
import dev.vality.damsel.payment_processing.InvoiceRefundSession;
|
||||||
import dev.vality.fistful.base.CardType;
|
import dev.vality.fistful.base.CardType;
|
||||||
import dev.vality.fistful.base.Residence;
|
import dev.vality.fistful.base.Residence;
|
||||||
import com.rbkmoney.geck.common.util.TypeUtil;
|
import dev.vality.geck.common.util.TypeUtil;
|
||||||
import com.rbkmoney.geck.serializer.kit.mock.MockMode;
|
import dev.vality.geck.serializer.kit.mock.MockMode;
|
||||||
import com.rbkmoney.geck.serializer.kit.mock.MockTBaseProcessor;
|
import dev.vality.geck.serializer.kit.mock.MockTBaseProcessor;
|
||||||
import com.rbkmoney.geck.serializer.kit.tbase.TBaseHandler;
|
import dev.vality.geck.serializer.kit.tbase.TBaseHandler;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
@ -20,7 +20,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import static com.rbkmoney.fraudbusters.mg.connector.utils.MgEventSinkFlowGenerator.createCash;
|
import static dev.vality.fraudbusters.mg.connector.utils.MgEventSinkFlowGenerator.createCash;
|
||||||
|
|
||||||
public class BuildUtils {
|
public class BuildUtils {
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ public class BuildUtils {
|
|||||||
return digitalWallet;
|
return digitalWallet;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static com.rbkmoney.damsel.payment_processing.Invoice buildInvoice(
|
public static dev.vality.damsel.payment_processing.Invoice buildInvoice(
|
||||||
String partyId,
|
String partyId,
|
||||||
String shopId,
|
String shopId,
|
||||||
String invoiceId,
|
String invoiceId,
|
||||||
@ -62,7 +62,7 @@ public class BuildUtils {
|
|||||||
InvoiceStatus invoiceStatus,
|
InvoiceStatus invoiceStatus,
|
||||||
InvoicePaymentStatus paymentStatus) throws IOException {
|
InvoicePaymentStatus paymentStatus) throws IOException {
|
||||||
MockTBaseProcessor thriftBaseProcessor = new MockTBaseProcessor(MockMode.RANDOM, 15, 1);
|
MockTBaseProcessor thriftBaseProcessor = new MockTBaseProcessor(MockMode.RANDOM, 15, 1);
|
||||||
com.rbkmoney.damsel.payment_processing.Invoice invoice = new com.rbkmoney.damsel.payment_processing.Invoice()
|
dev.vality.damsel.payment_processing.Invoice invoice = new dev.vality.damsel.payment_processing.Invoice()
|
||||||
.setInvoice(buildInvoice(partyId, shopId, invoiceId, invoiceStatus, thriftBaseProcessor))
|
.setInvoice(buildInvoice(partyId, shopId, invoiceId, invoiceStatus, thriftBaseProcessor))
|
||||||
.setPayments(buildPayments(partyId, shopId, paymentId, refundId, chargebackId, paymentStatus,
|
.setPayments(buildPayments(partyId, shopId, paymentId, refundId, chargebackId, paymentStatus,
|
||||||
thriftBaseProcessor));
|
thriftBaseProcessor));
|
||||||
@ -336,15 +336,15 @@ public class BuildUtils {
|
|||||||
.setAmount(amount));
|
.setAmount(amount));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static com.rbkmoney.damsel.domain.InvoicePayment buildPayment(
|
private static dev.vality.damsel.domain.InvoicePayment buildPayment(
|
||||||
String partyId,
|
String partyId,
|
||||||
String shopId,
|
String shopId,
|
||||||
String paymentId,
|
String paymentId,
|
||||||
InvoicePaymentStatus paymentStatus,
|
InvoicePaymentStatus paymentStatus,
|
||||||
MockTBaseProcessor thriftBaseProcessor) throws IOException {
|
MockTBaseProcessor thriftBaseProcessor) throws IOException {
|
||||||
return thriftBaseProcessor.process(
|
return thriftBaseProcessor.process(
|
||||||
new com.rbkmoney.damsel.domain.InvoicePayment(),
|
new dev.vality.damsel.domain.InvoicePayment(),
|
||||||
new TBaseHandler<>(com.rbkmoney.damsel.domain.InvoicePayment.class))
|
new TBaseHandler<>(dev.vality.damsel.domain.InvoicePayment.class))
|
||||||
.setCreatedAt("2016-03-22T06:12:27Z")
|
.setCreatedAt("2016-03-22T06:12:27Z")
|
||||||
.setId(paymentId)
|
.setId(paymentId)
|
||||||
.setOwnerId(partyId)
|
.setOwnerId(partyId)
|
||||||
@ -355,11 +355,11 @@ public class BuildUtils {
|
|||||||
.setStatus(paymentStatus);
|
.setStatus(paymentStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<com.rbkmoney.damsel.payment_processing.InvoicePaymentRefund> buildRefunds(
|
private static List<dev.vality.damsel.payment_processing.InvoicePaymentRefund> buildRefunds(
|
||||||
String refundId,
|
String refundId,
|
||||||
MockTBaseProcessor thriftBaseProcessor) throws IOException {
|
MockTBaseProcessor thriftBaseProcessor) throws IOException {
|
||||||
com.rbkmoney.damsel.payment_processing.InvoicePaymentRefund invoicePaymentRefund =
|
dev.vality.damsel.payment_processing.InvoicePaymentRefund invoicePaymentRefund =
|
||||||
new com.rbkmoney.damsel.payment_processing.InvoicePaymentRefund(
|
new dev.vality.damsel.payment_processing.InvoicePaymentRefund(
|
||||||
buildRefund(refundId, thriftBaseProcessor),
|
buildRefund(refundId, thriftBaseProcessor),
|
||||||
Collections.singletonList(new InvoiceRefundSession().setTransactionInfo(getTransactionInfo())));
|
Collections.singletonList(new InvoiceRefundSession().setTransactionInfo(getTransactionInfo())));
|
||||||
invoicePaymentRefund.setCashFlow(createCashFlow(123L, 100L));
|
invoicePaymentRefund.setCashFlow(createCashFlow(123L, 100L));
|
||||||
@ -382,7 +382,7 @@ public class BuildUtils {
|
|||||||
return thriftBaseProcessor.process(
|
return thriftBaseProcessor.process(
|
||||||
new InvoicePaymentChargeback(),
|
new InvoicePaymentChargeback(),
|
||||||
new TBaseHandler<>(InvoicePaymentChargeback.class))
|
new TBaseHandler<>(InvoicePaymentChargeback.class))
|
||||||
.setChargeback(new com.rbkmoney.damsel.domain.InvoicePaymentChargeback()
|
.setChargeback(new dev.vality.damsel.domain.InvoicePaymentChargeback()
|
||||||
.setCreatedAt(TypeUtil.temporalToString(Instant.now()))
|
.setCreatedAt(TypeUtil.temporalToString(Instant.now()))
|
||||||
.setId(chargebackId)
|
.setId(chargebackId)
|
||||||
.setReason(new InvoicePaymentChargebackReason()
|
.setReason(new InvoicePaymentChargebackReason()
|
@ -1,4 +1,4 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.utils;
|
package dev.vality.fraudbusters.mg.connector.utils;
|
||||||
|
|
||||||
import dev.vality.fistful.base.CardType;
|
import dev.vality.fistful.base.CardType;
|
||||||
import dev.vality.fistful.base.LegacyBankCardPaymentSystem;
|
import dev.vality.fistful.base.LegacyBankCardPaymentSystem;
|
@ -1,19 +1,20 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.utils;
|
package dev.vality.fraudbusters.mg.connector.utils;
|
||||||
|
|
||||||
|
import dev.vality.damsel.base.Content;
|
||||||
import com.rbkmoney.damsel.base.Content;
|
import dev.vality.damsel.domain.Invoice;
|
||||||
import com.rbkmoney.damsel.domain.*;
|
import dev.vality.damsel.domain.InvoicePayment;
|
||||||
import com.rbkmoney.damsel.domain.InvoicePaymentChargeback;
|
import dev.vality.damsel.domain.InvoicePaymentChargeback;
|
||||||
import com.rbkmoney.damsel.domain.InvoicePaymentChargebackPending;
|
import dev.vality.damsel.domain.InvoicePaymentChargebackPending;
|
||||||
import com.rbkmoney.damsel.domain.InvoicePaymentPending;
|
import dev.vality.damsel.domain.InvoicePaymentPending;
|
||||||
import com.rbkmoney.damsel.domain.InvoicePaymentRefund;
|
import dev.vality.damsel.domain.InvoicePaymentRefund;
|
||||||
import com.rbkmoney.damsel.domain.InvoicePaymentRefundPending;
|
import dev.vality.damsel.domain.InvoicePaymentRefundPending;
|
||||||
import com.rbkmoney.damsel.payment_processing.*;
|
import dev.vality.damsel.domain.*;
|
||||||
import com.rbkmoney.geck.common.util.TypeUtil;
|
import dev.vality.damsel.payment_processing.*;
|
||||||
import com.rbkmoney.kafka.common.serialization.ThriftSerializer;
|
import dev.vality.geck.common.util.TypeUtil;
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
import dev.vality.kafka.common.serialization.ThriftSerializer;
|
||||||
import com.rbkmoney.machinegun.eventsink.SinkEvent;
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
import com.rbkmoney.machinegun.msgpack.Value;
|
import dev.vality.machinegun.eventsink.SinkEvent;
|
||||||
|
import dev.vality.machinegun.msgpack.Value;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -248,7 +249,7 @@ public class MgEventSinkFlowGenerator {
|
|||||||
private static InvoiceCreated createInvoiceCreate(String sourceId) {
|
private static InvoiceCreated createInvoiceCreate(String sourceId) {
|
||||||
|
|
||||||
return new InvoiceCreated()
|
return new InvoiceCreated()
|
||||||
.setInvoice(new com.rbkmoney.damsel.domain.Invoice()
|
.setInvoice(new Invoice()
|
||||||
.setId(sourceId)
|
.setId(sourceId)
|
||||||
.setOwnerId(PARTY_ID)
|
.setOwnerId(PARTY_ID)
|
||||||
.setShopId(SHOP_ID)
|
.setShopId(SHOP_ID)
|
||||||
@ -338,7 +339,7 @@ public class MgEventSinkFlowGenerator {
|
|||||||
);
|
);
|
||||||
invoicePaymentChangePayload.setInvoicePaymentStarted(
|
invoicePaymentChangePayload.setInvoicePaymentStarted(
|
||||||
new InvoicePaymentStarted()
|
new InvoicePaymentStarted()
|
||||||
.setPayment(new com.rbkmoney.damsel.domain.InvoicePayment()
|
.setPayment(new InvoicePayment()
|
||||||
.setCost(
|
.setCost(
|
||||||
new Cash()
|
new Cash()
|
||||||
.setAmount(123L)
|
.setAmount(123L)
|
@ -1,4 +1,4 @@
|
|||||||
package com.rbkmoney.fraudbusters.mg.connector.utils;
|
package dev.vality.fraudbusters.mg.connector.utils;
|
||||||
|
|
||||||
import dev.vality.fistful.base.Failure;
|
import dev.vality.fistful.base.Failure;
|
||||||
import dev.vality.fistful.withdrawal.Change;
|
import dev.vality.fistful.withdrawal.Change;
|
||||||
@ -8,11 +8,11 @@ import dev.vality.fistful.withdrawal.status.Failed;
|
|||||||
import dev.vality.fistful.withdrawal.status.Pending;
|
import dev.vality.fistful.withdrawal.status.Pending;
|
||||||
import dev.vality.fistful.withdrawal.status.Status;
|
import dev.vality.fistful.withdrawal.status.Status;
|
||||||
import dev.vality.fistful.withdrawal.status.Succeeded;
|
import dev.vality.fistful.withdrawal.status.Succeeded;
|
||||||
import com.rbkmoney.geck.common.util.TypeUtil;
|
import dev.vality.geck.common.util.TypeUtil;
|
||||||
import com.rbkmoney.kafka.common.serialization.ThriftSerializer;
|
import dev.vality.kafka.common.serialization.ThriftSerializer;
|
||||||
import com.rbkmoney.machinegun.eventsink.MachineEvent;
|
import dev.vality.machinegun.eventsink.MachineEvent;
|
||||||
import com.rbkmoney.machinegun.eventsink.SinkEvent;
|
import dev.vality.machinegun.eventsink.SinkEvent;
|
||||||
import com.rbkmoney.machinegun.msgpack.Value;
|
import dev.vality.machinegun.msgpack.Value;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
@ -6,5 +6,5 @@
|
|||||||
<root level="warn">
|
<root level="warn">
|
||||||
<appender-ref ref="CONSOLE"/>
|
<appender-ref ref="CONSOLE"/>
|
||||||
</root>
|
</root>
|
||||||
<logger name="com.rbkmoney" level="ALL"/>
|
<logger name="dev.vality" level="ALL"/>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
Loading…
Reference in New Issue
Block a user