Definición de un Mapeo de Clave de Verificación de Duplicados Personalizada

Esta página explica cómo definir un mapping para una verificación de duplicados única, por ejemplo, una verificación de duplicados a nivel de mensaje.

1. Agregue un mapping función

Dentro de su MPS proyecto, añada una Biblioteca de Mapeo a su modelo. Haga clic derecho en su modelo y elija new→`v2Flo`→`Mapping Library`.

Agregue su función a esta biblioteca y complete sus detalles. Los datos de entrada representan el tipo de mensaje que desea verificar por duplicados. Los datos de salida deben ser Duplicate Check Key.

Imagen de custom mapping función con todos los detalles completados

2. Utilice el mapping función dentro de su flujo

Dentro de su MPS flujo, haga clic izquierdo en el checkSingleDuplicate acción que desea utilizar el custom mapping con.

Imagen de la función de verificación de dominio duplicado seleccionada

Presione Ctrl Alt I para abrir el Inspector. Cambie el Mapping en el inspector a su mapping función.

Imagen de custom mapping aplicado en el inspector

3. Implemente su mapping adaptador

Necesita proporcionar una implementación en Java de su mapping función y proporciónelo en su declaración de dominio como un adaptador.

Por ejemplo:

public class CustomDuplicateCheckMappingAdapter implements CustomDuplicateCheckMappingMappingPort {

    @Override
    public CustomSingleDuplicateMapFromPain001MappingOutput performCustomSingleDuplicateMapFromPain001(CustomSingleDuplicateMapFromPain001MappingParameters inputParameters) {
        return new CustomSingleDuplicateMapFromPain001MappingOutput(DuplicateCheckKey.builder().data(getDuplicateCheckFields(inputParameters.getPaymentInitiation()).build()));
    }

    private List<String> getDuplicateCheckFields(CustomerCreditTransferInitiationV09 pain001) {
        List<String> data = new ArrayList<>();
        // your code here to populate data with the fields you want
        return data;
    }
}
    @Bean
    public DuplicatecheckexampleDomain duplicatecheckexampleDomain(ActorSystem actorSystem,
                                                                   CustomDuplicateCheckMappingMappingPort customDuplicateCheckMappingAdapter,
                                                                   Dispatcher floDispatcher) {
        return new DuplicatecheckexampleDomain.Builder(actorSystem)
                .withCustomDuplicateCheckMappingMappingAdapter(customDuplicateCheckMappingAdapter)
                .withDispatcher(floDispatcher)
                .build();
    }

Puede encontrar más detalles sobre el uso de mapping funciones en DSL 6 - Funciones de Mapeo.