42 lines
1.4 KiB
Go
42 lines
1.4 KiB
Go
package order
|
|
|
|
import (
|
|
"enaklo-pos-be/internal/common/logger"
|
|
"enaklo-pos-be/internal/common/mycontext"
|
|
"enaklo-pos-be/internal/entity"
|
|
"github.com/pkg/errors"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
func (s *orderSvc) GetOrderHistory(ctx mycontext.Context, partnerID int64, request entity.SearchRequest) ([]*entity.Order, int64, error) {
|
|
return s.repo.GetOrderHistoryByPartnerID(ctx, partnerID, request)
|
|
}
|
|
|
|
func (s *orderSvc) GetCustomerOrderHistory(ctx mycontext.Context, userID int64, request entity.SearchRequest) ([]*entity.Order, int64, error) {
|
|
return s.repo.GetOrderHistoryByUserID(ctx, userID, request)
|
|
}
|
|
|
|
func (s *orderSvc) GetOrderByOrderAndCustomerID(ctx mycontext.Context, customerID int64, orderID int64) (*entity.Order, error) {
|
|
orders, err := s.repo.FindByIDAndCustomerID(ctx, orderID, customerID)
|
|
if err != nil {
|
|
logger.ContextLogger(ctx).Error("failed to get in-progress orders by partner ID",
|
|
zap.Error(err),
|
|
zap.Int64("customerID", customerID))
|
|
return nil, errors.Wrap(err, "failed to get order")
|
|
}
|
|
|
|
return orders, nil
|
|
}
|
|
|
|
func (s *orderSvc) GetOrderByID(ctx mycontext.Context, orderID int64) (*entity.Order, error) {
|
|
order, err := s.repo.FindByID(ctx, orderID)
|
|
if err != nil {
|
|
logger.ContextLogger(ctx).Error("failed to get order by ID",
|
|
zap.Error(err),
|
|
zap.Int64("orderID", orderID))
|
|
return nil, errors.Wrap(err, "failed to get order")
|
|
}
|
|
|
|
return order, nil
|
|
}
|