From a3551bbc883cb0c0c61bbd1c01351e47fcc52e40 Mon Sep 17 00:00:00 2001 From: ialbert Date: Tue, 15 Aug 2023 16:57:56 +0300 Subject: [PATCH] sdf06 error "3" for unsatisfied balances --- .../spcex/clearing/service/executors/Sdf06Executor.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java index f38ece347..5eac64edd 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java @@ -133,7 +133,7 @@ public class Sdf06Executor { BigDecimal errorResult; Statement stmt = null; if (needToCreateStatement(err.get())) { - errorResult = errorResult1; + errorResult = errorById(err.get()); stmt = createStatementBySdf06(sDf06, ((Company) validator.getStored(ValidationStored.Sdf06Company)).getId(), validator.getStored(ValidationStored.Sdf06Account)); @@ -198,6 +198,13 @@ public class Sdf06Executor { || ClearingError.TCRegistryNotFound.equals(err.getSubject()); } + private BigDecimal errorById(EnumMessage err) { + if (ClearingError.BalanceInsufficient.equals(err.getSubject())) { + return errorResult3; + } + return errorResult1; + } + public void processGatewayResponse(BaseRequest req) { //может прийти неограниченно позже 06го, после того как прошел клиринг например... Instant now = Instant.now();