diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java index 4c9d2d4a5..826555e3a 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java @@ -237,7 +237,7 @@ public class AccountService extends QueueConsumer implements InitializingBean { Collection clearingMemberCategories = clearingMemberCategoryMap.getCollectionObjectsByPredicate(companyIdEquals); if (clearingMemberCategories.isEmpty()) - return makeError(AccountError.ClearingCategoryNotFound, "clearingMemberCategory[companyId]", requestId); + return makeError(requestId, AccountError.ClearingCategoryNotFound, companyId, "(any)"); if (clearingMemberCategories.size() > 1) log.warn("ClearingMemberCategory for companyId {} contains multiply elements, use first", companyId); ClearingMemberCategory clearingMemberCategory = clearingMemberCategories.iterator().next(); @@ -251,12 +251,12 @@ public class AccountService extends QueueConsumer implements InitializingBean { } else if (IEnumKey.contains(clearingCategoryValue, ClearingCategory.F, ClearingCategory.C)) { servicePredicate = relationPredicateBuilder.equals("service", ru.spcex.platform.enumeration.Service.FOND.getKey()); } else { - return makeError(AccountError.ClearingCategoryNotFound, "relation[consumerId = companyId].service", requestId); + return makeError(requestId, AccountError.ClearingCategoryNotFound, companyId, clearingCategoryValue + " (case not implemented)"); } ImdgPredicate finalRelationPredicate = relationPredicateBuilder.and(consumerIdPredicate, servicePredicate); Collection relations = relationMap.getCollectionObjectsByPredicate(finalRelationPredicate); - if (relations.isEmpty()) return makeError(AccountError.WrongFieldValue, "companyId", requestId); + if (relations.isEmpty()) return makeError(requestId, AccountError.WrongFieldValue, "companyId", finalRelationPredicate.toString()); if (relations.size() > 1) log.warn("Relation for consumerId {} contains multiply elements, use first", companyId); Relation relation = relations.iterator().next(); @@ -265,8 +265,8 @@ public class AccountService extends QueueConsumer implements InitializingBean { return null; } - private RequestInfoUpdate makeError(AccountError accountError, String fieldName, Long reqId) { - String errMsg = messageResolver.resolve(new EnumMessage(accountError, fieldName)); + private RequestInfoUpdate makeError(Long reqId, AccountError accountError, Object... args) { + String errMsg = messageResolver.resolve(new EnumMessage(accountError, args)); return new RequestInfoUpdate() .setId(reqId) .setStatus(Status.Error) diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/IMDGMessageResolver.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/IMDGMessageResolver.java index ce5a7e0f4..2aca843c6 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/IMDGMessageResolver.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/IMDGMessageResolver.java @@ -36,7 +36,7 @@ public class IMDGMessageResolver implements IMessageResolver { String textTemplate = errorDictionary.getName(); return String.format(textTemplate, errMsg.getArgs()); } catch (Exception errFormatting) { // MissingFormatArgumentException - log.warn("Error in message resolver for error {} id {}", errMsg.getSubject(), errMsg.getSubject().getId()); + log.warn("Error in message resolver for error {} id {}. Format error: {}", errMsg.getSubject(), errMsg.getSubject().getId(), errFormatting); return simplFormatter.get(); } }