From fa20b7cc91a4737d8d58853ddf9db009dea50e52 Mon Sep 17 00:00:00 2001 From: luklpz Date: Fri, 15 May 2026 08:10:00 +0200 Subject: [PATCH] fix: add out_of_stock to stock XML; remove invalid date_add order filter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - PrestashopClient.toStockAvailableXml: add out_of_stock=2 (use shop default) — PS 8.2.5 returns 400 code 41 without this field - PrestashopClient.getOrdersSince: remove filter[date_add] — PS 8.2.5 does not expose date_add as a filterable field for orders (400 code 32) Re-import prevention handled by OrderMapping.existsByPrestashopOrderId Co-Authored-By: Claude Sonnet 4.6 --- .../integration/prestashop/PrestashopClient.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/integration/prestashop/PrestashopClient.java b/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/integration/prestashop/PrestashopClient.java index dbf5374..465fcb5 100644 --- a/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/integration/prestashop/PrestashopClient.java +++ b/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/integration/prestashop/PrestashopClient.java @@ -10,7 +10,6 @@ import org.springframework.web.client.RestClient; import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Optional; @@ -28,9 +27,6 @@ import java.util.Optional; @Component public class PrestashopClient { - private static final DateTimeFormatter PS_DATE_FORMAT = - DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - private final RestClient restClient; private final String wsKey; @@ -167,20 +163,19 @@ public class PrestashopClient { // ── Orders ──────────────────────────────────────────────────────────── /** - * Returns orders created on or after {@code since}, with full details and order rows. + * Returns all orders with full details and order rows. * - *

PrestaShop date filter syntax: {@code filter[date_add]=[>=yyyy-MM-dd HH:mm:ss]}

+ *

PS 8.2.5 does not expose {@code date_add} as a filterable field for orders. + * Re-import prevention is handled by {@code OrderMapping} in the service layer.

* - * @param since lower bound (inclusive) for {@code date_add} + * @param since unused — kept for API compatibility; deduplication is done via OrderMapping */ public List getOrdersSince(LocalDateTime since) { - String dateFilter = "[>=%s]".formatted(since.format(PS_DATE_FORMAT)); PrestashopOrderDto.ListResponse response = restClient.get() .uri(u -> u.path("/orders") .queryParam("ws_key", wsKey) .queryParam("output_format", "JSON") .queryParam("display", "full") - .queryParam("filter[date_add]", dateFilter) .build()) .retrieve() .body(PrestashopOrderDto.ListResponse.class); @@ -258,6 +253,7 @@ public class PrestashopClient { sb.append("").append(idAttr).append(""); sb.append("").append(dto.quantity()).append(""); sb.append("0"); + sb.append("2"); sb.append(""); sb.append(""); return sb.toString();