101 lines
3.0 KiB
Go
101 lines
3.0 KiB
Go
package obtencionCodigo
|
|
|
|
//import (
|
|
// "context"
|
|
// "daemonService/internal/models/obtencionCodigos/request"
|
|
// "encoding/json"
|
|
// "net/http"
|
|
//)
|
|
//
|
|
//// procesa la ejecución en modo cron
|
|
//func (s *ObtencionCodigoService) processCronMode(dbCtx context.Context) (interface{}, error) {
|
|
// empresasConCuis, err := s.GetEmpresasConCuisMinimal(dbCtx)
|
|
// if err != nil {
|
|
// return nil, s.LogError("Error al obtener empresas con CUIS: %v", err)
|
|
// }
|
|
//
|
|
// var lastResponse interface{}
|
|
// for _, ec := range empresasConCuis {
|
|
// s.LogMessage("Procesando empresa ID: %d", ec.ID)
|
|
//
|
|
// if len(ec.Cuis) == 0 {
|
|
// s.LogMessage("Empresa ID %d sin CUIS registrados", ec.ID)
|
|
// continue
|
|
// }
|
|
//
|
|
// for _, c := range ec.Cuis {
|
|
// s.LogMessage("Procesando CUIS ID: %d", c.Cuis_id)
|
|
//
|
|
// cuisRequest := s.buildCuisRequestFromEmpresa(ec)
|
|
// respCuis, err := codigoProcesarRegistro(&s.CuisServiceModel, cuisRequest, 0)
|
|
//
|
|
// if err != nil {
|
|
// s.LogError(logErrorProcessing, err, cuisRequest.CodigoSistema)
|
|
// continue
|
|
// }
|
|
//
|
|
// if err := s.actualizarRegistro(dbCtx, ec.ID, c.Cuis_id, cuisRequest, respCuis); err != nil {
|
|
// s.LogError("Error actualizando registro: %v", err)
|
|
// continue
|
|
// }
|
|
//
|
|
// lastResponse = respCuis
|
|
// }
|
|
// }
|
|
//
|
|
// return lastResponse, nil
|
|
//}
|
|
//
|
|
//// procesa la ejecución en modo API
|
|
//func (s *ObtencionCodigoService) processAPIMode(dbCtx context.Context, w http.ResponseWriter, req *http.Request) (interface{}, error) {
|
|
// cuisRequest, err := s.parseCuisRequest(w, req)
|
|
// if err != nil {
|
|
// return nil, err
|
|
// }
|
|
//
|
|
// if err := s.validateCuisRequest(cuisRequest); err != nil {
|
|
// return nil, s.LogError("Datos inválidos: %v", err)
|
|
// }
|
|
//
|
|
// respCuis, err := codigoProcesarRegistro(&s.CuisServiceModel, cuisRequest, 0)
|
|
// if err != nil {
|
|
// return nil, s.LogError(logErrorProcessing, err, cuisRequest.CodigoSistema)
|
|
// }
|
|
//
|
|
// if err := s.crearNuevoRegistro(dbCtx, cuisRequest, respCuis); err != nil {
|
|
// return nil, s.LogError("Error creando nuevo registro: %v", err)
|
|
// }
|
|
//
|
|
// return respCuis, nil
|
|
//}
|
|
//
|
|
//// parsea la solicitud de CUIS desde el body del request
|
|
//func (s *ObtencionCodigoService) parseCuisRequest(w http.ResponseWriter, req *http.Request) (request.SolicitudCuis, error) {
|
|
// var cuisRequest request.SolicitudCuis
|
|
//
|
|
// // Limitar el tamaño del body para prevenir ataques DoS
|
|
// req.Body = http.MaxBytesReader(w, req.Body, maxBodySize)
|
|
//
|
|
// decoder := json.NewDecoder(req.Body)
|
|
// decoder.DisallowUnknownFields() // Rechazar campos desconocidos
|
|
//
|
|
// if err := decoder.Decode(&cuisRequest); err != nil {
|
|
// return cuisRequest, s.LogError("Error al decodificar JSON: %v", err)
|
|
// }
|
|
//
|
|
// return cuisRequest, nil
|
|
//}
|
|
//
|
|
//// valida los datos de la solicitud CUIS
|
|
//func (s *ObtencionCodigoService) validateCuisRequest(request request.SolicitudCuis) error {
|
|
// if request.CodigoAmbiente == "" ||
|
|
// request.CodigoModalidad == "" ||
|
|
// request.CodigoPuntoVenta == "" ||
|
|
// request.CodigoSistema == "" ||
|
|
// request.CodigoSucursal == "" ||
|
|
// request.Nit == "" {
|
|
// return ErrAllFieldsRequired
|
|
// }
|
|
// return nil
|
|
//}
|