-
Notifications
You must be signed in to change notification settings - Fork 504
Expand file tree
/
Copy pathEvaluateTransactionService.java
More file actions
35 lines (26 loc) · 1.19 KB
/
EvaluateTransactionService.java
File metadata and controls
35 lines (26 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package com.yape.antifraud.application.usecase;
import com.yape.antifraud.domain.model.FraudEvaluation;
import com.yape.antifraud.domain.port.in.EvaluateTransactionUseCase;
import com.yape.antifraud.domain.port.out.FraudResultPublisher;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
@Service
public class EvaluateTransactionService implements EvaluateTransactionUseCase {
private static final Logger log = LoggerFactory.getLogger(EvaluateTransactionService.class);
private final FraudResultPublisher fraudResultPublisher;
public EvaluateTransactionService(FraudResultPublisher fraudResultPublisher) {
this.fraudResultPublisher = fraudResultPublisher;
}
@Override
public FraudEvaluation execute(Command command) {
FraudEvaluation evaluation = new FraudEvaluation(
command.transactionExternalId(),
command.value()
).evaluate();
log.info("Transaction {} evaluated as {} (value: {})",
command.transactionExternalId(), evaluation.getResult(), command.value());
fraudResultPublisher.publishResult(evaluation);
return evaluation;
}
}