package procesar

//
//import (
//	"daemonService/internal/models/obtencionCodigos"
//	"daemonService/internal/models/obtencionCodigos/request"
//	"daemonService/internal/models/obtencionCodigos/response"
//	oc "daemonService/internal/soap/obtencionCodigo"
//	"fmt"
//	"log"
//	"net/http"
//)
//
//type ProcesarRegistroCufd struct {
//	CuisServiceModel obtencionCodigos.CuisServiceModel
//}
//
//// instaciamos procesarRegistro
//func NewProcesarRegistroCufd(
//	cuisServiceModel obtencionCodigos.CuisServiceModel,
//) *ProcesarRegistroCufd {
//	return &ProcesarRegistroCufd{CuisServiceModel: cuisServiceModel}
//}
//
//func (s *ProcesarRegistroCufd) CodigoProcesarRegistroCufd(solicitud request.SolicitudCuisCufd, cuisID int) (interface{}, error) {
//	//func codigoProcesarRegistro(s *obtencionCodigos.CuisServiceModel, solicitud request.SolicitudCuis, cuisID int) (interface{}, error) {
//
//	log.Printf("Procesando código sistema: %s", solicitud.CodigoSistema)
//
//	// 1. Generar solicitud SOAP
//	soapReq, err := codigoGenerarSOAPRequest(s.CuisServiceModel, solicitud)
//	if err != nil {
//		//return fmt.Errorf("error generando SOAP: %v", err)
//		fmt.Printf("error generando SOAP: %v", err)
//	}
//
//	// 2. Enviar solicitud con reintentos CUIS
//	//resp, bodyBytes, err := s.enviarSOAPRequest(soapReq)
//	resp, bodyBytes, err := oc.CodigoEnviarSOAPRequest(s.CuisServiceModel, soapReq)
//	if err != nil {
//		fmt.Printf("error enviando SOAP: %v", err)
//		return nil, fmt.Errorf("error enviando SOAP: %v", err)
//	}
//	defer resp.Body.Close()
//
//	// 3. Validar respuesta HTTP
//	if resp.StatusCode != http.StatusOK {
//		//return fmt.Errorf("código de estado HTTP inválido: %d", resp.StatusCode)
//		fmt.Printf("código de estado HTTP inválido: %d", resp.StatusCode)
//	}
//
//	// 4. Parsear respuesta
//	//println("respuestaCUIS:", string(bodyBytes))
//	respCuis, err := oc.CuisParsearRespSOAP[[]response.CuisResponse](&s.CuisServiceModel, bodyBytes)
//	if err != nil {
//		//return fmt.Errorf("error parseando respuesta: %v", err)
//		fmt.Printf("error parseando respuesta: %v", err)
//	}
//	return respCuis, nil
//}
