This commit is contained in:
parent
5e6ce83584
commit
c9f8ea7aa8
5 changed files with 16 additions and 35 deletions
|
|
@ -4,7 +4,8 @@ import io.swagger.annotations.ApiOperation;
|
|||
import io.swagger.annotations.ApiParam;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import java.util.Collections;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
|
|
@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.misc.OvernightSettings;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.misc.OvernightNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.misc.OvernightUpdateAction;
|
||||
|
|
@ -22,6 +24,7 @@ import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
|||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
||||
@Controller
|
||||
|
|
@ -40,8 +43,11 @@ public class OvernightSettingsController extends AbstractQueueController {
|
|||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
||||
IMDGDistributedNames.Map_OvernightSettings, OvernightSettings.class
|
||||
);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(Collections.EMPTY_LIST);
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,29 +0,0 @@
|
|||
package ru.spcex.clearing.dflt.management.component.validation;
|
||||
|
||||
import java.util.Optional;
|
||||
import ru.clearing.classes.statics.data.misc.OrderCurrency;
|
||||
import ru.spcex.clearing.dflt.management.error.DefaultManagementErrors;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.order.OrderCurrencyUpdateRequest;
|
||||
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.validation.IValidationRule;
|
||||
|
||||
public class OvernightTypeChanged implements IValidationRule<ImdgValidationContext<OrderCurrencyUpdateRequest>> {
|
||||
public static final OvernightTypeChanged INSTANCE = new OvernightTypeChanged();
|
||||
|
||||
@Override
|
||||
public Optional<EnumMessage> validate(ImdgValidationContext<OrderCurrencyUpdateRequest> ctx) {
|
||||
OrderCurrencyUpdateRequest validatedObject = ctx.getValidatedObject();
|
||||
OrderCurrency oc = ctx.getStoredObject(OrderCurrencyValidationStored.OrderCurrency);
|
||||
if (oc.getOvernightType().equalsIgnoreCase(validatedObject.getOvernightType())) {
|
||||
return of(DefaultManagementErrors.GeneralError); //todo нормальную ошибку
|
||||
}
|
||||
|
||||
return empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String ruleName() {
|
||||
return "OvernightTypeChanged";
|
||||
}
|
||||
}
|
||||
|
|
@ -19,7 +19,6 @@ import ru.spcex.clearing.dflt.management.component.validation.OrderCurrencyByCom
|
|||
import ru.spcex.clearing.dflt.management.component.validation.OrderCurrencyPLBLCheck;
|
||||
import ru.spcex.clearing.dflt.management.component.validation.OrderCurrencyValidationStored;
|
||||
import ru.spcex.clearing.dflt.management.component.validation.OvernightSettingAlreadyPresent;
|
||||
import ru.spcex.clearing.dflt.management.component.validation.OvernightTypeChanged;
|
||||
import ru.spcex.clearing.dflt.management.component.validation.QuantityLotGreaterThanZero;
|
||||
import ru.spcex.clearing.dflt.management.component.validation.SpotPairPresent;
|
||||
import ru.spcex.clearing.dflt.management.error.DefaultManagementErrors;
|
||||
|
|
@ -176,7 +175,6 @@ public class ValidationConfig {
|
|||
|
||||
return new ValidatorImpl<>(ctx,
|
||||
orderCurrencyPresentById,
|
||||
OvernightTypeChanged.INSTANCE,
|
||||
DictionaryPresentRule.instance(
|
||||
"overnightType",
|
||||
OrderCurrencyUpdateRequest::getOvernightType,
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ public enum DefaultManagementErrors implements IErrorEnumId {
|
|||
|
||||
GeneralError(11000L),
|
||||
UserVerifyDenial(11001L),
|
||||
RequiredFieldIsEmpty(11002L),
|
||||
DictionaryNotFound(11003L),
|
||||
RequiredFieldIsEmpty(11007L),
|
||||
DictionaryNotFound(11005L),
|
||||
RecordNotFound(11006L),
|
||||
RecordAlreadyPresent(11002L),
|
||||
OnlyBalancingOrdersAllowed(11003L),
|
||||
|
|
|
|||
|
|
@ -78,7 +78,9 @@ public class OrderCurrencyListener extends QueueConsumer implements Initializing
|
|||
Function<OrderCurrencyUpdateRequest, IValidator> overnightTypeUpdateValidator,
|
||||
@Qualifier("orderCurrencyUpdateValidator")
|
||||
Function<OrderCurrencyUpdateRequest, IValidator> orderCurrencyUpdateValidator,
|
||||
@Qualifier("orderCurrencyNewCompany")
|
||||
Function<OrderCompanyNewRequest, IValidator> orderCompanyNewValidator,
|
||||
@Qualifier("orderCurrencyUpdateCompany")
|
||||
Function<OrderCompanyUpdateRequest, IValidator> orderCompanyUpdateValidator,
|
||||
Function<CommonDeleteRequest, IValidator> orderCompanyDeleteValidator,
|
||||
ImdgQueryService imdgQueryService,
|
||||
|
|
@ -152,6 +154,10 @@ public class OrderCurrencyListener extends QueueConsumer implements Initializing
|
|||
return new RequestInfoUpdate(req.getId(), Status.Error, msgResolver.resolve(error.get()));
|
||||
}
|
||||
OrderCurrency order = validator.getStored(OrderCurrencyValidationStored.OrderCurrency);
|
||||
if (payload.getOvernightType().equalsIgnoreCase(order.getOvernightType())) {
|
||||
log.info("overnightType from payload is the same for OrderCurrency.id[{}]: {}; skipping", order.getId(), payload.getOvernightType());
|
||||
return null;
|
||||
}
|
||||
Registry rgs = validator.getStored(OrderCurrencyValidationStored.Registry);
|
||||
if (OvernightType.SWAP.equalsByKey(order.getOvernightType())) {
|
||||
Pair<OrderCurrency, OrderCurrency> newSpotPair = swapToSpotSplit(order, rgs);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue