Код получателя в запросе НРД — по ИНН зачисляющего депозитария из справочника M2M (заявки ЛК уходили с кодом из настроек → M2M15)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
@@ -86,10 +86,7 @@ func (s *Service) BuildRequest(ctx context.Context, in CreateClaimRequest) (*m2m
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("lkgateway: dtoToClaim: %w", err)
|
||||
}
|
||||
receiver := s.defaultReceiver
|
||||
if in.ReceiverCodeOverride != "" {
|
||||
receiver = m2m.DeponentCode(in.ReceiverCodeOverride)
|
||||
}
|
||||
receiver := s.receiverFor(in)
|
||||
req, err := m2mcore.EnrichRequest(ctx, s.store, domainClaim, m2mcore.SenderReceiver{
|
||||
SenderCode: s.defaultSender,
|
||||
ReceiverCode: receiver,
|
||||
@@ -100,6 +97,19 @@ func (s *Service) BuildRequest(ctx context.Context, in CreateClaimRequest) (*m2m
|
||||
return req, nil
|
||||
}
|
||||
|
||||
// receiverFor — код получателя (зачисляющего депозитария) в заголовке запроса: явный (робот НРД,
|
||||
// тест-кейсы) → по ИНН зачисляющего депозитария из справочника участников M2M → из настроек.
|
||||
// Без справочника заявки ЛК уходили с кодом из настроек, и НРД отвечал M2M15 (29.09.2026).
|
||||
func (s *Service) receiverFor(in CreateClaimRequest) m2m.DeponentCode {
|
||||
if in.ReceiverCodeOverride != "" {
|
||||
return m2m.DeponentCode(in.ReceiverCodeOverride)
|
||||
}
|
||||
if code := handbookCodeByINN(in.ReceivingDepositoryINN); code != "" {
|
||||
return m2m.DeponentCode(code)
|
||||
}
|
||||
return s.defaultReceiver
|
||||
}
|
||||
|
||||
// BuildRequestUnchecked — BuildRequest без финальной проверки формата НРД: пакет нужен
|
||||
// для журнала и отказа через Fancy даже при некорректных данных заявки (lkemulate.go).
|
||||
func (s *Service) BuildRequestUnchecked(ctx context.Context, in CreateClaimRequest) (*m2m.M2MTransferRequest, error) {
|
||||
@@ -107,10 +117,7 @@ func (s *Service) BuildRequestUnchecked(ctx context.Context, in CreateClaimReque
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("lkgateway: dtoToClaim: %w", err)
|
||||
}
|
||||
receiver := s.defaultReceiver
|
||||
if in.ReceiverCodeOverride != "" {
|
||||
receiver = m2m.DeponentCode(in.ReceiverCodeOverride)
|
||||
}
|
||||
receiver := s.receiverFor(in)
|
||||
req, err := m2mcore.EnrichRequestUnchecked(ctx, s.store, domainClaim, m2mcore.SenderReceiver{
|
||||
SenderCode: s.defaultSender,
|
||||
ReceiverCode: receiver,
|
||||
|
||||
Reference in New Issue
Block a user