account-service http://jira.mfd.msk:8088/browse/CLS-489 sdf52
This commit is contained in:
parent
ccdd38ad1a
commit
065a1179ef
2 changed files with 20 additions and 3 deletions
|
|
@ -16,6 +16,8 @@ import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
|||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.relation.Relation;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf52;
|
||||
import ru.clearing.platform.dictionary.AbstractDictionary;
|
||||
import ru.clearing.platform.dictionary.ClearingCategoryDictionary;
|
||||
import ru.spcex.clearing.account.errors.AccountError;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
|
|
@ -48,6 +50,7 @@ import ru.spcex.platform.utils.validation.IValidator;
|
|||
import java.time.Instant;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class ClearingAccountService extends QueueConsumer implements InitializingBean {
|
||||
|
|
@ -66,6 +69,7 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
|||
private final Imdg<Company> companyImdg;
|
||||
private final Imdg<Relation> relationImdg;
|
||||
private final Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;
|
||||
private final Imdg<ClearingCategoryDictionary> clearingCategoryImdg;
|
||||
|
||||
@Autowired
|
||||
public ClearingAccountService(Consumer<String, Object> kafkaQueue,
|
||||
|
|
@ -96,6 +100,7 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
|||
this.companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
this.relationImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
|
||||
this.clearingMemberCategoryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
this.clearingCategoryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingCategoryDictionary, ClearingCategoryDictionary.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -312,12 +317,23 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
|||
serviceType = ru.spcex.platform.enumeration.Service.MKR.getKey();
|
||||
}
|
||||
if (IEnumKey.contains(cmc.getClearingMemberCategory(), ClearingCategory.F, ClearingCategory.C)) {
|
||||
serviceType = ru.spcex.platform.enumeration.Service.MKR.getKey();
|
||||
serviceType = ru.spcex.platform.enumeration.Service.FOND.getKey();
|
||||
}
|
||||
}
|
||||
return serviceType;
|
||||
}
|
||||
|
||||
String selectExpectedCMCOfCompanyForRelation(Long companyId) {
|
||||
Collection<ClearingCategoryDictionary> clearingCategorys = clearingCategoryImdg.getCollectionObjectsByPredicate(
|
||||
clearingCategoryImdg.predicateBuilder().in("code", new String[]{
|
||||
ClearingCategory.B.getKey(), ClearingCategory.I.getKey(), ClearingCategory.V.getKey(),
|
||||
ClearingCategory.F.getKey(), ClearingCategory.C.getKey()
|
||||
})
|
||||
);
|
||||
String toText = clearingCategorys.stream().map(AbstractDictionary::getName).collect(Collectors.joining("/"));
|
||||
return toText;
|
||||
}
|
||||
|
||||
public RequestInfoUpdate accountUpdateSdf52(BaseRequest<StatementRequest> systemRequest) {
|
||||
log.debug("accountUpdateSdf52 StatementRequest received, id={}", systemRequest.getId());
|
||||
|
||||
|
|
@ -359,7 +375,8 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
|||
"service", serviceType
|
||||
));
|
||||
if (relation == null) {
|
||||
String msg = messageResolver.resolve(new EnumMessage(AccountError.ClearingCategoryNotFound, company.getTradingCode(), serviceType));
|
||||
String requiredClearingCategoryToMessage = selectExpectedCMCOfCompanyForRelation(company.getId());
|
||||
String msg = messageResolver.resolve(new EnumMessage(AccountError.ClearingCategoryNotFound, company.getTradingCode(), requiredClearingCategoryToMessage));
|
||||
log.warn("By generationId={} s_df52[{}] error: {}", groupId, sDf52.getId(), msg);
|
||||
toProcessSDF53.add(new MutableTriple<>(sDf52, null,
|
||||
makeSdfErrorText(AccountError.ClearingCategoryNotFound, SDFProcessService.SDF_STATUS_ERROR_COMPANY_NOT_FOUND)));
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ public class SDFProcessService {
|
|||
* @return AccountStatus или null
|
||||
*/
|
||||
public AccountStatus parseSdf52Status(Long status) {
|
||||
if (Long.valueOf(1L).equals(status)) {
|
||||
if (Long.valueOf(1L).equals(status) || Long.valueOf(3L).equals(status)) {
|
||||
return AccountStatus.ACTIVE;
|
||||
} else if (Long.valueOf(0L).equals(status)) {
|
||||
return AccountStatus.BLOCKED;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue