This commit is contained in:
parent
89cad0d718
commit
d5b5272bb3
1 changed files with 8 additions and 2 deletions
|
|
@ -10,6 +10,7 @@ import ru.clearing.classes.statics.data.misc.OrderCurrency;
|
||||||
import ru.spcex.clearing.dflt.management.config.ValidationConfig;
|
import ru.spcex.clearing.dflt.management.config.ValidationConfig;
|
||||||
import ru.spcex.clearing.dflt.management.error.DefaultManagementErrors;
|
import ru.spcex.clearing.dflt.management.error.DefaultManagementErrors;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.order.OrderCompanyNewRequest;
|
||||||
import ru.spcex.platform.enumeration.CompanyRole;
|
import ru.spcex.platform.enumeration.CompanyRole;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||||
|
|
@ -18,7 +19,7 @@ import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
import ru.spcex.platform.utils.validation.IValidationRule;
|
import ru.spcex.platform.utils.validation.IValidationRule;
|
||||||
|
|
||||||
public class OrderCurrencyOnlyLccCompany
|
public class OrderCurrencyOnlyLccCompany
|
||||||
implements IValidationRule<ImdgValidationContext<?>> {
|
implements IValidationRule<ImdgValidationContext<OrderCompanyNewRequest>> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(ValidationConfig.class);
|
private static final Logger log = LoggerFactory.getLogger(ValidationConfig.class);
|
||||||
public static
|
public static
|
||||||
OrderCurrencyOnlyLccCompany getInstance() {
|
OrderCurrencyOnlyLccCompany getInstance() {
|
||||||
|
|
@ -26,7 +27,7 @@ public class OrderCurrencyOnlyLccCompany
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<EnumMessage> validate(ImdgValidationContext<?> ctx) {
|
public Optional<EnumMessage> validate(ImdgValidationContext<OrderCompanyNewRequest> ctx) {
|
||||||
Imdg<CompanyRoleSet> cmpRoleImdg = ctx.obtainMap(IMDGDistributedNames.Map_CompanyRoleSet, CompanyRoleSet.class);
|
Imdg<CompanyRoleSet> cmpRoleImdg = ctx.obtainMap(IMDGDistributedNames.Map_CompanyRoleSet, CompanyRoleSet.class);
|
||||||
Imdg<Company> companyImdg = ctx.obtainMap(IMDGDistributedNames.Map_Company, Company.class);
|
Imdg<Company> companyImdg = ctx.obtainMap(IMDGDistributedNames.Map_Company, Company.class);
|
||||||
ImdgPredicateBuilder cmpRolePb = cmpRoleImdg.predicateBuilder();
|
ImdgPredicateBuilder cmpRolePb = cmpRoleImdg.predicateBuilder();
|
||||||
|
|
@ -42,6 +43,11 @@ public class OrderCurrencyOnlyLccCompany
|
||||||
log.error("couldn't find company CLCC");
|
log.error("couldn't find company CLCC");
|
||||||
return of(DefaultManagementErrors.RecordNotFound, "company[CLCC]");
|
return of(DefaultManagementErrors.RecordNotFound, "company[CLCC]");
|
||||||
}
|
}
|
||||||
|
OrderCompanyNewRequest companyNewRequest = ctx.getValidatedObject();
|
||||||
|
if (Objects.equals(companyNewRequest.getCompanyId(), clccCmp.getId())) {
|
||||||
|
return of(DefaultManagementErrors.OperationNotAllowed);
|
||||||
|
}
|
||||||
|
|
||||||
OrderCurrency order = ctx.getStoredObject(OrderCurrencyValidationStored.OrderCurrency);
|
OrderCurrency order = ctx.getStoredObject(OrderCurrencyValidationStored.OrderCurrency);
|
||||||
if (!Objects.equals(order.getCounterPartyId(), clccCmp.getId())) {
|
if (!Objects.equals(order.getCounterPartyId(), clccCmp.getId())) {
|
||||||
return of(DefaultManagementErrors.OperationNotAllowed);
|
return of(DefaultManagementErrors.OperationNotAllowed);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue