This commit is contained in:
parent
53df6b6b62
commit
bbef81e867
2 changed files with 39 additions and 36 deletions
|
|
@ -1,5 +1,10 @@
|
|||
package ru.spcex.clearing.account.service;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
import org.apache.kafka.clients.consumer.Consumer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.slf4j.Logger;
|
||||
|
|
@ -21,12 +26,8 @@ import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
|||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.clearing.CreateRegistryByTCRListRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.clearing.CreateRegistryRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryListNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryListUpdateRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryUpdateRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.reports.NotificationRequest;
|
||||
import ru.spcex.clearing.platform.messaging.serialization.LogFormatter;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||
|
|
@ -35,19 +36,12 @@ import ru.spcex.clearing.util.security.UserRoleVerification;
|
|||
import ru.spcex.clearing.util.services.RequestHelper;
|
||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.enumeration.TradingClearingRegistryPurpose;
|
||||
import ru.spcex.platform.enumeration.TradingClearingRegistryType;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
import ru.spcex.platform.utils.log.ExceptionUtils;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Service
|
||||
public class TradingClearingRegistryListService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
|
@ -141,7 +135,9 @@ public class TradingClearingRegistryListService extends QueueConsumer implements
|
|||
return requestInfoUpdate;
|
||||
}
|
||||
|
||||
|
||||
TradingClearingRegistryListNewRequest req = userRequest.getRequestPayload();
|
||||
Account account = accountImdg.getSingleObjectByID(req.getAccountId());
|
||||
Instant now = Instant.now();
|
||||
|
||||
List<Long> newIds=new ArrayList<>();
|
||||
|
|
@ -153,6 +149,7 @@ public class TradingClearingRegistryListService extends QueueConsumer implements
|
|||
tradingClearingRegistryList.setUpdated(now);
|
||||
tradingClearingRegistryList.setTradingClearingRegistryId(req.getTradingClearingRegistryId());
|
||||
tradingClearingRegistryList.setAccountId(currAccId);
|
||||
tradingClearingRegistryList.setCurrency(account.getCurrency());
|
||||
if (req.getStatus() == null) {
|
||||
tradingClearingRegistryList.setStatus(ServiceStatus.Active.getKey());
|
||||
log.trace("TCRList status in request not set. Use default: {}", tradingClearingRegistryList.getStatus());
|
||||
|
|
@ -210,6 +207,7 @@ public class TradingClearingRegistryListService extends QueueConsumer implements
|
|||
}
|
||||
|
||||
TradingClearingRegistryListNewRequest req = userRequest.getRequestPayload();
|
||||
Account account = accountImdg.getSingleObjectByID(req.getAccountId());
|
||||
Instant now = Instant.now();
|
||||
|
||||
Long id = tradingClearingRegistryListImdg.nextIDSequenceFor();
|
||||
|
|
@ -219,6 +217,7 @@ public class TradingClearingRegistryListService extends QueueConsumer implements
|
|||
tradingClearingRegistryList.setUpdated(now);
|
||||
tradingClearingRegistryList.setTradingClearingRegistryId(req.getTradingClearingRegistryId());
|
||||
tradingClearingRegistryList.setAccountId(req.getAccountId());
|
||||
tradingClearingRegistryList.setCurrency(account.getCurrency());
|
||||
if (req.getStatus() == null) {
|
||||
tradingClearingRegistryList.setStatus(ServiceStatus.Active.getKey());
|
||||
log.trace("TCRList status in request not set. Use default: {}", tradingClearingRegistryList.getStatus());
|
||||
|
|
@ -231,26 +230,26 @@ public class TradingClearingRegistryListService extends QueueConsumer implements
|
|||
|
||||
if (!innerCall) {
|
||||
// Для каждого счета из списка (currencyAccountList) должна быть создана отдельная запись объекте clientCode с данным счетом для данного клиента, т.е. у одного клиента может быть несколько валютных счетов.
|
||||
try {
|
||||
TradingClearingRegistry tcr = tradingClearingRegistryImdg.getSingleObjectByID(req.getTradingClearingRegistryId());
|
||||
ClientCodeNewRequest cCodeReq = new ClientCodeNewRequest();
|
||||
cCodeReq.setTradingClearingRegistryId(req.getTradingClearingRegistryId());
|
||||
cCodeReq.setDepoAccountId(tcr.getDepoAccountId());
|
||||
cCodeReq.setMoneyAccountId(tcr.getMoneyAccountId());
|
||||
cCodeReq.setCompanyId(tcr.getCompanyId());
|
||||
cCodeReq.setCurrencyAccountList(Arrays.asList(req.getAccountId())); // todo rewrite API
|
||||
cCodeReq.setStatus(tradingClearingRegistryList.getStatus());
|
||||
//todo cCodeReq.setCode();
|
||||
BaseRequest<ClientCodeNewRequest> request2 = new BaseRequest<>();
|
||||
request2.setRequestPayload(cCodeReq);
|
||||
requestInfoUpdate = clientCodeService.clientCodeNew0(request2, true);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
} catch (Exception e) {
|
||||
log.error("Can not wait creation of tradingClearingRegistryList. request id={}; {}",
|
||||
userRequest.getId(),
|
||||
ExceptionUtils.getStackTrace(e));
|
||||
return requestHelper.makeErrorResponse(userRequest, AccountError.GeneralError, "Can not create TCR: " + e.getMessage());
|
||||
}
|
||||
// try {
|
||||
// TradingClearingRegistry tcr = tradingClearingRegistryImdg.getSingleObjectByID(req.getTradingClearingRegistryId());
|
||||
// ClientCodeNewRequest cCodeReq = new ClientCodeNewRequest();
|
||||
// cCodeReq.setTradingClearingRegistryId(req.getTradingClearingRegistryId());
|
||||
// cCodeReq.setDepoAccountId(tcr.getDepoAccountId());
|
||||
// cCodeReq.setMoneyAccountId(tcr.getMoneyAccountId());
|
||||
// cCodeReq.setCompanyId(tcr.getCompanyId());
|
||||
// cCodeReq.setCurrencyAccountList(Arrays.asList(req.getAccountId())); // todo rewrite API
|
||||
// cCodeReq.setStatus(tradingClearingRegistryList.getStatus());
|
||||
// //todo cCodeReq.setCode();
|
||||
// BaseRequest<ClientCodeNewRequest> request2 = new BaseRequest<>();
|
||||
// request2.setRequestPayload(cCodeReq);
|
||||
// requestInfoUpdate = clientCodeService.clientCodeNew0(request2, true);
|
||||
// if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
// } catch (Exception e) {
|
||||
// log.error("Can not wait creation of tradingClearingRegistryList. request id={}; {}",
|
||||
// userRequest.getId(),
|
||||
// ExceptionUtils.getStackTrace(e));
|
||||
// return requestHelper.makeErrorResponse(userRequest, AccountError.GeneralError, "Can not create TCR: " + e.getMessage());
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,12 @@
|
|||
package ru.spcex.clearing.account.service;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
import org.apache.kafka.clients.consumer.Consumer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.slf4j.Logger;
|
||||
|
|
@ -40,10 +47,6 @@ import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
|||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Service
|
||||
public class TradingClearingRegistryService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
|
@ -394,7 +397,8 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini
|
|||
if (code.length() > 4)
|
||||
code = code.substring(code.length() - 4);
|
||||
code = "%4s".formatted(code).replace(' ', '0');
|
||||
code += registryPurpose.getKey(); // C / M / ...
|
||||
// code += registryPurpose.getKey(); // C / M / ...
|
||||
code += "C";//пока ставим всегда С, возможно придется откатить
|
||||
String trType = tradingRegistryType + "T"; // 2 символа
|
||||
code += trType;
|
||||
String sId = "%5s".formatted(id).replace(' ', '0');
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue