rechtstexte für onlineshop
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Gutschein wird mehrfach versendet.

    Schreinermeister

    • Fördermitglied
    • Beiträge: 415
    • Geschlecht:
    Gutschein wird mehrfach versendet.
    am: 20. Januar 2013, 18:00:31
    Hallo an alle Modifier

    Version 1.05d

    Ich habe das Problem das Gutscheine gelegentlich mehrfach versendet werden.

    z.B.
    Ich möchte einen Gutschein an Mister@xy.de versenden. Nach dem Abschicken erscheinen
    bis zu fünf Gutscheine mit unterschiedlichen Gutscheincodes bei "Versandte Gutscheine".  :-x

    Ich kann die überzähligen Gutscheine zwar löschen, muss aber dem Kunden aufwendig erklären welchen Gutschein er nutzen soll.

    Kennt jemand das "Problem" ?

    Gruß Chris



    Linkback: https://www.modified-shop.org/forum/index.php?topic=24282.0
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    jpx10

    • Frisch an Board
    • Beiträge: 78
    Re: Gutschein wird mehrfach versendet.
    Antwort #1 am: 03. August 2013, 10:24:16
    Genau den selben Bug hatte ich gestern auch festgestellt. Ich vermute folgendes Problem. In meinem Shop können Kunden auch ein einmaliges Gastkonto erstellen. Dieses wird nach der Bestellung nicht automatisch gelöscht, sondern erst wenn der Kunde alle Rechnungen bezahlt hat. Ich glaube das Gutscheinmodul hat genau da ein Problem, weil der jeweilige Kunde dadurch mehrmals geführt wird. Aus diesem Grund können auch mehrere EMails raus. An einem Fix wäre auch ich interessiert.

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Re: Gutschein wird mehrfach versendet.
    Antwort #2 am: 03. August 2013, 13:02:31
    Hallo jpx10,

    welche Shopversion setzt du ein?
    Kannst du das Problem im aktuellen Demoshop nachstellen?

    Schöne Grüße,
    Jan

    fishnet

    • Fördermitglied
    • Beiträge: 4.821
    • Geschlecht:
    Re: Gutschein wird mehrfach versendet.
    Antwort #3 am: 07. Dezember 2014, 15:04:43
    Sehr merkwürdig das dieses Problem nicht schon mehrmals behandelt wurde. Gerade bei 1.05 Shop kam es doch recht häufig vor ? Ich habe das jetzt gerade bei einem 1.06 rev 4642 SP1 Shop erlebt. Hat das sonst keiner ??

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Gutschein wird mehrfach versendet.
    Antwort #4 am: 07. Dezember 2014, 22:04:10
    Hallo zusammen,
    danke für die genaue Fehlerbeschreibung.

    Hier ein Lösungsansatz:

    admin/gv_mail.php
    suche:
    Code: PHP  [Auswählen]
        switch ($_POST['customers_email_address']) {
          case '***':
            $mail_query = xtc_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS);
            $mail_sent_to = TEXT_ALL_CUSTOMERS;
            break;
          case '**D':
            $mail_query = xtc_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'");
            $mail_sent_to = TEXT_NEWSLETTER_CUSTOMERS;
            break;
          default:
            $customers_email_address = xtc_db_prepare_input($_POST['customers_email_address']);

            $mail_query = xtc_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_email_address = '" . xtc_db_input($customers_email_address) . "'");
            $mail_sent_to = $_POST['customers_email_address'];
            if ($_POST['email_to']) {
              $mail_sent_to = $_POST['email_to'];
            }
            break;
        }

    ersetzen mit:
    Code: PHP  [Auswählen]
        switch ($_POST['customers_email_address']) {
          case '***':
            $mail_sent_to = TEXT_ALL_CUSTOMERS;
            $where = "account_type = 0";
            break;
          case '**D':
            $mail_sent_to = TEXT_NEWSLETTER_CUSTOMERS;
            $where = "account_type = 0 AND customers_newsletter = 1";
            break;
          default:
            $mail_sent_to = !empty($_POST['email_to']) ? $_POST['email_to'] : $_POST['customers_email_address'];
            $where = "customers_email_address = '" . xtc_db_input($_POST['customers_email_address']) . "'";
            break;
        }
        $mail_query = xtc_db_query("
            SELECT customers_firstname, customers_lastname, customers_email_address
              FROM "
    . TABLE_CUSTOMERS . "
             WHERE $where
          GROUP BY customers_email_address"
    );

    Damit wird an jede E-Mailadresse nur eine Mail geschickt und Gast-Konten werden bei *** (an alle Kunden) und **D (Newsletter-Kunden~!=doi) ignoriert.

    Bitte testet die Änderungen, damit ich diese übernehmen kann.



    Hier mal ein paar Datenbankabfragen um doppelt verschickte Gutscheine aufzulisten:

    Code: SQL  [Auswählen]
    SELECT *
    FROM coupon_email_track
    WHERE (emailed_to, date_sent) IN (
       SELECT emailed_to,date_sent
         FROM coupon_email_track
     GROUP BY emailed_to,DATE_FORMAT(date_sent, '%Y%m%d%H')
       HAVING COUNT(*)>1 )

    Code: SQL  [Auswählen]
    SELECT COUNT(emailed_to) AS anzahl,
           cmt.emailed_to,
           GROUP_CONCAT(cmt.coupon_id) AS id,
           GROUP_CONCAT(c.coupon_code) AS code,
           GROUP_CONCAT(c.coupon_amount) AS amount,
           GROUP_CONCAT(c.coupon_active) AS active
      FROM coupon_email_track AS cmt
    LEFT JOIN coupons AS c ON c.coupon_id = cmt.coupon_id
    WHERE emailed_to NOT LIKE '%@shopname.de'
    GROUP BY emailed_to,DATE_FORMAT(date_sent, '%Y%m%d%H')
    HAVING COUNT(*)>1
    ORDER BY date_sent

    einen schönen Wochenstart,
    h-h-h
    2 Antworten
    692 Aufrufe
    09. Dezember 2022, 17:40:01 von Karfunkel
    5 Antworten
    2798 Aufrufe
    10. Dezember 2013, 00:59:50 von web28
    21 Antworten
    2899 Aufrufe
    17. Mai 2023, 22:17:55 von karsta.de