/
DevDenzo
/
ShoppingCart
Обзор
Документация
Войти
/
DevDenzo
/
ShoppingCart
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/context/CheckoutContext.java
36 строк
966 B
Denis Sklyarskij
создаем класс промежуточных данных
22 дек 2025, 21:49
22 дек 2025, 21:49
a34897a
Код
Авторство
О чём код?
package main.java.context; import main.java.checkout.dto.Response; import main.java.checkout.step.CheckoutStep; import main.java.model.Cart; import main.java.model.User; import java.util.List; import java.util.concurrent.CompletableFuture; public class CheckoutContext { private final List<CheckoutStep> steps; public CheckoutContext(List<CheckoutStep> steps) { this.steps = steps; } public CompletableFuture<Response> run(User user, Cart cart) { CompletableFuture<Response> result = CompletableFuture.completedFuture(null); for (CheckoutStep step: steps) { result = result.thenCompose(response -> { if (response != null) { return CompletableFuture.completedFuture(response); } return step.execute(user, cart); }); } return result; } public List<CheckoutStep> getSteps() { return steps; } }