diff --git a/asset-transfer-basic/maven-example/pom.xml b/asset-transfer-basic/maven-example/pom.xml index b3b2a7f9..90e1caaa 100644 --- a/asset-transfer-basic/maven-example/pom.xml +++ b/asset-transfer-basic/maven-example/pom.xml @@ -76,6 +76,11 @@ 1.5.1 + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.15.2 + diff --git a/asset-transfer-basic/maven-example/src/main/java/com/code/hyperledger/controllers/RecetaController.java b/asset-transfer-basic/maven-example/src/main/java/com/code/hyperledger/controllers/RecetaController.java index 7e57572e..a0f6e3d0 100644 --- a/asset-transfer-basic/maven-example/src/main/java/com/code/hyperledger/controllers/RecetaController.java +++ b/asset-transfer-basic/maven-example/src/main/java/com/code/hyperledger/controllers/RecetaController.java @@ -7,11 +7,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.io.IOException; import java.time.Instant; +import java.util.Map; @RestController @@ -22,7 +24,7 @@ public class RecetaController { private RecetaService recetaService; @PostMapping("/crear") - public ResponseEntity crear(Receta receta) { + public ResponseEntity crear(@RequestBody Receta receta) { System.out.println("\n--> Submit Transaction: CreateAsset, creates new asset with all arguments"); String assetId = "asset" + Instant.now().toEpochMilli(); @@ -38,12 +40,16 @@ public class RecetaController { } @PostMapping("/obtener") - public ResponseEntity find(String id) { + public ResponseEntity find(@RequestBody Map requestBody) { try { - return new ResponseEntity<>(recetaService.obtenerReceta(id), HttpStatus.OK); + System.out.println("requestbody: " + requestBody); + String id = requestBody.get("id"); + System.out.println("id: " + id); + Receta receta = recetaService.obtenerReceta(id); + return new ResponseEntity<>(receta, HttpStatus.OK); } catch (IOException | GatewayException e) { e.printStackTrace(); - return new ResponseEntity<>(HttpStatus.NOT_FOUND); + return new ResponseEntity<>(HttpStatus.NOT_ACCEPTABLE); } - } + } } diff --git a/asset-transfer-basic/maven-example/src/main/java/com/code/hyperledger/coso/Receta.java b/asset-transfer-basic/maven-example/src/main/java/com/code/hyperledger/coso/Receta.java index 93c25979..921cd3fa 100644 --- a/asset-transfer-basic/maven-example/src/main/java/com/code/hyperledger/coso/Receta.java +++ b/asset-transfer-basic/maven-example/src/main/java/com/code/hyperledger/coso/Receta.java @@ -7,24 +7,42 @@ import lombok.NoArgsConstructor; import java.time.LocalDate; import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonProperty; + @Data @AllArgsConstructor @NoArgsConstructor public class Receta { + @JsonProperty("ID") private String id; + @JsonProperty("Owner") private String owner; + @JsonProperty("PrescripcionAnteriorId") private String prescripcionAnteriorId; + @JsonProperty("Status") private String status; + @JsonProperty("StatusChange") private LocalDateTime statusChange; + @JsonProperty("Prioridad") private String prioridad; + @JsonProperty("Medicacion") private String medicacion; + @JsonProperty("Razon") private String razon; + @JsonProperty("Notas") private String notas; + @JsonProperty("PeriodoDeTratamiento") private String periodoDeTratamiento; + @JsonProperty("InstruccionesTratamiento") private String instruccionesTratamiento; + @JsonProperty("PeriodoDeValidez") private String periodoDeValidez; + @JsonProperty("DniPaciente") private String dniPaciente; + @JsonProperty("FechaDeAutorizacion") private LocalDate fechaDeAutorizacion; + @JsonProperty("Cantidad") private int cantidad; + @JsonProperty("ExpectedSupplyDuration") private LocalDate expectedSupplyDuration; } diff --git a/asset-transfer-basic/maven-example/src/main/java/com/code/hyperledger/services/RecetaService.java b/asset-transfer-basic/maven-example/src/main/java/com/code/hyperledger/services/RecetaService.java index f464ead2..5f4700c6 100644 --- a/asset-transfer-basic/maven-example/src/main/java/com/code/hyperledger/services/RecetaService.java +++ b/asset-transfer-basic/maven-example/src/main/java/com/code/hyperledger/services/RecetaService.java @@ -13,6 +13,8 @@ import org.hyperledger.fabric.client.identity.*; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; + +import java.io.Console; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; @@ -148,8 +150,12 @@ public class RecetaService { public Receta obtenerReceta(String assetId) throws GatewayException, IOException { System.out.println("\n--> Evaluate Transaction: ReadAsset, function returns asset attributes"); + System.out.println("assetId: " + assetId); var evaluateResult = contract.evaluateTransaction("ReadAsset", assetId); + System.out.println("evaluate"); ObjectMapper objectMapper = new ObjectMapper(); - return objectMapper.readValue(evaluateResult, Receta.class); + var receta = objectMapper.readValue(evaluateResult, Receta.class); + System.out.println("mapper:" + receta.getDniPaciente()); + return receta; } }