• 28-06-2022, 11:45:45
    #1
    Öncelikle herkese selamlar

    Bir b2b sistem yönetmekteyim ve 5 farklı pazar yerinden istekler almaktayım. Bazen verilerin hatalı işlenmesi ve ürün tedariğinde yaşadığım sıkıntıları incelediğimde fark ettiğim kadarıyla aynı anda gelen rezarvasyon isteklerini diğer işlemler tamamlanmadığından dolayı yanlış olarak işlemekte. Bu yüzden sistemimdeki kurguyu değiştirmeyi ve yeni mimari arayışı içerisindeyim bu yüzden neler yapabiliriz diye sizlerle beyin fırtınası yapmak istiyorum.

    Eklediğim resimde olması gereken hepsinin aynı rezervasyon_id'sine sahip olması ve hepsinin farklı key_id'ye sahip olması lazımdı. Fakat ilk istek veritabanına yazılmadan diğer istekler gerçekleştiği için ve keyin statusu güncellenmeden diğer istek işlendiği için farklı rezarvasyon oluşturup aynı keyi 2 farklı rezarvasyona almış. Sizce neler yapılabilir. Tek bir stoğu farklı farklı pazaryerlerinde eş zamanlı olarak nasıl pazarlayabilirim.

  • 28-06-2022, 11:50:34
    #2
    Sql veritabanı ile çalışan sistemlerde gerçek zamanlı veri akışı olmadığı için,sayfa ilk yüklendiğinde gelen veri varsayılan olarak kabul edilmektedir.

    Bunun için en iyi yöntem rezervasyon butonuna tıklanınca id'nin db üzerinde sorgulanması ve varsa +1 olarak veritabanına kayıt edilmesidir. Başka yöntemlerde vardır ana bu en kolay ve temiz olanı.
  • 28-06-2022, 11:52:27
    #3
    Breakupsong adlı üyeden alıntı: mesajı görüntüle
    Sql veritabanı ile çalışan sistemlerde gerçek zamanlı veri akışı olmadığı için,sayfa ilk yüklendiğinde gelen veri varsayılan olarak kabul edilmektedir.

    Bunun için en iyi yöntem rezervasyon butonuna tıklanınca id'nin db üzerinde sorgulanması ve varsa +1 olarak veritabanına kayıt edilmesidir. Başka yöntemlerde vardır ana bu en kolay ve temiz olanı.
    Bu kısım da bir rezarvasyon sayfası yüklenmiyor hocam hazırladığım endpointe bir istek geliyor
  • 28-06-2022, 11:56:29
    #4
    dev
    Kurumsal Üye
    ibrahimyakutt adlı üyeden alıntı: mesajı görüntüle
    Öncelikle herkese selamlar

    Bir b2b sistem yönetmekteyim ve 5 farklı pazar yerinden istekler almaktayım. Bazen verilerin hatalı işlenmesi ve ürün tedariğinde yaşadığım sıkıntıları incelediğimde fark ettiğim kadarıyla aynı anda gelen rezarvasyon isteklerini diğer işlemler tamamlanmadığından dolayı yanlış olarak işlemekte. Bu yüzden sistemimdeki kurguyu değiştirmeyi ve yeni mimari arayışı içerisindeyim bu yüzden neler yapabiliriz diye sizlerle beyin fırtınası yapmak istiyorum.

    Eklediğim resimde olması gereken hepsinin aynı rezervasyon_id'sine sahip olması ve hepsinin farklı key_id'ye sahip olması lazımdı. Fakat ilk istek veritabanına yazılmadan diğer istekler gerçekleştiği için ve keyin statusu güncellenmeden diğer istek işlendiği için farklı rezarvasyon oluşturup aynı keyi 2 farklı rezarvasyona almış. Sizce neler yapılabilir. Tek bir stoğu farklı farklı pazaryerlerinde eş zamanlı olarak nasıl pazarlayabilirim.

    • Islemleri kuyruga atip bir bir isleyerek.
    • Duplicate kayit istemiyorsaniz unique key kullananin.
  • 28-06-2022, 11:58:44
    #5
    İlgili key_id alanını unique olarak validate edebilirsiniz eğer kayıt varsa hata döndürür.
  • 28-06-2022, 12:08:30
    #6
    ibrahimyakutt adlı üyeden alıntı: mesajı görüntüle
    Bu kısım da bir rezarvasyon sayfası yüklenmiyor hocam hazırladığım endpointe bir istek geliyor
    O halde isteği server tarafında işyelen sayfaya bir sorgu eklemeniz gerek. key_id böylece özgün ve tek taraflı olur. Php olarak göstermeye çalışayım.

    $keyidmiz;
    $result = $baglanti->query("SELECT id,reserve_id FROM rezervasyonlar WHERE key_id ='$keyidmiz '");
    
    $duplicateveriidsi = array();
    
    
    if ($result->num_rows > 1) {
    
    
        while($row = $result->fetch_assoc()) {
    
    array_push($duplicateveriidsi , $row["id"]);
    
    }
    
    }
    Bu kod ile ayni key_id 'ye sahip bütün sütünlar bir array içerisinde toplanmış olur. Buradan sonra başka bir fonksyon çalıştırarak, her key_id'yi özgün olacak şekilde ilgili id sütünlarına güncelleyebilirsiniz.

    Ben yazılımsal olarak sundum,yukarıda yazılan uniq id diğer bir yöntem. Bunun için tablonuzu baştan oluşturup sql sorgusunda o kısmı uniq olarak belirlemeniz gerek.
  • 28-06-2022, 12:22:35
    #7
    Breakupsong adlı üyeden alıntı: mesajı görüntüle
    O halde isteği server tarafında işyelen sayfaya bir sorgu eklemeniz gerek. key_id böylece özgün ve tek taraflı olur. Php olarak göstermeye çalışayım.

    $keyidmiz;
    $result = $baglanti->query("SELECT id,reserve_id FROM rezervasyonlar WHERE key_id ='$keyidmiz '");
    
    $duplicateveriidsi = array();
    
    
    if ($result->num_rows > 1) {
    
    
        while($row = $result->fetch_assoc()) {
    
    array_push($duplicateveriidsi , $row["id"]);
    
    }
    
    }
    Bu kod ile ayni key_id 'ye sahip bütün sütünlar bir array içerisinde toplanmış olur. Buradan sonra başka bir fonksyon çalıştırarak, her key_id'yi özgün olacak şekilde ilgili id sütünlarına güncelleyebilirsiniz.

    Ben yazılımsal olarak sundum,yukarıda yazılan uniq id diğer bir yöntem. Bunun için tablonuzu baştan oluşturup sql sorgusunda o kısmı uniq olarak belirlemeniz gerek.

    Teşekkürler çok sağolun.