account-service http://jira.mfd.msk:8088/browse/CLS-265 TradingClearingRegistry правки заполнения и валидации счетов

This commit is contained in:
AKurakin 2023-06-15 17:06:57 +03:00
parent df5175b2a5
commit 18b0c66920
12 changed files with 106 additions and 10 deletions

View file

@ -6,6 +6,7 @@ import ru.clearing.classes.statics.data.account.Account;
import ru.clearing.classes.statics.data.account.BankAccount;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.platform.dictionary.CurrencyCodeDictionary;
import ru.clearing.platform.dictionary.WorkflowStatusDictionary;
import ru.spcex.clearing.account.errors.AccountError;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest;
@ -45,6 +46,7 @@ public class BankAccountValidationConfig {
addImdg.accept(IMDGDistributedNames.Map_Account);
addImdg.accept(IMDGDistributedNames.Map_BankAccount);
addImdg.accept(IMDGDistributedNames.Map_Company);
addImdg.accept(IMDGDistributedNames.Map_WorkflowStatusDictionary);
addImdg.accept(IMDGDistributedNames.Map_CurrencyCodeDictionary);
return new ValidatorImpl<>(context,
IdPresentRule.instance("companyId",
@ -83,7 +85,14 @@ public class BankAccountValidationConfig {
AccountError.RequiredFieldEmpty),
FieldRequiredRule.instance("bankName",
BankAccountNewRequest::getBankName,
AccountError.RequiredFieldEmpty)
AccountError.RequiredFieldEmpty),
DictionaryPresentRule.instance("status",
BankAccountNewRequest::getStatus,
IMDGDistributedNames.Map_WorkflowStatusDictionary,
WorkflowStatusDictionary.class,
AccountError.RequiredFieldEmpty,
AccountError.WrongFieldValue,
false)
);
};
}

View file

@ -5,8 +5,10 @@ import org.springframework.context.annotation.Configuration;
import ru.clearing.classes.statics.data.account.Account;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.platform.dictionary.ClearingAccountTypeDictionary;
import ru.clearing.platform.dictionary.WorkflowStatusDictionary;
import ru.spcex.clearing.account.errors.AccountError;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClearingAccountNewRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClearingAccountUpdateRequest;
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
@ -43,6 +45,7 @@ public class ClearingAccountValidationConfig {
addImdg.accept(IMDGDistributedNames.Map_Company);
addImdg.accept(IMDGDistributedNames.Map_ClearingAccount);
addImdg.accept(IMDGDistributedNames.Map_ClearingAccountTypeDictionary);
addImdg.accept(IMDGDistributedNames.Map_WorkflowStatusDictionary);
return new ValidatorImpl<>(context,
IdPresentRule.instance("companyId",
ClearingAccountNewRequest::getCompanyId,
@ -75,7 +78,14 @@ public class ClearingAccountValidationConfig {
IMDGDistributedNames.Map_ClearingAccountTypeDictionary,
ClearingAccountTypeDictionary.class,
AccountError.RequiredFieldEmpty,
AccountError.WrongFieldValue)
AccountError.WrongFieldValue),
DictionaryPresentRule.instance("status",
ClearingAccountNewRequest::getStatus,
IMDGDistributedNames.Map_WorkflowStatusDictionary,
WorkflowStatusDictionary.class,
AccountError.RequiredFieldEmpty,
AccountError.WrongFieldValue,
false)
);
};
}

View file

@ -4,9 +4,12 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import ru.clearing.classes.statics.data.account.Account;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.platform.dictionary.WorkflowStatusDictionary;
import ru.spcex.clearing.account.errors.AccountError;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.account.DepoAccountNewRequest;
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
import ru.spcex.platform.classes.base.SpcexObjectBase;
@ -39,6 +42,7 @@ public class DepoAccountValidationConfig {
addImdg.accept(IMDGDistributedNames.Map_Company);
addImdg.accept(IMDGDistributedNames.Map_Account);
addImdg.accept(IMDGDistributedNames.Map_DepoAccount);
addImdg.accept(IMDGDistributedNames.Map_WorkflowStatusDictionary);
return new ValidatorImpl<>(context,
IdPresentRule.instance("companyId",
DepoAccountNewRequest::getCompanyId,
@ -68,7 +72,14 @@ public class DepoAccountValidationConfig {
}),
FieldRequiredRule.instance("depoAccountType",
DepoAccountNewRequest::getDepoAccountType,
AccountError.RequiredFieldEmpty)
AccountError.RequiredFieldEmpty),
DictionaryPresentRule.instance("status",
DepoAccountNewRequest::getStatus,
IMDGDistributedNames.Map_WorkflowStatusDictionary,
WorkflowStatusDictionary.class,
AccountError.RequiredFieldEmpty,
AccountError.WrongFieldValue,
false)
);
};
}

View file

@ -135,6 +135,7 @@ public class AccountService extends QueueConsumer implements InitializingBean {
account.setAccountType(req.getAccountType());
if (req.getStatus() == null) {
account.setStatus(WorkflowStatus.Active.getKey());
log.trace("Status not set in request. Use default: {}", account.getStatus());
} else {
account.setStatus(req.getStatus());
}

View file

@ -102,7 +102,12 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
Account account = new Account();
account.setAccount(req.getAccount());
account.setAccountType(AccountType.Bank.getKey());
account.setStatus(WorkflowStatus.Active.getKey());
if (req.getStatus() == null) {
log.trace("Status not set in request. Use default: {}", account.getStatus());
account.setStatus(WorkflowStatus.Active.getKey());
} else {
account.setStatus(req.getStatus());
}
account.setCompanyId(req.getCompanyId());
account.setCreated(now);
account.setUpdated(now);

View file

@ -107,8 +107,12 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
Instant now = Instant.now();
Account account = new Account();
account.setAccount(req.getAccount());
account.setAccountType(AccountType.Clrn.getKey());
account.setStatus(ServiceStatus.Active.getKey());
account.setAccountType(AccountType.Clrn.getKey());if (req.getStatus() == null) {
account.setStatus(WorkflowStatus.Active.getKey());
log.trace("Status not set in request. Use default: {}", account.getStatus());
} else {
account.setStatus(req.getStatus());
}
account.setCompanyId(req.getCompanyId());
account.setCreated(now);
account.setUpdated(now);

View file

@ -27,6 +27,7 @@ import ru.spcex.clearing.validation.common.ValidationHelper;
import ru.spcex.platform.enumeration.AccountType;
import ru.spcex.platform.enumeration.SdfTable;
import ru.spcex.platform.enumeration.ServiceStatus;
import ru.spcex.platform.enumeration.WorkflowStatus;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.ImdgTransaction;
@ -88,7 +89,12 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea
Account account = new Account();
account.setAccount(req.getAccount());
account.setAccountType(AccountType.Depo.getKey());
account.setStatus(ServiceStatus.Active.getKey());
if (req.getStatus() == null) {
account.setStatus(WorkflowStatus.Active.getKey());
log.trace("Status not set in request. Use default: {}", account.getStatus());
} else {
account.setStatus(req.getStatus());
}
account.setCompanyId(req.getCompanyId());
account.setCreated(now);
account.setUpdated(now);

View file

@ -26,6 +26,7 @@ import ru.spcex.clearing.util.services.RequestHelper;
import ru.spcex.clearing.validation.common.ValidationHelper;
import ru.spcex.platform.enumeration.AccountType;
import ru.spcex.platform.enumeration.ServiceStatus;
import ru.spcex.platform.enumeration.WorkflowStatus;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.ImdgTransaction;
@ -106,6 +107,8 @@ public class InformationAccountService extends QueueConsumer implements Initiali
RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, infoAccountNewRequestValidator);
if (requestInfoUpdate != null) return requestInfoUpdate;
InformationAccountNewRequest req = userRequest.getRequestPayload();
Long newId = informationAccountImdg.nextIDSequenceFor();
Long infoSequenceId = accountNextId();
String accountValue = generateInfoAccount(infoSequenceId);
@ -127,8 +130,13 @@ public class InformationAccountService extends QueueConsumer implements Initiali
Account account = new Account();
account.setAccount(accountValue);
account.setAccountType(AccountType.Info.getKey());
account.setStatus(ServiceStatus.Active.getKey());//fixme !!!
account.setCompanyId(userRequest.getRequestPayload().getCompanyId());
if (req.getStatus() == null) {
account.setStatus(WorkflowStatus.Active.getKey());
log.trace("Status not set in request. Use default: {}", account.getStatus());
} else {
account.setStatus(req.getStatus());
}
account.setCompanyId(req.getCompanyId());
account.setCreated(now);
account.setUpdated(now);
requestInfoUpdate = accountService.fillAccountFromRelation(account, userRequest.getId(), true);
@ -150,7 +158,7 @@ public class InformationAccountService extends QueueConsumer implements Initiali
informationAccount.setId(newId);
informationAccount.setAccountId(accountId);
informationAccount.setClearingAccountId(anltAccount.getId());
informationAccount.setCompanyId(userRequest.getRequestPayload().getCompanyId());
informationAccount.setCompanyId(req.getCompanyId());
informationAccountId = informationAccountImdg.insert(informationAccount);
txOk = true;
} finally {

View file

@ -22,6 +22,8 @@ public class BankAccountNewRequest {
@JsonProperty
public String account;
@JsonProperty
public String status;
@JsonProperty
public Long companyId;
public String getBankIdentificationCode() {
@ -96,6 +98,14 @@ public class BankAccountNewRequest {
this.account = account;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Long getCompanyId() {
return companyId;
}

View file

@ -12,6 +12,8 @@ public class ClearingAccountNewRequest {
@JsonProperty
public Long companyId;
@JsonProperty
public String status;
public String getAccount() {
return account;
@ -36,4 +38,12 @@ public class ClearingAccountNewRequest {
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}

View file

@ -12,6 +12,9 @@ public class DepoAccountNewRequest {
@JsonProperty
public Long companyId;
@JsonProperty
public String status;
public String getAccount() {
return account;
@ -36,4 +39,12 @@ public class DepoAccountNewRequest {
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}

View file

@ -6,6 +6,9 @@ public class InformationAccountNewRequest {
@JsonProperty
public Long companyId;
@JsonProperty
private String status;
public Long getCompanyId() {
return companyId;
}
@ -13,4 +16,12 @@ public class InformationAccountNewRequest {
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}