Open gianbdev opened 1 month ago
Este código define un servicio llamado ExportarTarifarioClienteAereoService, que utiliza Prisma para consultar la base de datos de tarifarios de clientes aéreos. La función aereoCliente(id_cliente, id_area) busca en la tabla tarifarios_clientes_aereos registros que coincidan con el id_cliente y id_area proporcionados. Selecciona campos como peso, tiempo de entrega y detalles geográficos (ubigeo), así como información del área y del cliente. Los resultados se ordenan por id en orden descendente. Finalmente, se transforma la estructura de los datos devueltos, mapeando los campos seleccionados a un formato más legible, incluyendo departamento, provincia, distrito y tarifas.
Este método permite exportar tarifas aéreas para un cliente dado. Extrae id_cliente e id_area de la solicitud y los convierte en números enteros. Luego, llama al servicio ExportarTarifarioClienteAereoService.aereoCliente con estos parámetros para obtener los tarifarios aéreos. Si la consulta se realiza correctamente, devuelve los datos en formato JSON. En caso de un error, captura la excepción y responde con un mensaje de error y un código de estado 500.
Este endpoint tiene la ruta /exportarClienteAereo/:id_cliente/:id_area, donde se pasan los mismos parámetros de cliente y área. Se utiliza el middleware validateDtoCliente para verificar que los datos de entrada cumplen con el esquema de validación ExportarClienteDto. Si la validación es exitosa, se ejecuta el controlador exportarTarifaClienteAereo, que recupera y devuelve las tarifas aéreas para el cliente especificado.
procedimiento Cliente Tarifario Cargas
El ExportarTarifarioClienteCargaService es responsable de recuperar tarifas de carga para un cliente específico en un área determinada. Utiliza Prisma para consultar la tabla tarifarios_clientes_cargas, filtrando por el id_cliente y id_area proporcionados. Selecciona campos relevantes como el peso máximo y base adicional, así como información de ubicación (departamento, provincia y destino). Los resultados se ordenan por ID en orden descendente y se mapean para devolver una estructura más legible con los datos requeridos, incluyendo información sobre el paquete y tiempos de entrega.
Este método maneja la exportación de tarifas de carga para un cliente específico. Extrae los parámetros id_cliente e id_area de la solicitud y los convierte a enteros. Luego, llama al servicio ExportarTarifarioClienteCargaService.cargaCliente con estos identificadores para obtener los tarifarios de carga. Si la operación es exitosa, devuelve los datos en formato JSON. En caso de un error, captura la excepción y responde con un mensaje de error y un código de estado 500.
Este endpoint se define con la ruta /exportarClienteCarga/:id_cliente/:id_area, donde :id_cliente y :id_area son parámetros de la URL que representan el identificador del cliente y del área, respectivamente. Antes de llamar al controlador exportarTarifaClienteCarga, se aplica el middleware validateDtoCliente para validar los parámetros de entrada contra el esquema definido en ExportarClienteDto. Si la validación es exitosa, el controlador se ejecuta para devolver las tarifas de carga del cliente.
procedimiento Cliente Tarifario Courrier
El ExportarTarifarioClienteCourrierService realiza una función similar, pero se enfoca en las tarifas de courrier. Este servicio consulta la tabla tarifarios_clientes_courriers utilizando el id_cliente y id_area como criterios de filtrado. Selecciona campos como el peso tarifario y el tiempo mínimo y máximo de entrega, junto con la información de ubicación. Al igual que el servicio anterior, los resultados se ordenan por ID en orden descendente y se transforman en un formato más accesible, resaltando los datos de peso y tiempos de entrega.
Este método está diseñado para exportar tarifas de courrier de un cliente específico. Extrae id_cliente e id_area de los parámetros de la solicitud y los convierte a enteros. Utiliza el servicio ExportarTarifarioClienteCourrierService.courrierCliente para recuperar las tarifas correspondientes. Si se obtienen datos de manera exitosa, los devuelve en formato JSON. Si hay un error durante el proceso, captura la excepción y responde con un mensaje de error y un código de estado 500.
Este endpoint se encuentra en la ruta /exportarClienteCourrier/:id_cliente/:id_area y también acepta los parámetros :id_cliente y :id_area. Al igual que los demás, utiliza el middleware validateDtoCliente para validar los parámetros de acuerdo con ExportarClienteDto. Si la validación es correcta, se llama al controlador exportarTarifaClienteCourrier, que maneja la lógica para recuperar y devolver las tarifas de courrier del cliente correspondiente.
procedimiento Cliente Tarifario Valorizado
El ExportarTarifarioClienteValorizadoService se centra en la recuperación de tarifas valorizadas para un cliente en un área específica. Este servicio realiza una consulta a la tabla tarifarios_clientes_valorizados usando el id_cliente y id_area para filtrar los resultados. Selecciona información sobre el producto tarifario, su costo y los tiempos de entrega mínimos y máximos, así como los datos de ubicación. Los resultados se devuelven en un formato legible, organizando la información en una estructura que facilita su comprensión, destacando el producto y su costo.
Este método está diseñado para exportar tarifas de courrier de un cliente específico. Extrae id_cliente e id_area de los parámetros de la solicitud y los convierte a enteros. Utiliza el servicio ExportarTarifarioClienteCourrierService.courrierCliente para recuperar las tarifas correspondientes. Si se obtienen datos de manera exitosa, los devuelve en formato JSON. Si hay un error durante el proceso, captura la excepción y responde con un mensaje de error y un código de estado 500.
Este endpoint se define en la ruta /exportarClienteValorizado/:id_cliente/:id_area, y también utiliza los parámetros :id_cliente y :id_area. Similar al anterior, aplica el middleware validateDtoCliente para asegurar que los parámetros cumplen con el esquema de ExportarClienteDto. Si la validación es satisfactoria, se llama al controlador exportarTarifaClienteValorizado para obtener y devolver las tarifas valorizadas correspondientes al cliente.
Cada uno de estos métodos incluye manejo de errores robusto que asegura que, en caso de cualquier excepción, se registre el error en la consola y se envíe una respuesta clara al cliente. Este enfoque garantiza que el cliente reciba un mensaje de error genérico, manteniendo así la seguridad del sistema al no exponer detalles internos del error. Además, cada método asegura que la respuesta sea coherente y que cualquier problema se gestione adecuadamente con un código de estado HTTP adecuado.
El middleware validateDtoCliente se aplica a todos los endpoints, garantizando que los parámetros de entrada sean válidos y cumplan con la estructura esperada definida en ExportarClienteDto. Esto mejora la robustez y seguridad de la aplicación, evitando errores y asegurando que solo se procesen solicitudes con datos válidos. Si la validación falla, el middleware puede responder con un error adecuado antes de que se ejecute cualquier lógica del controlador.
procedimiento Cliente Tarifario Aereo