SamiKoen commited on
Commit
0c8edbd
·
verified ·
1 Parent(s): dae8b66

DSW depo mantığı eklendi - gelecek stok bilgisi

Browse files
Files changed (1) hide show
  1. app.py +20 -2
app.py CHANGED
@@ -73,11 +73,15 @@ def get_realtime_stock(product_name):
73
  # Her mağazanın stok bilgisini topla
74
  stock_info = {}
75
  total_stock = 0
 
76
 
77
  for warehouse in warehouses:
78
  warehouse_id = warehouse['id']
79
  warehouse_name = warehouse['title']
80
 
 
 
 
81
  # Mağaza stoklarını al - endpoint parametresi eklendi
82
  inventory_url = f"{STOCK_API_BASE}?action=inventory&warehouse={warehouse_id}&endpoint=inventory/{warehouse_id}"
83
  inventory_response = requests.get(inventory_url, timeout=5, verify=False)
@@ -107,6 +111,12 @@ def get_realtime_stock(product_name):
107
  actual_stock = max(qty, stock) # İkisinden büyük olanı al
108
 
109
  if actual_stock > 0:
 
 
 
 
 
 
110
  # Varyant detayını sakla (beden/renk bilgisi için)
111
  # Ürün adını temizle - Türkçe karakterleri de dikkate al
112
  variant_info = original_title
@@ -138,11 +148,16 @@ def get_realtime_stock(product_name):
138
  warehouse_variants.append(f"{original_title}: ✓ Stokta")
139
  total_stock += actual_stock
140
 
141
- if warehouse_variants:
 
142
  stock_info[warehouse_name] = warehouse_variants
143
 
144
  if not stock_info:
145
- return f"{product_name}: Şu anda hiçbir mağazada stokta bulunmuyor."
 
 
 
 
146
 
147
  # Minimal prompt oluştur - varyant detaylarıyla
148
  prompt_lines = [f"{product_name} stok durumu:"]
@@ -158,6 +173,9 @@ def get_realtime_stock(product_name):
158
  # Güvenlik: Toplam adet bilgisi gösterme
159
  if total_stock > 0:
160
  prompt_lines.append(f"✓ Ürün stokta mevcut")
 
 
 
161
  else:
162
  prompt_lines.append(f"✗ Stokta yok")
163
 
 
73
  # Her mağazanın stok bilgisini topla
74
  stock_info = {}
75
  total_stock = 0
76
+ dsw_stock = 0 # DSW deposundaki gelecek stok
77
 
78
  for warehouse in warehouses:
79
  warehouse_id = warehouse['id']
80
  warehouse_name = warehouse['title']
81
 
82
+ # DSW'yi ayrı tut (gelecek stok için)
83
+ is_dsw = 'DSW' in warehouse_name or 'ÖN SİPARİŞ' in warehouse_name.upper()
84
+
85
  # Mağaza stoklarını al - endpoint parametresi eklendi
86
  inventory_url = f"{STOCK_API_BASE}?action=inventory&warehouse={warehouse_id}&endpoint=inventory/{warehouse_id}"
87
  inventory_response = requests.get(inventory_url, timeout=5, verify=False)
 
111
  actual_stock = max(qty, stock) # İkisinden büyük olanı al
112
 
113
  if actual_stock > 0:
114
+ # DSW ise gelecek stok olarak say
115
+ if is_dsw:
116
+ dsw_stock += actual_stock
117
+ continue # DSW'yi mağaza listesine ekleme
118
+
119
+ # Normal mağaza stoğu
120
  # Varyant detayını sakla (beden/renk bilgisi için)
121
  # Ürün adını temizle - Türkçe karakterleri de dikkate al
122
  variant_info = original_title
 
148
  warehouse_variants.append(f"{original_title}: ✓ Stokta")
149
  total_stock += actual_stock
150
 
151
+ # DSW değilse mağaza listesine ekle
152
+ if warehouse_variants and not is_dsw:
153
  stock_info[warehouse_name] = warehouse_variants
154
 
155
  if not stock_info:
156
+ # Mağazada yok ama DSW'de varsa
157
+ if dsw_stock > 0:
158
+ return f"{product_name}: Şu anda mağazalarda stokta yok, ancak yakında gelecek. Ön sipariş verebilirsiniz."
159
+ else:
160
+ return f"{product_name}: Şu anda hiçbir mağazada stokta bulunmuyor."
161
 
162
  # Minimal prompt oluştur - varyant detaylarıyla
163
  prompt_lines = [f"{product_name} stok durumu:"]
 
173
  # Güvenlik: Toplam adet bilgisi gösterme
174
  if total_stock > 0:
175
  prompt_lines.append(f"✓ Ürün stokta mevcut")
176
+ # Eğer DSW'de de stok varsa ve mağaza stoğu azsa belirt
177
+ if dsw_stock > 0 and len(stock_info) <= 2: # 2 veya daha az mağazada varsa
178
+ prompt_lines.append(f"ℹ️ Yakında daha fazla stok gelecek")
179
  else:
180
  prompt_lines.append(f"✗ Stokta yok")
181