RequestHelper перенёс в clearing-validation

This commit is contained in:
AKurakin 2023-05-10 13:33:54 +03:00
parent a607262412
commit 795075a4b6
8 changed files with 21 additions and 15 deletions

View file

@ -1,8 +1,7 @@
package ru.spcex.clearing.company.util; package ru.spcex.clearing.util.services;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import ru.spcex.clearing.company.error.CompanyErrors;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
import ru.spcex.clearing.platform.messaging.service.Status; import ru.spcex.clearing.platform.messaging.service.Status;
@ -22,21 +21,28 @@ import java.util.Objects;
* callback(CompanyNewRequest.class) * callback(CompanyNewRequest.class)
* .setFunction( request -> requestHelper.requestFunction(this::createCompany, request)) * .setFunction( request -> requestHelper.requestFunction(this::createCompany, request))
* .forDestination(Consts.DESTINATION_COMPANY_NEW, callbacks::put); * .forDestination(Consts.DESTINATION_COMPANY_NEW, callbacks::put);
*
* return requestHelper.makeErrorResponse(CompanyError.GeneralError, ...)
*/ */
public class RequestHelper { public class RequestHelper {
protected Logger log = LoggerFactory.getLogger(getClass()); protected Logger log = LoggerFactory.getLogger(getClass());
protected final IMessageResolver messageResolver; protected final IMessageResolver messageResolver;
protected final IErrorEnumId generalError;
public RequestHelper(IMessageResolver messageResolver) { public RequestHelper(IMessageResolver messageResolver, IErrorEnumId generalError) {
Objects.requireNonNull(messageResolver); Objects.requireNonNull(messageResolver);
this.messageResolver = messageResolver; this.messageResolver = messageResolver;
this.generalError = generalError;
Objects.requireNonNull(generalError, "Required generalError enum");
} }
public RequestHelper(Logger log, IMessageResolver messageResolver) { public RequestHelper(Logger log, IMessageResolver messageResolver, IErrorEnumId generalError) {
Objects.requireNonNull(log); Objects.requireNonNull(log);
Objects.requireNonNull(messageResolver); Objects.requireNonNull(messageResolver);
this.log = log; this.log = log;
this.messageResolver = messageResolver; this.messageResolver = messageResolver;
this.generalError = generalError;
Objects.requireNonNull(generalError, "Required generalError enum");
} }
/** /**
@ -58,13 +64,14 @@ public class RequestHelper {
String message = expectedE.getEnumMsg() == null String message = expectedE.getEnumMsg() == null
? expectedE.getMessage() ? expectedE.getMessage()
: messageResolver.resolve(expectedE.getEnumMsg()); : messageResolver.resolve(expectedE.getEnumMsg());
log.info("Response: {}", message);
return new RequestInfoUpdate() return new RequestInfoUpdate()
.setId(userRequest.getId()) .setId(userRequest.getId())
.setStatus(Status.Error) .setStatus(Status.Error)
.setMessage(message); .setMessage(message);
} catch (Exception unexpectedE) { } catch (Exception unexpectedE) {
log.error("Error at {}: {} ", command, ExceptionUtils.getStackTrace(unexpectedE)); log.error("Error at {}: {} ", command, ExceptionUtils.getStackTrace(unexpectedE));
String message = messageResolver.resolve(new EnumMessage(CompanyErrors.GeneralError)); String message = messageResolver.resolve(new EnumMessage(generalError));
return new RequestInfoUpdate() return new RequestInfoUpdate()
.setId(userRequest.getId()) .setId(userRequest.getId())
.setStatus(Status.Error) .setStatus(Status.Error)
@ -74,7 +81,7 @@ public class RequestHelper {
public RequestInfoUpdate makeErrorResponse(BaseRequest<?> request, EnumMessage msg) { public RequestInfoUpdate makeErrorResponse(BaseRequest<?> request, EnumMessage msg) {
String errorMsg = msg == null? "" : messageResolver.resolve(msg); String errorMsg = msg == null? "" : messageResolver.resolve(msg);
log.info("{}", errorMsg); log.info("Response: {}", errorMsg);
return new RequestInfoUpdate() return new RequestInfoUpdate()
.setId(request.getId()) .setId(request.getId())
.setStatus(Status.Error) .setStatus(Status.Error)

View file

@ -5,7 +5,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
import ru.spcex.clearing.company.error.CompanyErrors; import ru.spcex.clearing.company.error.CompanyErrors;
import ru.spcex.clearing.company.util.RequestHelper; import ru.spcex.clearing.util.services.RequestHelper;
import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.util.security.UserRoleVerification;
import ru.spcex.platform.enumeration.UserRole; import ru.spcex.platform.enumeration.UserRole;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
@ -22,7 +22,7 @@ public class BeanConfiguration {
@Bean @Bean
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public RequestHelper requestHelper(IMessageResolver messageResolver) { public RequestHelper requestHelper(IMessageResolver messageResolver) {
return new RequestHelper(messageResolver); return new RequestHelper(messageResolver, CompanyErrors.GeneralError);
} }
@Bean @Bean

View file

@ -11,7 +11,7 @@ import org.springframework.stereotype.Service;
import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.profile.CompanyInfo; import ru.clearing.classes.statics.data.profile.CompanyInfo;
import ru.spcex.clearing.company.error.CompanyErrors; import ru.spcex.clearing.company.error.CompanyErrors;
import ru.spcex.clearing.company.util.RequestHelper; import ru.spcex.clearing.util.services.RequestHelper;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.Consts;

View file

@ -9,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import ru.clearing.classes.statics.data.company.CompanyRoleSet; import ru.clearing.classes.statics.data.company.CompanyRoleSet;
import ru.spcex.clearing.company.error.CompanyErrors; import ru.spcex.clearing.company.error.CompanyErrors;
import ru.spcex.clearing.company.util.RequestHelper; import ru.spcex.clearing.util.services.RequestHelper;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.Consts;

View file

@ -11,7 +11,7 @@ import org.springframework.stereotype.Service;
import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.company.CompanySymbols; import ru.clearing.classes.statics.data.company.CompanySymbols;
import ru.spcex.clearing.company.error.CompanyErrors; import ru.spcex.clearing.company.error.CompanyErrors;
import ru.spcex.clearing.company.util.RequestHelper; import ru.spcex.clearing.util.services.RequestHelper;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.Consts;

View file

@ -10,7 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import ru.clearing.classes.statics.data.company.CompanySymbols; import ru.clearing.classes.statics.data.company.CompanySymbols;
import ru.spcex.clearing.company.util.RequestHelper; import ru.spcex.clearing.util.services.RequestHelper;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.Consts;

View file

@ -12,7 +12,7 @@ import org.springframework.stereotype.Service;
import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.profile.ProfileDocument; import ru.clearing.classes.statics.data.profile.ProfileDocument;
import ru.spcex.clearing.company.error.CompanyErrors; import ru.spcex.clearing.company.error.CompanyErrors;
import ru.spcex.clearing.company.util.RequestHelper; import ru.spcex.clearing.util.services.RequestHelper;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.Consts;
@ -21,7 +21,6 @@ import ru.spcex.clearing.platform.messaging.domain.cud.company.ProfileDocumentNe
import ru.spcex.clearing.platform.messaging.domain.cud.company.ProfileDocumentUpdateRequest; import ru.spcex.clearing.platform.messaging.domain.cud.company.ProfileDocumentUpdateRequest;
import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.util.security.UserRoleVerification;
import ru.spcex.clearing.validation.common.ValidationHelper; import ru.spcex.clearing.validation.common.ValidationHelper;
import ru.spcex.platform.enumeration.DocumentTypes; import ru.spcex.platform.enumeration.DocumentTypes;

View file

@ -11,7 +11,7 @@ import org.springframework.stereotype.Service;
import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.company.relation.Relation; import ru.clearing.classes.statics.data.company.relation.Relation;
import ru.spcex.clearing.company.error.CompanyErrors; import ru.spcex.clearing.company.error.CompanyErrors;
import ru.spcex.clearing.company.util.RequestHelper; import ru.spcex.clearing.util.services.RequestHelper;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.Consts;