feature/outlet-table #10
@ -27,7 +27,6 @@ type OrderRepository interface {
|
||||
UpdatePaymentStatus(ctx context.Context, id uuid.UUID, status entities.PaymentStatus) error
|
||||
UpdateStatus(ctx context.Context, id uuid.UUID, status entities.OrderStatus) error
|
||||
GetNextOrderNumber(ctx context.Context, organizationID, outletID uuid.UUID) (string, error)
|
||||
ListByOutletID(ctx context.Context, outletID uuid.UUID, limit, offset int) ([]*entities.Order, int64, error)
|
||||
}
|
||||
|
||||
type OrderRepositoryImpl struct {
|
||||
@ -271,27 +270,3 @@ func (r *OrderRepositoryImpl) GetNextOrderNumber(ctx context.Context, organizati
|
||||
orderNumber := fmt.Sprintf("ORD/%04d%02d/%06d", year, month, sequence.SequenceNumber)
|
||||
return orderNumber, nil
|
||||
}
|
||||
|
||||
func (r *OrderRepositoryImpl) ListByOutletID(ctx context.Context, outletID uuid.UUID, limit, offset int) ([]*entities.Order, int64, error) {
|
||||
var orders []*entities.Order
|
||||
var total int64
|
||||
|
||||
query := r.db.WithContext(ctx).Model(&entities.Order{}).
|
||||
Preload("Organization").
|
||||
Preload("Outlet").
|
||||
Preload("User").
|
||||
Preload("OrderItems").
|
||||
Preload("OrderItems.Product").
|
||||
Preload("OrderItems.ProductVariant").
|
||||
Preload("Payments").
|
||||
Preload("Payments.PaymentMethod").
|
||||
Preload("Payments.PaymentOrderItems").
|
||||
Where("outlet_id = ?", outletID)
|
||||
|
||||
if err := query.Count(&total).Error; err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
err := query.Limit(limit).Offset(offset).Order("created_at DESC").Find(&orders).Error
|
||||
return orders, total, err
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user