292 lines
8.5 KiB
Go
292 lines
8.5 KiB
Go
![]() |
package logging
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"time"
|
||
|
|
||
|
"git.espin.casa/albert/cml04-plb018/internal/service"
|
||
|
"git.espin.casa/albert/cml04-plb018/internal/types"
|
||
|
"git.espin.casa/albert/logger"
|
||
|
)
|
||
|
|
||
|
type Logging struct {
|
||
|
log logger.LoggerAdapter
|
||
|
next service.IService
|
||
|
}
|
||
|
|
||
|
// NroPaqueteActual implements service.IService.
|
||
|
func (l *Logging) NroPaqueteActual(ctx context.Context, req *types.NroPaqueteActualReq) (res *types.NroPaqueteActualRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("Nro paquete actual failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("Nro paquete actual success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.NroPaqueteActual(ctx, req)
|
||
|
|
||
|
}
|
||
|
|
||
|
// NroPaqueteSiguiente implements service.IService.
|
||
|
func (l *Logging) NroPaqueteSiguiente(ctx context.Context, req *types.NroPaqueteSiguienteReq) (res *types.NroPaqueteSiguienteRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("Nro paquete siguiente failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("Nro paquete siguiente success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.NroPaqueteSiguiente(ctx, req)
|
||
|
}
|
||
|
|
||
|
// ImprimirPaqueteRobot implements service.IService.
|
||
|
func (l *Logging) ImprimirPaqueteRobot(ctx context.Context, req *types.ImprimirPaqueteReq) (res *types.ImprimirPaqueteRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"nro_matricula": req.DatosEtiqueta.NroMatricula,
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("Imprimir paquete robot failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("Imprimir paquete robot success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.ImprimirPaqueteRobot(ctx, req)
|
||
|
}
|
||
|
|
||
|
// Paquete implements service.IService.
|
||
|
func (l *Logging) Paquete(ctx context.Context, req *types.PaqueteReq) (res *types.PaqueteRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"codigo_etiqueta": req.Codigo,
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("Paquete failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("Paquete success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.Paquete(ctx, req)
|
||
|
}
|
||
|
|
||
|
// Paquetes implements service.IService.
|
||
|
func (l *Logging) Paquetes(ctx context.Context, req *types.PaquetesReq) (res *types.PaquetesRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"inicio": req.Inicio,
|
||
|
"final": req.Final,
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("Paquetes failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("Paquetes success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.Paquetes(ctx, req)
|
||
|
}
|
||
|
|
||
|
// Etiqueta implements service.IService.
|
||
|
func (l *Logging) Etiqueta(ctx context.Context, req *types.EtiquetaReq) (res *types.EtiquetaRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"codigo_etiqueta": req.Codigo,
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("Etiqueta failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("Etiqueta success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.Etiqueta(ctx, req)
|
||
|
}
|
||
|
|
||
|
// Etiquetas implements service.IService.
|
||
|
func (l *Logging) Etiquetas(ctx context.Context, req *types.EtiquetasReq) (res *types.EtiquetasRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("Etiquetas failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("Etiquetas success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.Etiquetas(ctx, req)
|
||
|
}
|
||
|
|
||
|
// SalvarEtiqueta implements service.IService.
|
||
|
func (l *Logging) SalvarEtiqueta(ctx context.Context, req *types.SalvarEtiquetaReq) (res *types.SalvarEtiquetaRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"codigo_etiqueta": req.Etiqueta.Codigo,
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("SalvarEtiqueta failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("SalvarEtiqueta success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.SalvarEtiqueta(ctx, req)
|
||
|
}
|
||
|
|
||
|
// SalvarImpresora implements service.IService.
|
||
|
func (l *Logging) SalvarImpresora(ctx context.Context, req *types.SalvarImpresoraReq) (res *types.SalvarImpresoraRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"id_impresora": req.Impresora.ID,
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("SalvarImpresora failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("SalvarImpresora success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.SalvarImpresora(ctx, req)
|
||
|
}
|
||
|
|
||
|
// Impresora implements service.IService.
|
||
|
func (l *Logging) Impresora(ctx context.Context, req *types.ImpresoraReq) (res *types.ImpresoraRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"id_impresora": req.ID,
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("Impresora failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("Impresora success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.Impresora(ctx, req)
|
||
|
}
|
||
|
|
||
|
// Impresoras implements service.IService.
|
||
|
func (l *Logging) Impresoras(ctx context.Context, req *types.ImpresorasReq) (res *types.ImpresorasRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("Impresoras failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("Impresoras success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.Impresoras(ctx, req)
|
||
|
}
|
||
|
|
||
|
// OrdenesProduccion implements service.IService.
|
||
|
func (l *Logging) OrdenesProduccion(ctx context.Context, req *types.OrdenesProduccionReq) (res *types.OrdenesProduccionRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"limit": req.Limit,
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("OrdenesProduccion failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("OrdenesProduccion success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.OrdenesProduccion(ctx, req)
|
||
|
}
|
||
|
|
||
|
// OrdenCliente implements service.IService.
|
||
|
func (l *Logging) OrdenCliente(ctx context.Context, req *types.OrdenClienteReq) (res *types.OrdenClienteRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"co_id": req.CoID,
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("OrdenCliente failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("OrdenCliente success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.OrdenCliente(ctx, req)
|
||
|
}
|
||
|
|
||
|
// OrdenProduccion implements service.IService.
|
||
|
func (l *Logging) OrdenProduccion(ctx context.Context, req *types.OrdenProduccionReq) (res *types.OrdenProduccionRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"po_id": req.PoID,
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("OrdenProduccion failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("OrdenProduccion success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.OrdenProduccion(ctx, req)
|
||
|
}
|
||
|
|
||
|
// OrdenesCliente implements service.IService.
|
||
|
func (l *Logging) OrdenesCliente(ctx context.Context, req *types.OrdenesClienteReq) (res *types.OrdenesClienteRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"po_id": req.PoID,
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("OrdenesCliente failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("OrdenesCliente success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.OrdenesCliente(ctx, req)
|
||
|
}
|
||
|
|
||
|
// Normas implements service.IService.
|
||
|
func (l *Logging) Normas(ctx context.Context, req *types.NormasReq) (res *types.NormasRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"code": req.Codigo,
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("Normas failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("Normas success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.Normas(ctx, req)
|
||
|
}
|
||
|
|
||
|
// ImprimirPaquete implements service.IService.
|
||
|
func (l *Logging) ImprimirPaquete(ctx context.Context, req *types.ImprimirPaqueteReq) (res *types.ImprimirPaqueteRes, err error) {
|
||
|
defer func(start time.Time) {
|
||
|
logFields := logger.LogFields{
|
||
|
"took": time.Since(start),
|
||
|
}
|
||
|
if err != nil {
|
||
|
l.log.Error("imprimir etiqueta failed", err, logFields)
|
||
|
} else {
|
||
|
l.log.Info("imprimir etiqueta success", logFields)
|
||
|
}
|
||
|
}(time.Now())
|
||
|
return l.next.ImprimirPaquete(ctx, req)
|
||
|
}
|
||
|
|
||
|
func NewLogging(svc service.IService, log logger.LoggerAdapter) service.IService {
|
||
|
return &Logging{
|
||
|
log: log,
|
||
|
next: svc,
|
||
|
}
|
||
|
}
|