Revert "add filter order by outlet id"

This reverts commit a89ff00d94.
This commit is contained in:
2026-05-14 15:28:45 +07:00
parent a89ff00d94
commit 44aca7641f
5 changed files with 114 additions and 163 deletions
+31 -49
View File
@@ -13,20 +13,19 @@ import (
type OrderRepository interface {
Create(ctx context.Context, order *entities.Order) error
GetByID(ctx context.Context, id uuid.UUID, outletID uuid.UUID) (*entities.Order, error)
GetWithRelations(ctx context.Context, id uuid.UUID, outletID uuid.UUID) (*entities.Order, error)
GetByID(ctx context.Context, id uuid.UUID) (*entities.Order, error)
GetWithRelations(ctx context.Context, id uuid.UUID) (*entities.Order, error)
Update(ctx context.Context, order *entities.Order) error
Delete(ctx context.Context, id uuid.UUID) error
List(ctx context.Context, filters map[string]interface{}, limit, offset int) ([]*entities.Order, int64, error)
ListBySessionID(ctx context.Context, sessionID string) ([]*entities.Order, error)
GetByOrderNumber(ctx context.Context, orderNumber string) (*entities.Order, error)
ExistsByOrderNumber(ctx context.Context, orderNumber string) (bool, error)
VoidOrder(ctx context.Context, id uuid.UUID, reason string, voidedBy uuid.UUID, outletID uuid.UUID) error
VoidOrderWithStatus(ctx context.Context, id uuid.UUID, status entities.OrderStatus, reason string, voidedBy uuid.UUID, outletID uuid.UUID) error
RefundOrder(ctx context.Context, id uuid.UUID, reason string, refundedBy uuid.UUID, outletID uuid.UUID) error
UpdatePaymentStatus(ctx context.Context, id uuid.UUID, status entities.PaymentStatus, outletID uuid.UUID) error
UpdateStatus(ctx context.Context, id uuid.UUID, status entities.OrderStatus, outletID uuid.UUID) error
UpdateStatusSuccess(ctx context.Context, id uuid.UUID, orderStatus entities.OrderStatus, paymentStatus entities.PaymentStatus, outletID uuid.UUID) error
VoidOrder(ctx context.Context, id uuid.UUID, reason string, voidedBy uuid.UUID) error
VoidOrderWithStatus(ctx context.Context, id uuid.UUID, status entities.OrderStatus, reason string, voidedBy uuid.UUID) error
RefundOrder(ctx context.Context, id uuid.UUID, reason string, refundedBy uuid.UUID) error
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)
}
@@ -44,27 +43,18 @@ func (r *OrderRepositoryImpl) Create(ctx context.Context, order *entities.Order)
return r.db.WithContext(ctx).Create(order).Error
}
func applyOutletFilter(query *gorm.DB, outletID uuid.UUID) *gorm.DB {
if outletID != uuid.Nil {
return query.Where("outlet_id = ?", outletID)
}
return query
}
func (r *OrderRepositoryImpl) GetByID(ctx context.Context, id uuid.UUID, outletID uuid.UUID) (*entities.Order, error) {
func (r *OrderRepositoryImpl) GetByID(ctx context.Context, id uuid.UUID) (*entities.Order, error) {
var order entities.Order
query := r.db.WithContext(ctx)
query = applyOutletFilter(query, outletID)
err := query.First(&order, "id = ?", id).Error
err := r.db.WithContext(ctx).First(&order, "id = ?", id).Error
if err != nil {
return nil, err
}
return &order, nil
}
func (r *OrderRepositoryImpl) GetWithRelations(ctx context.Context, id uuid.UUID, outletID uuid.UUID) (*entities.Order, error) {
func (r *OrderRepositoryImpl) GetWithRelations(ctx context.Context, id uuid.UUID) (*entities.Order, error) {
var order entities.Order
query := r.db.WithContext(ctx).
err := r.db.WithContext(ctx).
Preload("Organization").
Preload("Outlet").
Preload("User").
@@ -73,9 +63,8 @@ func (r *OrderRepositoryImpl) GetWithRelations(ctx context.Context, id uuid.UUID
Preload("OrderItems.ProductVariant").
Preload("Payments").
Preload("Payments.PaymentMethod").
Preload("Payments.PaymentOrderItems")
query = applyOutletFilter(query, outletID)
err := query.First(&order, "id = ?", id).Error
Preload("Payments.PaymentOrderItems").
First(&order, "id = ?", id).Error
if err != nil {
return nil, err
}
@@ -91,12 +80,10 @@ func (r *OrderRepositoryImpl) UpdateStatusSuccess(
id uuid.UUID,
orderStatus entities.OrderStatus,
paymentStatus entities.PaymentStatus,
outletID uuid.UUID,
) error {
query := r.db.WithContext(ctx).
Model(&entities.Order{})
query = applyOutletFilter(query, outletID)
return query.Where("id = ?", id.String()).
return r.db.WithContext(ctx).
Model(&entities.Order{}).
Where("id = ?", id.String()).
Updates(map[string]interface{}{
"status": orderStatus,
"payment_status": paymentStatus,
@@ -177,11 +164,10 @@ func (r *OrderRepositoryImpl) ExistsByOrderNumber(ctx context.Context, orderNumb
return count > 0, err
}
func (r *OrderRepositoryImpl) VoidOrder(ctx context.Context, id uuid.UUID, reason string, voidedBy uuid.UUID, outletID uuid.UUID) error {
func (r *OrderRepositoryImpl) VoidOrder(ctx context.Context, id uuid.UUID, reason string, voidedBy uuid.UUID) error {
now := time.Now()
query := r.db.WithContext(ctx).Model(&entities.Order{})
query = applyOutletFilter(query, outletID)
return query.Where("id = ?", id).
return r.db.WithContext(ctx).Model(&entities.Order{}).
Where("id = ?", id).
Updates(map[string]interface{}{
"is_void": true,
"void_reason": reason,
@@ -190,11 +176,10 @@ func (r *OrderRepositoryImpl) VoidOrder(ctx context.Context, id uuid.UUID, reaso
}).Error
}
func (r *OrderRepositoryImpl) VoidOrderWithStatus(ctx context.Context, id uuid.UUID, status entities.OrderStatus, reason string, voidedBy uuid.UUID, outletID uuid.UUID) error {
func (r *OrderRepositoryImpl) VoidOrderWithStatus(ctx context.Context, id uuid.UUID, status entities.OrderStatus, reason string, voidedBy uuid.UUID) error {
now := time.Now()
query := r.db.WithContext(ctx).Model(&entities.Order{})
query = applyOutletFilter(query, outletID)
return query.Where("id = ?", id).
return r.db.WithContext(ctx).Model(&entities.Order{}).
Where("id = ?", id).
Updates(map[string]interface{}{
"status": status,
"is_void": true,
@@ -204,11 +189,10 @@ func (r *OrderRepositoryImpl) VoidOrderWithStatus(ctx context.Context, id uuid.U
}).Error
}
func (r *OrderRepositoryImpl) RefundOrder(ctx context.Context, id uuid.UUID, reason string, refundedBy uuid.UUID, outletID uuid.UUID) error {
func (r *OrderRepositoryImpl) RefundOrder(ctx context.Context, id uuid.UUID, reason string, refundedBy uuid.UUID) error {
now := time.Now()
query := r.db.WithContext(ctx).Model(&entities.Order{})
query = applyOutletFilter(query, outletID)
return query.Where("id = ?", id).
return r.db.WithContext(ctx).Model(&entities.Order{}).
Where("id = ?", id).
Updates(map[string]interface{}{
"is_refund": true,
"refund_reason": reason,
@@ -217,17 +201,15 @@ func (r *OrderRepositoryImpl) RefundOrder(ctx context.Context, id uuid.UUID, rea
}).Error
}
func (r *OrderRepositoryImpl) UpdatePaymentStatus(ctx context.Context, id uuid.UUID, status entities.PaymentStatus, outletID uuid.UUID) error {
query := r.db.WithContext(ctx).Model(&entities.Order{})
query = applyOutletFilter(query, outletID)
return query.Where("id = ?", id).
func (r *OrderRepositoryImpl) UpdatePaymentStatus(ctx context.Context, id uuid.UUID, status entities.PaymentStatus) error {
return r.db.WithContext(ctx).Model(&entities.Order{}).
Where("id = ?", id).
Update("payment_status", status).Error
}
func (r *OrderRepositoryImpl) UpdateStatus(ctx context.Context, id uuid.UUID, status entities.OrderStatus, outletID uuid.UUID) error {
query := r.db.WithContext(ctx).Model(&entities.Order{})
query = applyOutletFilter(query, outletID)
return query.Where("id = ?", id).
func (r *OrderRepositoryImpl) UpdateStatus(ctx context.Context, id uuid.UUID, status entities.OrderStatus) error {
return r.db.WithContext(ctx).Model(&entities.Order{}).
Where("id = ?", id).
Update("status", status).Error
}