mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-01-13 08:58:48 +00:00
haciendo pruebas en SK
This commit is contained in:
@ -164,19 +164,17 @@ public class skApiClient {
|
||||
@SuppressWarnings("unchecked")
|
||||
Map<String, Object> data = (Map<String, Object>) dataRaw;
|
||||
|
||||
Boolean success = (Boolean) data.get("success");
|
||||
Boolean success = (Boolean) (responseBody.get("success") != null ? responseBody.get("success")
|
||||
: false);
|
||||
Long id = ((Integer) data.get("id")).longValue();
|
||||
String iskn = (String) data.get("iskn");
|
||||
|
||||
// OJO: aquí mantengo tu lógica tal cual (success == null o false => OK)
|
||||
// Si tu API realmente usa success=true como éxito, esto habría que invertirlo.
|
||||
if (success != null && !success) {
|
||||
Map<String, String> presupuestoData = mapper.convertValue(
|
||||
data.get("data"),
|
||||
new TypeReference<Map<String, String>>() {
|
||||
});
|
||||
|
||||
if (presupuestoData != null && !presupuestoData.isEmpty()) {
|
||||
data.put("id", Long.valueOf(presupuestoData.get("id")));
|
||||
data.put("iskn", presupuestoData.get("iskn"));
|
||||
if (success != null && success) {
|
||||
if (id != null && iskn != null) {
|
||||
data.put("id", Long.valueOf(id));
|
||||
data.put("iskn", iskn);
|
||||
}
|
||||
} else {
|
||||
// Tu lógica actual: si success es true u otra cosa → error 2
|
||||
@ -197,6 +195,58 @@ public class skApiClient {
|
||||
});
|
||||
}
|
||||
|
||||
public Long crearPedido(Map<String, Object> requestBody) {
|
||||
Map<String, Object> result = performWithRetryMap(() -> {
|
||||
String url = this.skApiUrl + "api/crear-pedido";
|
||||
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||
headers.setBearerAuth(authService.getToken());
|
||||
|
||||
HttpEntity<Map<String, Object>> entity = new HttpEntity<>(requestBody, headers);
|
||||
|
||||
ResponseEntity<String> response = restTemplate.exchange(
|
||||
url,
|
||||
HttpMethod.POST,
|
||||
entity,
|
||||
String.class);
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
|
||||
try {
|
||||
Map<String, Object> responseBody = mapper.readValue(
|
||||
response.getBody(),
|
||||
new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
|
||||
// Si la API devuelve "error" a nivel raíz
|
||||
if (responseBody.get("error") != null) {
|
||||
// Devolvemos un mapa con sólo el error para que el caller decida
|
||||
return Map.of("error", responseBody.get("error"));
|
||||
}
|
||||
|
||||
Boolean success = (Boolean) (responseBody.get("success") != null ? responseBody.get("success") : false);
|
||||
Long id = ((Integer) responseBody.get("id")).longValue();
|
||||
|
||||
if (success != null && id != null && success) {
|
||||
return Map.of("data", id);
|
||||
} else {
|
||||
// Tu lógica actual: si success es true u otra cosa → error 2
|
||||
return Map.of("error", 2);
|
||||
}
|
||||
|
||||
} catch (JsonProcessingException e) {
|
||||
e.printStackTrace();
|
||||
return Map.of("error", 1);
|
||||
}
|
||||
});
|
||||
|
||||
if (result.get("error") != null) {
|
||||
throw new RuntimeException("Error al crear el pedido: " + result.get("error"));
|
||||
}
|
||||
return (Long) result.get("data");
|
||||
}
|
||||
|
||||
public Integer getMaxSolapas(Map<String, Object> requestBody, Locale locale) {
|
||||
try {
|
||||
String jsonResponse = performWithRetry(() -> {
|
||||
|
||||
Reference in New Issue
Block a user