Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
8a9cb9f201
7 changed files with 59 additions and 12 deletions
|
|
@ -77,8 +77,7 @@ public class EquitySecurityController extends AbstractQueueController {
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public CommonGetAllResponse getAll() {
|
public CommonGetAllResponse getAll() {
|
||||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_EquitySecurity,
|
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_EquitySecurity,
|
||||||
EquitySecurity.class,
|
EquitySecurity.class);
|
||||||
Map.of("workflowStatus", Status.Active.getKey()));
|
|
||||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||||
response.fromEntity(all);
|
response.fromEntity(all);
|
||||||
return response;
|
return response;
|
||||||
|
|
|
||||||
|
|
@ -77,8 +77,7 @@ public class FixedIncomeSecurityController extends AbstractQueueController {
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public CommonGetAllResponse getAll() {
|
public CommonGetAllResponse getAll() {
|
||||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_FixedIncomeSecurity,
|
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_FixedIncomeSecurity,
|
||||||
FixedIncomeSecurity.class,
|
FixedIncomeSecurity.class);
|
||||||
Map.of("workflowStatus", Status.Active.getKey()));
|
|
||||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||||
response.fromEntity(all);
|
response.fromEntity(all);
|
||||||
return response;
|
return response;
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ public enum Sdf57ValidationRule implements IValidationRule<ImdgValidationContext
|
||||||
}
|
}
|
||||||
|
|
||||||
if (companyDebFound.isEmpty() && companyCredFound.isEmpty()) {
|
if (companyDebFound.isEmpty() && companyCredFound.isEmpty()) {
|
||||||
return of(ClearingError.CompanyNotFound, String.format("dealDeb = '%s'/ deal_cred = '%s'",
|
return of(ClearingError.CompanyNotFound, String.format("dealDeb = '%s'/ dealCred = '%s'",
|
||||||
sdf57.getDeal_deb(), sdf57.getDeal_cred()));
|
sdf57.getDeal_deb(), sdf57.getDeal_cred()));
|
||||||
}
|
}
|
||||||
return empty();
|
return empty();
|
||||||
|
|
@ -56,7 +56,7 @@ public enum Sdf57ValidationRule implements IValidationRule<ImdgValidationContext
|
||||||
accountCredFound.ifPresent(accountCred -> context.storeObject(ValidationStored.Sdf57AccountCred, accountCred));
|
accountCredFound.ifPresent(accountCred -> context.storeObject(ValidationStored.Sdf57AccountCred, accountCred));
|
||||||
}
|
}
|
||||||
if (accountDebFound.isEmpty() && accountCredFound.isEmpty()) {
|
if (accountDebFound.isEmpty() && accountCredFound.isEmpty()) {
|
||||||
return of(ClearingError.AccountNotPresent, String.format("accDeb = '%s'/ accDred = '%s'",
|
return of(ClearingError.AccountNotPresent, String.format("accDeb = '%s'/ accCred = '%s'",
|
||||||
sdf57.getC_acc_deb(), sdf57.getC_acc_cred()));
|
sdf57.getC_acc_deb(), sdf57.getC_acc_cred()));
|
||||||
}
|
}
|
||||||
return empty();
|
return empty();
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ public record EndDtAfterStartDtRule<R>(
|
||||||
LocalDate startDt = getterStartDt.apply(validatedObject);
|
LocalDate startDt = getterStartDt.apply(validatedObject);
|
||||||
if (endDt == null) return required ? of(errorEmptyRequiredValue, endDtFieldName) : Optional.empty();
|
if (endDt == null) return required ? of(errorEmptyRequiredValue, endDtFieldName) : Optional.empty();
|
||||||
if (startDt == null) return required ? of(errorEmptyRequiredValue, startDtFieldName) : Optional.empty();
|
if (startDt == null) return required ? of(errorEmptyRequiredValue, startDtFieldName) : Optional.empty();
|
||||||
if (endDt.isAfter(startDt)) return of(errorEndDtAfterStartDt, startDtFieldName, endDtFieldName);
|
if (startDt.isAfter(endDt)) return of(errorEndDtAfterStartDt, startDtFieldName, endDtFieldName);
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -102,8 +102,14 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial
|
||||||
ImdgTransaction transaction = imdgProvider.newTransaction();
|
ImdgTransaction transaction = imdgProvider.newTransaction();
|
||||||
MoneyMarketSecurityNewRequest req = userRequest.getRequestPayload();
|
MoneyMarketSecurityNewRequest req = userRequest.getRequestPayload();
|
||||||
|
|
||||||
RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.mmsNewValidator());
|
{
|
||||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.mmsNewValidator());
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
}
|
||||||
|
|
||||||
log.debug("MoneyMarketSecurityNewRequest received");
|
log.debug("MoneyMarketSecurityNewRequest received");
|
||||||
MoneyMarketSecurity mms = new MoneyMarketSecurity();
|
MoneyMarketSecurity mms = new MoneyMarketSecurity();
|
||||||
|
|
@ -165,6 +171,7 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial
|
||||||
.setMessage(errorMsg);
|
.setMessage(errorMsg);
|
||||||
}
|
}
|
||||||
MoneyMarketSecurity mms = validator.getStored(Stored.PresentById);
|
MoneyMarketSecurity mms = validator.getStored(Stored.PresentById);
|
||||||
|
if (mms == null) log.error("Validator return null stored mms object.");
|
||||||
Instant updateTime = Instant.now();
|
Instant updateTime = Instant.now();
|
||||||
mms.setUpdated(updateTime);
|
mms.setUpdated(updateTime);
|
||||||
mms.setStartDate(req.getStartDate());
|
mms.setStartDate(req.getStartDate());
|
||||||
|
|
@ -216,6 +223,7 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial
|
||||||
}
|
}
|
||||||
Instant updateTime = Instant.now();
|
Instant updateTime = Instant.now();
|
||||||
MoneyMarketSecurity mms = validator.getStored(Stored.PresentById);
|
MoneyMarketSecurity mms = validator.getStored(Stored.PresentById);
|
||||||
|
if (mms == null) log.error("Validator return null stored mms object.");
|
||||||
mms.setWorkflowStatus(ru.spcex.platform.enumeration.Status.Blocked.getKey());
|
mms.setWorkflowStatus(ru.spcex.platform.enumeration.Status.Blocked.getKey());
|
||||||
mms.setUpdated(updateTime);
|
mms.setUpdated(updateTime);
|
||||||
moneyMarketSecurityMap.update(mms);
|
moneyMarketSecurityMap.update(mms);
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import org.springframework.util.StringUtils;
|
||||||
import ru.spcex.clearing.securities.errors.SecuritiesError;
|
import ru.spcex.clearing.securities.errors.SecuritiesError;
|
||||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
import ru.spcex.platform.classes.base.interfaces.WithSecuritySymbol;
|
import ru.spcex.platform.classes.base.interfaces.WithSecuritySymbol;
|
||||||
import ru.spcex.platform.enumeration.Status;
|
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
||||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
|
|
@ -30,11 +30,11 @@ public class NotPresentBySecuritySymbolAndWorkflowStatusActv<T extends SpcexObje
|
||||||
WithSecuritySymbol action = context.getValidatedObject();
|
WithSecuritySymbol action = context.getValidatedObject();
|
||||||
Imdg<T> imdg = context.obtainMap(mapName, clazz);
|
Imdg<T> imdg = context.obtainMap(mapName, clazz);
|
||||||
if(!StringUtils.hasText(action.getSecuritySymbol())) {
|
if(!StringUtils.hasText(action.getSecuritySymbol())) {
|
||||||
return of(SecuritiesError.RequiredFieldIsEmpty, "securitySymbole");
|
return of(SecuritiesError.RequiredFieldIsEmpty, "securitySymbol");
|
||||||
}
|
}
|
||||||
T object = imdg.getSingleObjectByFieldValues(Map.of(
|
T object = imdg.getSingleObjectByFieldValues(Map.of(
|
||||||
"securitySymbol", action.getSecuritySymbol(),
|
"securitySymbol", action.getSecuritySymbol(),
|
||||||
"workflowStatus", Status.Active.getKey()));
|
"workflowStatus", WorkflowStatus.Active.getKey()));
|
||||||
if (object != null) {
|
if (object != null) {
|
||||||
return of(errorEnum);
|
return of(errorEnum);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,47 @@ public class MoneyMarketSecurityServiceTest extends AbstractServiceTest {
|
||||||
LISTING_MATCHER.assertMatch(listingResult, listingPrediction);
|
LISTING_MATCHER.assertMatch(listingResult, listingPrediction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Test todo тест с проверкой валидатора
|
||||||
|
// public void testNewMoneyMarketSecurity2() {
|
||||||
|
// clearAllInImdg(moneyMarketSecurityMap);
|
||||||
|
// final String TOPIC = Consts.DESTINATION_MONEY_MARKET_SECURITY_NEW;
|
||||||
|
//
|
||||||
|
// final MoneyMarketSecurity moneyMarketSecurityPrediction = moneyMarketSecurityFactory
|
||||||
|
// .getMoneyMarketSecurity();
|
||||||
|
// final MoneyMarketSecurityNewRequest keyRequest = moneyMarketSecurityFactory
|
||||||
|
// .getMoneyMarketSecurityNewRequest();
|
||||||
|
// Listing listingPrediction = ListingBuilder.builder()
|
||||||
|
// .append(moneyMarketSecurityPrediction).append(keyRequest).build();
|
||||||
|
//
|
||||||
|
// // Создание копии инструмента - не должен задублировать его
|
||||||
|
// MoneyMarketSecurity existMMS = new MoneyMarketSecurity();
|
||||||
|
// existMMS.setId(123L);
|
||||||
|
// existMMS.setSecuritySymbol(keyRequest.getSecuritySymbol());
|
||||||
|
// existMMS.setWorkflowStatus(WorkflowStatus.Active.getKey());
|
||||||
|
// moneyMarketSecurityMap.insert(existMMS);
|
||||||
|
//
|
||||||
|
// //ACT
|
||||||
|
// String jsonString = getJsonStringForNew(keyRequest, ID);
|
||||||
|
//
|
||||||
|
// addRecordToKafka((MockConsumer) moneyMarketSecurityService.getConsumer(), TOPIC, PARTITION, 0, jsonString);
|
||||||
|
//
|
||||||
|
// //ASSERT
|
||||||
|
// waitingWhenTryAddRecordAndCheckError(ID, mockProducer,
|
||||||
|
// "1010" //SecuritiesError.InstrumentAlreadyExists
|
||||||
|
// , Arrays.asList(""));
|
||||||
|
// waitingSendAndCheckRecord(ID, mockProducer);
|
||||||
|
//
|
||||||
|
// MoneyMarketSecurity moneyMarketSecurityResult = moneyMarketSecurityMap.getSingleObjectBySQL(String.format("fullName = %s", moneyMarketSecurityFactory.getFullName()));
|
||||||
|
// moneyMarketSecurityPrediction.setId(moneyMarketSecurityResult.getId());
|
||||||
|
// moneyMarketSecurityPrediction.setSecurityId(moneyMarketSecurityResult.getSecurityId());
|
||||||
|
// MONEY_MARKET_SECURITY_MATCHER.assertMatch(moneyMarketSecurityResult, moneyMarketSecurityPrediction);
|
||||||
|
//
|
||||||
|
// Listing listingResult = listingImdg.getSingleObjectByFieldValues(Map.of("securityId", moneyMarketSecurityPrediction.getId()));
|
||||||
|
// listingPrediction.setId(listingResult.getId());
|
||||||
|
// listingPrediction.setSecurityId(listingResult.getSecurityId());
|
||||||
|
// LISTING_MATCHER.assertMatch(listingResult, listingPrediction);
|
||||||
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link MoneyMarketSecurityService#deleteMoneyMarket(BaseRequest)}<br>
|
* {@link MoneyMarketSecurityService#deleteMoneyMarket(BaseRequest)}<br>
|
||||||
* Тест проверяет удаление сущности {@link MoneyMarketSecurity} в Hazelcast при передаче из Apache Kafka.<br>
|
* Тест проверяет удаление сущности {@link MoneyMarketSecurity} в Hazelcast при передаче из Apache Kafka.<br>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue