Merge remote-tracking branch 'origin/CLS_258_259' into CLS_258_259

This commit is contained in:
psemenkov 2023-04-06 10:50:45 +03:00
commit e2452d33a7
2 changed files with 19 additions and 5 deletions

View file

@ -5,48 +5,59 @@ import org.apache.kafka.clients.producer.Producer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeCashFlow;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts;
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeCashFlowNewRequest;
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
import ru.spcex.clearing.validation.common.ValidationHelper;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.utils.validation.IValidator;
import java.util.function.Function;
@Service
public class FixedIncomeCashFlowService extends QueueConsumer implements InitializingBean {
public class FixedIncomeCashFlowService extends QueueConsumer implements InitializingBean {
private final Logger log = LoggerFactory.getLogger(getClass());
private final Imdg<FixedIncomeCashFlow> fixedIncomeCashFlowImdg;
private final ImdgProvider imdgProvider;
private final ValidationHelper validationHelper;
private final Function<FixedIncomeCashFlowNewRequest, IValidator> fixedIncomeCashFlowNewRequestValidator;
public FixedIncomeCashFlowService(Consumer<String, Object> kafkaQueue,
Producer<String, Object> kafkaResponseQueue,
ImdgProvider imdgProvider,
ValidationHelper validationHelper) {
ValidationHelper validationHelper,
@Qualifier("fixedIncomeCashFlowNewRequestValidator") Function<FixedIncomeCashFlowNewRequest, IValidator> fixedIncomeCashFlowNewRequestValidator) {
super(kafkaQueue, kafkaResponseQueue);
this.imdgProvider = imdgProvider;
this.validationHelper = validationHelper;
this.fixedIncomeCashFlowNewRequestValidator = fixedIncomeCashFlowNewRequestValidator;
this.fixedIncomeCashFlowImdg = imdgProvider.getImdg(
IMDGDistributedNames.Map_FixedIncomeCashFlow, FixedIncomeCashFlow.class
);
}
@Override
public void afterPropertiesSet() throws Exception {
log.debug("EquitySecurityNewRequest received");
callback(FixedIncomeCashFlowNewRequest.class)
.setConsumer(this::fixedIncomeCashFlowNew)
.forDestination(Consts.DESTINATION_FIXED_INCOME_CASH_FLOW_NEW, callbacks::put);
init();
}
public RequestInfoUpdate fixedIncomeCashFlowNew(BaseRequest<FixedIncomeCashFlowNewRequest> userRequest) {
log.debug("FixedIncomeCashFlowNewRequest received {}", userRequest.getId());
// validation
RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, fixedIncomeCashFlowNewRequestValidator);
if (requestInfoUpdate != null) return requestInfoUpdate;
FixedIncomeCashFlowNewRequest req = userRequest.getRequestPayload();
FixedIncomeCashFlow fixedIncomeCashFlow = new FixedIncomeCashFlow();

View file

@ -13,6 +13,9 @@ public interface Consts {
String DESTINATION_FIXED_INCOME_SECURITY_UPDATE = "fixed-income-security-update";
String DESTINATION_FIXED_INCOME_SECURITY_DELETE = "fixed-income-security-delete";
String DESTINATION_FIXED_INCOME_CASH_FLOW_NEW = "fixed-income-cash-flow-new";
String DESTINATION_FIXED_INCOME_CASH_FLOW_UPDATE = "fixed-income-cash-flow-update";
String DESTINATION_CURRENCY_NEW = "currency-new";
String DESTINATION_CURRENCY_UPDATE = "currency-update";
String DESTINATION_COUPON_PERIOD_NEW = "coupon_period-new";