From 5eff6962fee6ba7772bcfab48c59bc549477c8be Mon Sep 17 00:00:00 2001 From: AKurakin Date: Thu, 8 Feb 2024 14:14:07 +0300 Subject: [PATCH] backend-api http://jira.mfd.msk:8088/browse/CLS-648 --- .../queue/misc/SCrossRateController.java | 43 +++++++++++++++++++ .../src/main/resources/meta/meta.json | 2 +- .../src/main/resources/meta/meta.xml | 2 +- .../queue/AbstractControllerTest.java | 1 + .../queue/misc/SCrossRateControllerTest.java | 40 +++++++++++++++++ .../backend-api/src/test/resources/meta.json | 2 +- 6 files changed, 87 insertions(+), 3 deletions(-) create mode 100644 clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/misc/SCrossRateController.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/SCrossRateControllerTest.java diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/misc/SCrossRateController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/misc/SCrossRateController.java new file mode 100644 index 000000000..7222c670d --- /dev/null +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/misc/SCrossRateController.java @@ -0,0 +1,43 @@ +package ru.spcex.clearing.backendapi.controller.queue.misc; + +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; +import ru.clearing.classes.statics.data.misc.SCrossRate; +import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController; +import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse; +import ru.spcex.clearing.backendapi.service.IOperator; +import ru.spcex.clearing.backendapi.service.IStateLoader; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.util.Collection; +import java.util.Map; + +@Controller +@RequestMapping("/cross-rate") +public class SCrossRateController extends AbstractQueueController { + private final IStateLoader stateLoader; + + @Autowired + public SCrossRateController(IOperator operator, IStateLoader stateLoader) { + super(operator); + this.stateLoader = stateLoader; + } + + @ApiOperation(value = "get all cross-rate's.") + @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)}) + @RequestMapping(method = RequestMethod.GET) + @ResponseBody + public CommonGetAllResponse getAll() { + Collection> all = stateLoader.getAllMetaTransform( + IMDGDistributedNames.Map_SCrossRate, SCrossRate.class); + CommonGetAllResponse response = new CommonGetAllResponse(); + response.fromEntity(all); + return response; + } +} diff --git a/clearing-parent/backend-api/src/main/resources/meta/meta.json b/clearing-parent/backend-api/src/main/resources/meta/meta.json index 5d9dc5e41..4c81dfae6 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/meta.json +++ b/clearing-parent/backend-api/src/main/resources/meta/meta.json @@ -9419,7 +9419,7 @@ "destination": "cross-rate", - "class": "ru.clearing.classes.statics.data.misc.sCrossRate", + "class": "ru.clearing.classes.statics.data.misc.SCrossRate", "table": "s_cross_rate", diff --git a/clearing-parent/backend-api/src/main/resources/meta/meta.xml b/clearing-parent/backend-api/src/main/resources/meta/meta.xml index e155dfbf7..319c417f5 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/meta.xml +++ b/clearing-parent/backend-api/src/main/resources/meta/meta.xml @@ -2173,7 +2173,7 @@ - + diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java index 3d36e88a3..49135b618 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java @@ -113,6 +113,7 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi MarketController.class, NotificationController.class, SessionController.class, + SCrossRateController.class, //payment PaymentInstructionController.class, //register diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/SCrossRateControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/SCrossRateControllerTest.java new file mode 100644 index 000000000..3ba842fcc --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/SCrossRateControllerTest.java @@ -0,0 +1,40 @@ +package ru.spcex.clearing.backendapi.controller.queue.misc; + +import org.junit.jupiter.api.Test; +import ru.clearing.classes.statics.data.misc.SCrossRate; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; + +class SCrossRateControllerTest extends AbstractControllerTest { + private static final String REST_URL = "/cross-rate/"; + + /** + * {@link SCrossRateController#getAll()}
+ * Тест проверяет получение запроса по REST API.
+ * Входной запрос /cross-rate/
+ * Ответ SCrossRate
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + SCrossRate sCrossRate = new SCrossRate(); + sCrossRate.setId(currentId.get()); + sCrossRate.setDate(LocalDate.now()); + sCrossRate.setCurrency("RUB"); + sCrossRate.setCurrCode("RUB"); + sCrossRate.setFaceValue(new BigDecimal("1.00")); + sCrossRate.setRate(new BigDecimal("1.00")); + sCrossRate.setUnitRate(new BigDecimal("1.00")); + sCrossRate.setGenerationTime(Instant.now()); + sCrossRate.setGenerationId(10L); + sCrossRate.setCreatedAt(Instant.now()); + sCrossRate.setUpdatedAt(sCrossRate.getCreatedAt()); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_SCrossRate, sCrossRate, REST_URL); + } +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/resources/meta.json b/clearing-parent/backend-api/src/test/resources/meta.json index 5d9dc5e41..4c81dfae6 100644 --- a/clearing-parent/backend-api/src/test/resources/meta.json +++ b/clearing-parent/backend-api/src/test/resources/meta.json @@ -9419,7 +9419,7 @@ "destination": "cross-rate", - "class": "ru.clearing.classes.statics.data.misc.sCrossRate", + "class": "ru.clearing.classes.statics.data.misc.SCrossRate", "table": "s_cross_rate",