Я не очень хорошо понимаю весь процесс, я получил требование на полпути, Данило может объяснить это лучше
библиотеки, которые будут реализовывать кредитный анализ: цифровой банкинг, расчет заработной платы , кредиты, транспортные средства и ссылки
каждая библиотека будет иметь свою реализацию интерфейса AnaliseCreditoUseCase.
ПУНКТ 1. (featureToggle)enviarPropostaAnaliseCredito() -> chama o método requestMorAsync()
requestMorAsync() -> retorna o Boolean "featureToggle" true = async false = sincrono
obs.: Rute fez essa parte toda
obs2 (caso perguntem): não me foi passado como foi feita essa configuração do parametrosConfiguration
ПУНКТ 2. перенаправление на вызов конечной точки V2
após entrar no if(true), entra no método enviarPropostaAnaliseCreditoMorAsync()
esse método realiza uma requisição rest para o novo endpoint /v2/credito/analise
O novo endpoint irá retornar o idMorAsync (id da resposta da crivo)
obs.: explicação do endpoint no ponto 4
ПУНКТ 3. Сохраните конечную точку возврата /v2/credito/analise
após receber o retorno do Ponto 2
converte dados para Entidade.
campos salvos = cpf, idMorAsync e data de envio para crivo
salva dados da entidade na tabela
obs.: no card foi dito que só seria salvo o idMorAsync, porém na implementação a Rute salvou o cpf também, não deu tempo de validar se deve ser mantido ou não por conta das ferias dela, então mantive.
ПУНКТ 4. Создание конечной точки V2
endpoint que é chamado no Ponto 2.
ele envia a solicitação para crivo com os dados.
fluxo -> AnaliseCreditoControllerV2 -> AnaliseCreditoMorAsyncUseCaseImpl.analisar
-> é realizado algumas validações e chama o método -> executaPoliticaAnaliseCredito
-> executaPoliticaAnaliseCredito -> envia uma requisição rest e retorna o idMorAsync que é salvo no item 3
fluxo completo da primeira parte ->
toggle = true envia proposta para crivo
crivo retorna idMorAsync (ao do resultado do processamento)
idMorAsync é salvo na tabela (para consultar quando a crivo enviar a resposta para o consumer)
НАЧАТЬ ЧАСТЬ 2 ПОТОКА
crivo processa os dados e envia a resposta para a fila que será lida pelo consumer
ПУНКТ 4.1 – Создание потребителя
ConsumerAnaliseCreditoMorAsync -> classe que vai ler a resposta da crivo, ela faz um mapper dos dados e manda para o useCase
ProcessarAnaliseCreditoUseCase -> realiza um parse para entidade (AnaliseCreditoMorAsync) e chama os gateways de repository para persistir nas duas tabelas (explicação no ponto 5)
OBS.:
AnaliseCreditoMorAsyncGateway -> No persistirAnaliseCredito ele realiza uma consulta para buscar os dados salvos no Ponto 3 (cpf e data de envio para crivo) (preencherDadosMorAsync)
ПУНКТ 5. Создание таблицы в Postgres
a crivo retorna os seguintes dados para a fila -> codigo operação, resposta final, resposta cliente, resposta interna, codigo sistema, codigo consulta e parametros.
todos os dados tirando o "parametros" serão salvos na tabela "analise_credito_morasync"
o campo "parametros" é salvo na tabela "analise_credito_morasync_campos", isso foi alinhado antes de eu puxar a demanda, alinharam que deveria seguir o modelo do OCR (chave - valor)
Подробнее здесь: https://stackoverflow.com/questions/793 ... -converter
IoException в конвертере Ocr [закрыто] ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как отправить значение Maui XAML Bound в параметр в конвертере C# с кодом программной части?
Anonymous » » в форуме C# - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-