sdf01/sdf02 bug fix sdf02 groupid
This commit is contained in:
parent
edb00e4608
commit
9f9b260a4f
9 changed files with 45 additions and 10 deletions
|
|
@ -275,15 +275,16 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
|||
}
|
||||
|
||||
|
||||
sendStatementRequestBack(req.getGroupingSdf01Id(), accountToStatement);
|
||||
sendStatementRequestBack(req.getGroupingSdf01Id(), req.getGroupingSdf02Id(), accountToStatement);
|
||||
log.debug("successfully processed, grouping id={}, processed number={}", req.getGroupingSdf01Id(), accountToStatement.size());
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void sendStatementRequestBack(Long groupingSdf01Id, List<AccountSdfToStatementRequestPart> results) {
|
||||
public void sendStatementRequestBack(Long groupingSdf01Id, Long groupSdf02Id, List<AccountSdfToStatementRequestPart> results) {
|
||||
StatementRequest request = new StatementRequest();
|
||||
request.setGroupId(groupingSdf01Id);
|
||||
request.setChildGenerationId(groupSdf02Id);
|
||||
request.setAccountCreationResults(results);
|
||||
request.setContinueSdf(true);
|
||||
request.setTable(SdfTable.SDF_01); // по нему запрос получили
|
||||
|
|
|
|||
|
|
@ -213,15 +213,16 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea
|
|||
}
|
||||
}
|
||||
|
||||
sendStatementRequestBack(req.getGroupingSdf01Id(), accountToStatement);
|
||||
sendStatementRequestBack(req.getGroupingSdf01Id(), req.getGroupingSdf02Id(), accountToStatement);
|
||||
log.debug("successfully processed, grouping id={}, processed number={}", req.getGroupingSdf01Id(), accountToStatement.size());
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void sendStatementRequestBack(Long groupingSdf01Id, List<AccountSdfToStatementRequestPart> results) {
|
||||
public void sendStatementRequestBack(Long groupingSdf01Id, Long groupingSdf02Id, List<AccountSdfToStatementRequestPart> results) {
|
||||
StatementRequest request = new StatementRequest();
|
||||
request.setGroupId(groupingSdf01Id);
|
||||
request.setChildGenerationId(groupingSdf02Id);
|
||||
request.setContinueSdf(true); //fixme????
|
||||
request.setAccountCreationResults(results);
|
||||
request.setTable(SdfTable.SDF_08); // по нему запрос получили
|
||||
|
|
|
|||
|
|
@ -185,7 +185,7 @@ public class ValidationConfig {
|
|||
return new ValidatorImpl<>(context,
|
||||
Sdf57ValidationRule.CompanyDebOrCredPresent,
|
||||
Sdf57ValidationRule.AccountDebOrCredPresent,
|
||||
Sdf57ValidationRule.CurrencyCode
|
||||
Sdf57ValidationRule.CurrencyCodeCheck
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -239,6 +239,8 @@ public class StatementService extends QueueConsumer implements InitializingBean
|
|||
sdfGroup = sdfImdg.getCollectionObjectsByFieldValues(Map.of(
|
||||
"generationId", statementRequest.getGroupId()));
|
||||
} else {
|
||||
log.debug("accounts were created: {} for generationId {} child generationId {}",
|
||||
statementRequest.getAccountCreationResults().size(), statementRequest.getGroupId(), statementRequest.getChildGenerationId());
|
||||
//todo могут ли тут реквесты бегать по кругу, если да, то у нас проблемы
|
||||
sdfGroup = statementRequest.getAccountCreationResults()
|
||||
.stream()
|
||||
|
|
@ -249,7 +251,7 @@ public class StatementService extends QueueConsumer implements InitializingBean
|
|||
AbstractExecutor service = executorsMap.get(SdfTable.SDF_01);
|
||||
Result res = service.execute(sdfGroup, statementRequest);
|
||||
if (res.getAccountRequests().size() != 0) {
|
||||
kafkaSender.sendRequestToQueue(Consts.ACCOUNT_NEW_SDF01, createAccountsRequest(statementRequest.getGroupId(), res.getAccountRequests()));
|
||||
kafkaSender.sendRequestToQueue(Consts.ACCOUNT_NEW_SDF01, createAccountsRequest(statementRequest.getGroupId(), res.getAccountRequests(), res.getGenerationId()));
|
||||
return res;
|
||||
} else if (service.isNeedToSendCommand()) {
|
||||
service.sendCommand(kafkaSender, res);
|
||||
|
|
@ -344,4 +346,12 @@ public class StatementService extends QueueConsumer implements InitializingBean
|
|||
r.setAccounts(accountRequests);
|
||||
return r;
|
||||
}
|
||||
|
||||
private AccountSdf01Request createAccountsRequest(Long sdf01GroupingId, List<AccountSdfRequestPart> accountRequests, Long childGenerationId) {
|
||||
AccountSdf01Request r = new AccountSdf01Request();
|
||||
r.setGroupingSdf01Id(sdf01GroupingId);
|
||||
r.setGroupingSdf02Id(childGenerationId);
|
||||
r.setAccounts(accountRequests);
|
||||
return r;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ public class Sdf01Executor extends AbstractExecutor<SDf01> {
|
|||
|
||||
public Result execute(Collection<SDf01> sdf, StatementRequest statementRequest) {
|
||||
Result result = new Result();
|
||||
Long generationIdForGroup = imdgProvider.getImdgIdGenerator().nextId();
|
||||
Long generationIdForGroup = statementRequest.getChildGenerationId() != null ? statementRequest.getChildGenerationId() : imdgProvider.getImdgIdGenerator().nextId();
|
||||
result.setGenerationId(generationIdForGroup);
|
||||
// boolean reviseFailed = false;
|
||||
log.info("SDF01 execution: sdf01 number={}, groupId={}", sdf.size(), sdf.stream().findFirst().map(SDf01::getGenerationId).orElse(null));
|
||||
|
|
|
|||
|
|
@ -5,9 +5,11 @@ import ru.clearing.classes.statics.data.company.Company;
|
|||
import ru.clearing.classes.statics.data.sdf.SDf57;
|
||||
import ru.spcex.clearing.error.ClearingError;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.platform.enumeration.CurrencyCode;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.enumeration.IEnumKey;
|
||||
import ru.spcex.platform.utils.text.TextUtil;
|
||||
import ru.spcex.platform.utils.validation.IValidationRule;
|
||||
|
||||
|
|
@ -62,11 +64,11 @@ public enum Sdf57ValidationRule implements IValidationRule<ImdgValidationContext
|
|||
return empty();
|
||||
}
|
||||
|
||||
}, CurrencyCode() {
|
||||
}, CurrencyCodeCheck() {
|
||||
@Override
|
||||
public Optional<EnumMessage> validate(ImdgValidationContext<SDf57> context) {
|
||||
SDf57 sdf57 = context.getValidatedObject();
|
||||
if (!ru.spcex.platform.enumeration.CurrencyCode.RUR.equalsByKey(sdf57.getPay_val())) {
|
||||
if (!IEnumKey.contains(sdf57.getPay_val(), CurrencyCode.class)) {
|
||||
return of(ClearingError.CompanyDebitCheck, sdf57.getPay_val());
|
||||
}
|
||||
return empty();
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ public class ExportFromHazelcast extends Stage implements InitializingBean {
|
|||
tableRows = map.getAllValues();
|
||||
}
|
||||
if (tableRows.isEmpty()) {
|
||||
log.info("uuid {}. Map {} is empty.", resultContainer.getUuid(), resultContainer.getTableForExport().getHazelcastMapName());
|
||||
log.info("uuid {}. Map {} is empty, generationId {}", resultContainer.getUuid(), resultContainer.getTableForExport().getHazelcastMapName(), resultContainer.getGroupId());
|
||||
return StageResult.COMPLETE;
|
||||
}
|
||||
for (SpcexObjectBase value : tableRows) {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@ import java.util.List;
|
|||
*/
|
||||
public class AccountSdf01Request {
|
||||
|
||||
@JsonProperty
|
||||
private Long groupingSdf01Id;
|
||||
@JsonProperty
|
||||
private Long groupingSdf02Id;
|
||||
|
||||
@JsonProperty("accounts")
|
||||
List<AccountSdfRequestPart> accounts;
|
||||
|
|
@ -29,4 +32,12 @@ public class AccountSdf01Request {
|
|||
public void setGroupingSdf01Id(Long groupingSdf01Id) {
|
||||
this.groupingSdf01Id = groupingSdf01Id;
|
||||
}
|
||||
|
||||
public Long getGroupingSdf02Id() {
|
||||
return groupingSdf02Id;
|
||||
}
|
||||
|
||||
public void setGroupingSdf02Id(Long groupingSdf02Id) {
|
||||
this.groupingSdf02Id = groupingSdf02Id;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@ public class StatementRequest {
|
|||
@JsonProperty
|
||||
List<AccountSdfToStatementRequestPart> accountCreationResults = new ArrayList<>();
|
||||
@JsonProperty
|
||||
private Long childGenerationId;
|
||||
@JsonProperty
|
||||
private boolean continueSdf = false;
|
||||
|
||||
public Long getGroupId() {
|
||||
|
|
@ -49,4 +51,12 @@ public class StatementRequest {
|
|||
public void setAccountCreationResults(List<AccountSdfToStatementRequestPart> accountCreationResults) {
|
||||
this.accountCreationResults = accountCreationResults;
|
||||
}
|
||||
|
||||
public Long getChildGenerationId() {
|
||||
return childGenerationId;
|
||||
}
|
||||
|
||||
public void setChildGenerationId(Long childGenerationId) {
|
||||
this.childGenerationId = childGenerationId;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue