fix accountService

This commit is contained in:
akulikov 2023-04-24 19:21:34 +03:00
parent 0a20044d1e
commit 7193d79256
2 changed files with 7 additions and 12 deletions

View file

@ -11,6 +11,7 @@ public enum AccountError implements IErrorEnumId {
AccountNotActive(5012L),
CompanyNotFound(5013L),
CompanyNotActive(5014L),
ClearingCategoryNotFound(5019L)
;
private final Long id;

View file

@ -41,7 +41,10 @@ import ru.spcex.platform.utils.enumeration.IMessageResolver;
import ru.spcex.platform.utils.validation.IValidator;
import java.time.Instant;
import java.util.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
@Service
@ -126,7 +129,7 @@ public class AccountService extends QueueConsumer implements InitializingBean {
// todo выяснить у репортера, что делать в такой ситуации (нужна ли отдельная ошибка)
if (clearingMemberCategories.isEmpty()) {
return makeError(AccountError.WrongFieldValue, "companyId", userRequest.getId());
return makeError(AccountError.ClearingCategoryNotFound, "clearingMemberCategory[companyId]", userRequest.getId());
}
if (clearingMemberCategories.size() > 1) {
log.warn("ClearingMemberCategory for companyId {} contains multiply elements, use first", companyId);
@ -143,7 +146,7 @@ public class AccountService extends QueueConsumer implements InitializingBean {
servicePredicate = relationPredicateBuilder.equals("service", ru.spcex.platform.enumeration.Service.FOND.getKey());
} else {
// todo выяснить у репортера, что делать в такой ситуации
return makeError(AccountError.WrongFieldValue, "companyId", userRequest.getId());
return makeError(AccountError.ClearingCategoryNotFound, "relation[consumerId = companyId].service", userRequest.getId());
}
ImdgPredicate finalRelationPredicate = relationPredicateBuilder.and(consumerIdPredicate, servicePredicate);
Collection<Relation> relations = relationMap.getCollectionObjectsByPredicate(finalRelationPredicate);
@ -188,15 +191,6 @@ public class AccountService extends QueueConsumer implements InitializingBean {
if (request.getAccount() != null) account.setAccount(request.getAccount());
if (request.getCompanyId() != null && !Objects.equals(account.getCompanyId(), request.getCompanyId()))
return makeError(AccountError.WrongFieldValue, "companyId", userRequest.getId());
if (request.getAccountType() != null && !account.getAccountType().equalsIgnoreCase(request.getAccountType()))
return makeError(AccountError.WrongFieldValue, "accountType", userRequest.getId());
if (request.getStatus() != null && !account.getStatus().equalsIgnoreCase(request.getStatus()))
return makeError(AccountError.WrongFieldValue, "status", userRequest.getId());
account.setUpdated(Instant.now());
accountMap.update(account);