change product list to retrieve its data from product outlets

This commit is contained in:
2026-05-13 23:15:09 +07:00
parent 3b62504798
commit 5f379faf17
6 changed files with 49 additions and 3 deletions
@@ -14,6 +14,7 @@ type ProductOutletPriceRepository interface {
GetByProductAndOutlet(ctx context.Context, productID, outletID uuid.UUID) (*entities.ProductOutletPrice, error)
GetByProduct(ctx context.Context, productID uuid.UUID) ([]*entities.ProductOutletPrice, error)
GetByOutlet(ctx context.Context, outletID uuid.UUID) ([]*entities.ProductOutletPrice, error)
GetByProductsAndOutlet(ctx context.Context, productIDs []uuid.UUID, outletID uuid.UUID) ([]*entities.ProductOutletPrice, error)
Upsert(ctx context.Context, price *entities.ProductOutletPrice) error
Delete(ctx context.Context, id uuid.UUID) error
GetByID(ctx context.Context, id uuid.UUID) (*entities.ProductOutletPrice, error)
@@ -69,3 +70,9 @@ func (r *ProductOutletPriceRepositoryImpl) GetByID(ctx context.Context, id uuid.
}
return &price, nil
}
func (r *ProductOutletPriceRepositoryImpl) GetByProductsAndOutlet(ctx context.Context, productIDs []uuid.UUID, outletID uuid.UUID) ([]*entities.ProductOutletPrice, error) {
var prices []*entities.ProductOutletPrice
err := r.db.WithContext(ctx).Where("product_id IN ? AND outlet_id = ?", productIDs, outletID).Find(&prices).Error
return prices, err
}