-
Notifications
You must be signed in to change notification settings - Fork 504
Expand file tree
/
Copy pathEvaluateTransactionUseCaseImpl.java
More file actions
31 lines (24 loc) · 1.01 KB
/
EvaluateTransactionUseCaseImpl.java
File metadata and controls
31 lines (24 loc) · 1.01 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
package com.yape.antifraud.application.usecase;
import com.yape.antifraud.domain.port.in.EvaluateTransactionUseCase;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.UUID;
@Service
@Slf4j
public class EvaluateTransactionUseCaseImpl implements EvaluateTransactionUseCase {
private static final BigDecimal FRAUD_THRESHOLD = new BigDecimal("1000");
@Override
public String evaluate(UUID transactionId, BigDecimal value) {
log.info("Evaluating transaction {} with value {}", transactionId, value);
String status;
if (value.compareTo(FRAUD_THRESHOLD) > 0) {
status = "REJECTED";
log.warn("Transaction {} REJECTED - value {} exceeds threshold {}", transactionId, value, FRAUD_THRESHOLD);
} else {
status = "APPROVED";
log.info("Transaction {} APPROVED - value {} within threshold {}", transactionId, value, FRAUD_THRESHOLD);
}
return status;
}
}